X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/060475000a2c096fbcab4a028832af774df1ee7b..63621a81d16ab743de6b57d47578a9a2c670ad22:/uip/mkstemp.c diff --git a/uip/mkstemp.c b/uip/mkstemp.c index 16ddf644..f28ccf24 100644 --- a/uip/mkstemp.c +++ b/uip/mkstemp.c @@ -1,5 +1,4 @@ -/* - * mkstemp.c -- create a temporary file +/* mkstemp.c -- create a temporary file * * This code is Copyright (c) 2014 by the authors of nmh. * See the COPYRIGHT file in the root directory of the nmh @@ -16,6 +15,7 @@ #endif /* HAVE_CONFIG_H */ #include #include +#include #include #include @@ -23,8 +23,8 @@ # define HAVE_MKSTEMPS 0 #endif /* ! HAVE_MKSTEMPS */ -char *build_template(const char *, const char *, const char *); -void process_args(int, char **, const char **, const char **, const char **); +static char *build_template(const char *, const char *, const char *); +static void process_args(int, char **, const char **, const char **, const char **); /* * Use a template of the form: @@ -42,13 +42,15 @@ main(int argc, char *argv[]) { process_args(argc, argv, &directory, &prefix, &suffix); if ((template = build_template(directory, prefix, suffix)) == NULL) { - return -1; + return 1; } if ((suffix_len = strlen(suffix)) > 0) { # if HAVE_MKSTEMPS if ((fd = mkstemps(template, suffix_len)) < 0) { perror("mkstemps"); } -# endif /* HAVE_MKSTEMPS */ +# else /* ! HAVE_MKSTEMPS */ + fd = 0; +# endif /* ! HAVE_MKSTEMPS */ } else { if ((fd = mkstemp(template)) < 0) { perror("mkstemp"); } } @@ -60,11 +62,11 @@ main(int argc, char *argv[]) { free(template); - return fd >= 0 ? 0 : -1; + return fd >= 0 ? 0 : 1; } -char * +static char * build_template(const char *directory, const char *prefix, const char *suffix) { const char pattern[] = "XXXXXX"; size_t len, directory_len, pathsep_len, prefix_len, suffix_len; @@ -102,20 +104,21 @@ build_template(const char *directory, const char *prefix, const char *suffix) { tp += sizeof pattern - 1; (void) strncpy(tp, suffix, suffix_len); - tp += suffix_len; + /* tp += suffix_len; */ template[len-1] = '\0'; return template; - } else { - perror("malloc"); - return NULL; } + + perror("malloc"); + return NULL; } #if NMH #include +#include #if HAVE_MKSTEMPS # define MHFIXMSG_SWITCHES \ @@ -140,7 +143,7 @@ DEFINE_SWITCH_ENUM(MHFIXMSG); DEFINE_SWITCH_ARRAY(MHFIXMSG, switches); #undef X -void +static void process_args(int argc, char **argv, const char **directory, const char **prefix, const char **suffix) { char **argp, **arguments, *cp, buf[100]; @@ -148,7 +151,7 @@ process_args(int argc, char **argv, const char **directory, NMH_UNUSED(suffix); # endif /* ! HAVE_MKSTEMPS */ - if (nmh_init(argv[0], 1)) { done(NOTOK); } + if (nmh_init(argv[0], 2)) { done(1); } arguments = getarguments (invo_name, argc, argv, 1); argp = arguments; @@ -160,12 +163,12 @@ process_args(int argc, char **argv, const char **directory, switch (smatch(++cp, switches)) { case AMBIGSW: ambigsw(cp, switches); - done(NOTOK); + done(1); case UNKWNSW: - advise (NULL, "-%s unknown", cp); + inform("-%s unknown", cp); (void) snprintf(buf, sizeof buf, "%s [switches]", invo_name); print_help(buf, switches, 1); - done(NOTOK); + done(1); case HELPSW: (void) snprintf(buf, sizeof buf, "%s [switches]", invo_name); print_help(buf, switches, 1); @@ -204,7 +207,7 @@ process_args(int argc, char **argv, const char **directory, } } #else /* ! NMH */ -void +static void process_args(int argc, char **argv, const char **directory, const char **prefix, const char **suffix) { # if HAVE_MKSTEMPS @@ -233,7 +236,7 @@ process_args(int argc, char **argv, const char **directory, exit(0); default: (void) fprintf(stderr, usage, argv[0]); - exit(-1); + exit(1); } } }