diff --git a/src/client/main.c b/src/client/main.c index 3c017a49a7cc06ba068f0a1cf665eb3c1a9d0e71..7a82c09b69fb0f67b1ad66f7008eba08d2e70313 100644 --- a/src/client/main.c +++ b/src/client/main.c @@ -855,7 +855,9 @@ int ParseArguments(int argc, char *argv[]) // If it doesn't start with a '-', or -- has been seen // XXX: Hack - If parsing "user type", don't parse - options bool hack_usertype = (i > 2 && strcmp(argv[i-2], "user") == 0 && strcmp(argv[i-1], "type") == 0); - if( rest_free || arg[0] != '-' || hack_usertype ) + // XXX: Hack - Treat negative numbers as free + bool hack_is_int = (arg[0] == '-' && isdigit(arg[1]) != 0); + if( rest_free || arg[0] != '-' || hack_usertype || hack_is_int ) { if( giTextArgc == MAX_TXT_ARGS ) {