avifenc: Exit with status 1 on syntax error. (#102) On syntax error, the main() function should return 1 after printing the syntax help message. The only time main() should return 0 after printing the syntax help message is when -h or --help is specified.
diff --git a/apps/avifenc.c b/apps/avifenc.c index 9c4fa46..7a59b48 100644 --- a/apps/avifenc.c +++ b/apps/avifenc.c
@@ -17,7 +17,7 @@ } \ arg = argv[++argIndex] -static int syntax(void) +static void syntax(void) { printf("Syntax: avifenc [options] input.y4m output.avif\n"); printf("Options:\n"); @@ -52,7 +52,6 @@ printf(" --imir AXIS : Add imir property (mirroring). 0=vertical, 1=horizontal\n"); printf("\n"); avifPrintVersions(); - return 0; } // This is *very* arbitrary, I just want to set people's expectations a bit @@ -129,7 +128,8 @@ const char * outputFilename = NULL; if (argc < 2) { - return syntax(); + syntax(); + return 1; } int jobs = 1; @@ -156,7 +156,8 @@ const char * arg = argv[argIndex]; if (!strcmp(arg, "-h") || !strcmp(arg, "--help")) { - return syntax(); + syntax(); + return 0; } else if (!strcmp(arg, "-j") || !strcmp(arg, "--jobs")) { NEXTARG(); jobs = atoi(arg); @@ -263,6 +264,7 @@ outputFilename = arg; } else { fprintf(stderr, "Too many positional arguments: %s\n", arg); + syntax(); return 1; } } @@ -271,7 +273,8 @@ } if (!inputFilename || !outputFilename) { - return syntax(); + syntax(); + return 1; } int returnCode = 0;