From c6c23ca5b4cf58da873b275fd3eedd9a6c659555 Mon Sep 17 00:00:00 2001 From: sumuel Date: Fri, 14 Aug 2026 01:04:19 +0100 Subject: Check strtol and make it print the true name in help --- main.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 2b90d43..285ce53 100644 --- a/main.c +++ b/main.c @@ -1,20 +1,21 @@ #include #include -int print_help(void) { - printf("Usage: collatz " - "\nMade by samuel@yakubos.org\n\n"); +int print_help(char *argv[]) { + printf("Usage: %s " + "\nMade by samuel@yakubos.org\n\n", argv[0]); return 1; } int main(int argc, char *argv[]) { - if ( argc < 2 || argc > 2) return print_help(); + if ( argc < 2 || argc > 2) return print_help(argv); char *endptr; int int_number = strtol(argv[1], &endptr, 10); + if ( *endptr != '\0' ) return print_help(argv); /* check the number for nonsense */ - if ( int_number <= 0 ) return print_help(); + if ( int_number <= 0 ) return print_help(argv); unsigned long long long_num = int_number; int steps = 0; -- cgit v1.2.3