]> git.cameronkatri.com Git - mandoc.git/blobdiff - main.c
Prefix messages about bad command line options and arguments
[mandoc.git] / main.c
diff --git a/main.c b/main.c
index c14977615a6b32a6a324f4c3ba6a0595873771e9..2323cd8daba83076aae9e11604dbe3c8139b5bb0 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,4 +1,4 @@
-/*     $Id: main.c,v 1.174 2014/06/20 16:11:42 schwarze Exp $ */
+/*     $Id: main.c,v 1.176 2014/06/21 16:18:25 schwarze Exp $ */
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>
 /*
  * Copyright (c) 2008, 2009, 2010, 2011 Kristaps Dzonsons <kristaps@bsd.lv>
  * Copyright (c) 2010, 2011, 2012, 2014 Ingo Schwarze <schwarze@openbsd.org>
@@ -108,13 +108,14 @@ main(int argc, char *argv[])
                case 'I':
                        if (strncmp(optarg, "os=", 3)) {
                                fprintf(stderr,
                case 'I':
                        if (strncmp(optarg, "os=", 3)) {
                                fprintf(stderr,
-                                   "-I%s: Bad argument\n", optarg);
+                                   "%s: -I%s: Bad argument\n",
+                                   progname, optarg);
                                return((int)MANDOCLEVEL_BADARG);
                        }
                        if (defos) {
                                fprintf(stderr,
                                return((int)MANDOCLEVEL_BADARG);
                        }
                        if (defos) {
                                fprintf(stderr,
-                                   "-I%s: Duplicate argument\n",
-                                   optarg);
+                                   "%s: -I%s: Duplicate argument\n",
+                                   progname, optarg);
                                return((int)MANDOCLEVEL_BADARG);
                        }
                        defos = mandoc_strdup(optarg + 3);
                                return((int)MANDOCLEVEL_BADARG);
                        }
                        defos = mandoc_strdup(optarg + 3);
@@ -324,7 +325,8 @@ moptions(int *options, char *arg)
        else if (0 == strcmp(arg, "an"))
                *options |= MPARSE_MAN;
        else {
        else if (0 == strcmp(arg, "an"))
                *options |= MPARSE_MAN;
        else {
-               fprintf(stderr, "%s: Bad argument\n", arg);
+               fprintf(stderr, "%s: -m%s: Bad argument\n",
+                   progname, arg);
                return(0);
        }
 
                return(0);
        }
 
@@ -357,7 +359,8 @@ toptions(struct curparse *curp, char *arg)
        else if (0 == strcmp(arg, "pdf"))
                curp->outtype = OUTT_PDF;
        else {
        else if (0 == strcmp(arg, "pdf"))
                curp->outtype = OUTT_PDF;
        else {
-               fprintf(stderr, "%s: Bad argument\n", arg);
+               fprintf(stderr, "%s: -T%s: Bad argument\n",
+                   progname, arg);
                return(0);
        }
 
                return(0);
        }
 
@@ -395,7 +398,8 @@ woptions(struct curparse *curp, char *arg)
                        curp->wlevel = MANDOCLEVEL_FATAL;
                        break;
                default:
                        curp->wlevel = MANDOCLEVEL_FATAL;
                        break;
                default:
-                       fprintf(stderr, "-W%s: Bad argument\n", o);
+                       fprintf(stderr, "%s: -W%s: Bad argument\n",
+                           progname, o);
                        return(0);
                }
        }
                        return(0);
                }
        }
@@ -408,9 +412,13 @@ mmsg(enum mandocerr t, enum mandoclevel lvl,
                const char *file, int line, int col, const char *msg)
 {
 
                const char *file, int line, int col, const char *msg)
 {
 
-       fprintf(stderr, "%s: %s:%d:%d: %s: %s", progname,
-           file, line, col + 1,
-           mparse_strlevel(lvl), mparse_strerror(t));
+       fprintf(stderr, "%s: %s:", progname, file);
+
+       if (line)
+               fprintf(stderr, "%d:%d:", line, col + 1);
+
+       fprintf(stderr, " %s: %s", mparse_strlevel(lvl),
+           mparse_strerror(t));
 
        if (msg)
                fprintf(stderr, ": %s", msg);
 
        if (msg)
                fprintf(stderr, ": %s", msg);