summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2025-01-19 08:25:53 -0500
committerJunio C Hamano <gitster@pobox.com>2025-01-21 08:42:56 -0800
commit98046591b96a213e05d17569b1645e772df91b90 (patch)
tree2f14c70c38f233542ce457b372e57a351653c512
parentf1299bff26a20b70bb5b8440526a2bd3c6de298a (diff)
index-pack, unpack-objects: use skip_prefix to avoid magic number
When parsing --pack_header=, we manually skip 14 bytes to the data. Let's use skip_prefix() to do this automatically. Note that we overwrite our pointer to the front of the string, so we have to add more context to the error message. We could avoid this by declaring an extra pointer to hold the value, but I think the modified message is actually preferable; it should give translators a bit more context. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/index-pack.c6
-rw-r--r--builtin/unpack-objects.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index 5f0ff1ce04..d80e054581 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -1802,11 +1802,11 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
warning(_("no threads support, ignoring %s"), arg);
nr_threads = 1;
}
- } else if (starts_with(arg, "--pack_header=")) {
- if (parse_pack_header_option(arg + 14,
+ } else if (skip_prefix(arg, "--pack_header=", &arg)) {
+ if (parse_pack_header_option(arg,
input_buffer,
&input_len) < 0)
- die(_("bad %s"), arg);
+ die(_("bad --pack_header: %s"), arg);
} else if (!strcmp(arg, "-v")) {
verbose = 1;
} else if (!strcmp(arg, "--progress-title")) {
diff --git a/builtin/unpack-objects.c b/builtin/unpack-objects.c
index fc3de6dac8..028cfe175e 100644
--- a/builtin/unpack-objects.c
+++ b/builtin/unpack-objects.c
@@ -640,10 +640,10 @@ int cmd_unpack_objects(int argc, const char **argv, const char *prefix UNUSED)
fsck_set_msg_types(&fsck_options, arg);
continue;
}
- if (starts_with(arg, "--pack_header=")) {
- if (parse_pack_header_option(arg + 14,
+ if (skip_prefix(arg, "--pack_header=", &arg)) {
+ if (parse_pack_header_option(arg,
buffer, &len) < 0)
- die(_("bad %s"), arg);
+ die(_("bad --pack_header: %s"), arg);
continue;
}
if (skip_prefix(arg, "--max-input-size=", &arg)) {