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;