From 2a514ed8058e35841d3d7b05a898991b83e5eaf0 Mon Sep 17 00:00:00 2001 From: Charles Bailey Date: Sun, 21 Jun 2015 19:25:44 +0100 Subject: parse-options: move unsigned long option parsing out of pack-objects.c The unsigned long option parsing (including 'k'/'m'/'g' suffix parsing) is more widely applicable. Add support for OPT_MAGNITUDE to parse-options.h and change pack-objects.c use this support. The error behavior on parse errors follows that of OPT_INTEGER. The name of the option that failed to parse is reported with a brief message describing the expect format for the option argument and then the full usage message for the command invoked. This differs from the previous behavior for OPT_ULONG used in pack-objects for --max-pack-size and --window-memory which used to display the value supplied in the error message and did not display the full usage message. Signed-off-by: Charles Bailey Signed-off-by: Junio C Hamano --- test-parse-options.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'test-parse-options.c') diff --git a/test-parse-options.c b/test-parse-options.c index 7c492cf724..2c8c8f18ed 100644 --- a/test-parse-options.c +++ b/test-parse-options.c @@ -4,6 +4,7 @@ static int boolean = 0; static int integer = 0; +static unsigned long magnitude = 0; static unsigned long timestamp; static int abbrev = 7; static int verbose = 0, dry_run = 0, quiet = 0; @@ -48,6 +49,7 @@ int main(int argc, char **argv) OPT_GROUP(""), OPT_INTEGER('i', "integer", &integer, "get a integer"), OPT_INTEGER('j', NULL, &integer, "get a integer, too"), + OPT_MAGNITUDE('m', "magnitude", &magnitude, "get a magnitude"), OPT_SET_INT(0, "set23", &integer, "set integer to 23", 23), OPT_DATE('t', NULL, ×tamp, "get timestamp of