diff options
| -rw-r--r-- | main.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -1,20 +1,21 @@ #include <stdio.h> #include <stdlib.h> -int print_help(void) { - printf("Usage: collatz <number>" - "\nMade by samuel@yakubos.org\n\n"); +int print_help(char *argv[]) { + printf("Usage: %s <number>" + "\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; |