]> git.ozlabs.org Git - ccan-lca-2011.git/blobdiff - ccan/opt/opt.c
opt: change / separator to |
[ccan-lca-2011.git] / ccan / opt / opt.c
index bae3c665c93e7594bb4c5e7e32880f5e73b13952..0929daff65eaa3af8bade32de748d37dd387d026 100644 (file)
@@ -17,7 +17,7 @@ const char *opt_argv0;
 /* Returns string after first '-'. */
 static const char *first_name(const char *names, unsigned *len)
 {
-       *len = strcspn(names + 1, "/= ");
+       *len = strcspn(names + 1, "|= ");
        return names + 1;
 }
 
@@ -275,7 +275,7 @@ static void parse_fail(void (*errlog)(const char *fmt, ...),
                errlog("%s: -%c: %s", opt_argv0, shortopt, problem);
        else
                errlog("%s: --%.*s: %s", opt_argv0,
-                      strcspn(longopt, "/"), longopt, problem);
+                      strcspn(longopt, "|"), longopt, problem);
 }
 
 /* Parse your arguments. */
@@ -347,9 +347,21 @@ void opt_log_stderr(const char *fmt, ...)
 
        va_start(ap, fmt);
        vfprintf(stderr, fmt, ap);
+       fprintf(stderr, "\n");
        va_end(ap);
 }
 
+void opt_log_stderr_exit(const char *fmt, ...)
+{
+       va_list ap;
+
+       va_start(ap, fmt);
+       vfprintf(stderr, fmt, ap);
+       fprintf(stderr, "\n");
+       va_end(ap);
+       exit(1);
+}
+
 char *opt_invalid_argument(const char *arg)
 {
        char *str = malloc(sizeof("Invalid argument '%s'") + strlen(arg));