X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/62a4b06bbf769ad4fad537a6facf9a23cecba1f8..05e9c3c2e7be6c54e31121132f43db83597381e8:/main.c diff --git a/main.c b/main.c index 60ad74f..405e6ef 100644 --- a/main.c +++ b/main.c @@ -85,7 +85,7 @@ int main(int argc, char **argv) { */ while (--argc) { char *p = *++argv; - if (*p == '-') { + if (*p == '-' && p[1]) { /* * An option. */ @@ -128,11 +128,11 @@ int main(int argc, char **argv) { /* do nothing */; } else if (!strcmp(opt, "-input-charset")) { if (!val) { - errs = TRUE, error(err_optnoarg, opt); + errs = TRUE, err_optnoarg(opt); } else { int charset = charset_from_localenc(val); if (charset == CS_NONE) { - errs = TRUE, error(err_cmdcharset, val); + errs = TRUE, err_cmdcharset(val); } else { input_charset = charset; } @@ -155,7 +155,7 @@ int main(int argc, char **argv) { } else if (!strcmp(opt, "-precise")) { reportcols = 1; } else { - errs = TRUE, error(err_nosuchopt, opt); + errs = TRUE, err_nosuchopt(opt); } } p = NULL; @@ -200,7 +200,7 @@ int main(int argc, char **argv) { char opt[2]; opt[0] = c; opt[1] = '\0'; - errs = TRUE, error(err_optnoarg, opt); + errs = TRUE, err_optnoarg(opt); } /* * Now c is the option and p is the parameter. @@ -224,7 +224,7 @@ int main(int argc, char **argv) { *r = '\0'; /* XXX ad-hoc diagnostic */ if (!strcmp(s, "input-charset")) - error(err_futileopt, "Cinput-charset", + err_futileopt("Cinput-charset", "; use --input-charset"); cmdline_cfg_add(para, s); r = s; @@ -256,7 +256,7 @@ int main(int argc, char **argv) { char opt[2]; opt[0] = c; opt[1] = '\0'; - errs = TRUE, error(err_nosuchopt, opt); + errs = TRUE, err_nosuchopt(opt); } } } @@ -264,7 +264,10 @@ int main(int argc, char **argv) { /* * A non-option argument. */ - infiles[nfiles++] = p; + if (!strcmp(p, "-")) + infiles[nfiles++] = NULL; /* special case: read stdin */ + else + infiles[nfiles++] = p; } } @@ -277,7 +280,7 @@ int main(int argc, char **argv) { * Do the work. */ if (nfiles == 0 && !list_fonts) { - error(err_noinput); + err_noinput(); usage(); exit(EXIT_FAILURE); }