projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
export MM_CHARSET in mhbuild test
[mmh]
/
uip
/
mhl.c
diff --git
a/uip/mhl.c
b/uip/mhl.c
index
09fa366
..
f3f7477
100644
(file)
--- a/
uip/mhl.c
+++ b/
uip/mhl.c
@@
-13,6
+13,10
@@
#include <h/tws.h>
#include <h/utils.h>
#include <signal.h>
#include <h/tws.h>
#include <h/utils.h>
#include <signal.h>
+#include <ctype.h>
+#include <sys/stat.h>
+#include <locale.h>
+#include <sysexits.h>
/*
** MAJOR BUG:
/*
** MAJOR BUG:
@@
-230,30
+234,30
@@
main(int argc, char **argv)
switch (smatch(++cp, switches)) {
case AMBIGSW:
ambigsw(cp, switches);
switch (smatch(++cp, switches)) {
case AMBIGSW:
ambigsw(cp, switches);
- exit(1);
+ exit(EX_USAGE);
case UNKWNSW:
case UNKWNSW:
- adios(NULL, "-%s unknown\n", cp);
+ adios(EX_USAGE, NULL, "-%s unknown\n", cp);
case HELPSW:
snprintf(buf, sizeof(buf), "%s [switches] [files ...]", invo_name);
print_help(buf, switches, 1);
case HELPSW:
snprintf(buf, sizeof(buf), "%s [switches] [files ...]", invo_name);
print_help(buf, switches, 1);
- exit(0);
+ exit(argc == 2 ? EX_OK : EX_USAGE);
case VERSIONSW:
print_version(invo_name);
case VERSIONSW:
print_version(invo_name);
- exit(0);
+ exit(argc == 2 ? EX_OK : EX_USAGE);
case FORMSW:
if (!(form = *argp++) || *form == '-')
case FORMSW:
if (!(form = *argp++) || *form == '-')
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
continue;
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
argp[-2]);
continue;
case WIDTHSW:
if (!(cp = *argp++) || *cp == '-')
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
if ((width = atoi(cp)) < 1)
argp[-2]);
if ((width = atoi(cp)) < 1)
- adios(NULL, "bad argument %s %s",
+ adios(EX_USAGE, NULL, "bad argument %s %s",
argp[-2], cp);
continue;
argp[-2], cp);
continue;
@@
-287,7
+291,7
@@
main(int argc, char **argv)
fflush(stdout);
if (ferror(stdout)) {
fflush(stdout);
if (ferror(stdout)) {
- adios("output", "error writing");
+ adios(EX_IOERR, "output", "error writing");
}
return exitstat;
}
return exitstat;
@@
-318,7
+322,7
@@
mhl_format(char *file, int width)
}
if ((fp = fopen(etcpath(file), "r")) == NULL)
}
if ((fp = fopen(etcpath(file), "r")) == NULL)
- adios(file, "unable to open format file");
+ adios(EX_IOERR, file, "unable to open format file");
if (fstat(fileno(fp), &st) != NOTOK) {
mtime = st.st_mtime;
if (fstat(fileno(fp), &st) != NOTOK) {
mtime = st.st_mtime;
@@
-380,7
+384,7
@@
mhl_format(char *file, int width)
parptr = bp;
while (*parptr) {
if (evalvar(&global))
parptr = bp;
while (*parptr) {
if (evalvar(&global))
- adios(NULL, "format file syntax error: %s", bp);
+ adios(EX_CONFIG, NULL, "format file syntax error: %s", bp);
if (*parptr)
parptr++;
}
if (*parptr)
parptr++;
}
@@
-391,7
+395,7
@@
mhl_format(char *file, int width)
while (*parptr == ':' || *parptr == ',') {
parptr++;
if (evalvar(c1))
while (*parptr == ':' || *parptr == ',') {
parptr++;
if (evalvar(c1))
- adios(NULL, "format file syntax error: %s", bp);
+ adios(EX_CONFIG, NULL, "format file syntax error: %s", bp);
}
if (!c1->c_fstr && global.c_fstr) {
if ((c1->c_flags & DATEFMT) &&
}
if (!c1->c_fstr && global.c_fstr) {
if ((c1->c_flags & DATEFMT) &&
@@
-405,7
+409,7
@@
mhl_format(char *file, int width)
continue;
default:
continue;
default:
- adios(NULL, "format file syntax error: %s", bp);
+ adios(EX_CONFIG, NULL, "format file syntax error: %s", bp);
}
}
fclose(fp);
}
}
fclose(fp);
@@
-697,7
+701,7
@@
mhlfile(FILE *fp, char *mname, int ofilen, int ofilec)
return;
default:
return;
default:
- adios(NULL, "getfld() returned %d", state);
+ adios(EX_SOFTWARE, NULL, "getfld() returned %d", state);
}
}
}
}
}
}
@@
-777,8
+781,8
@@
mcomp_format(struct mcomp *c1, struct mcomp *c2)
(q = &pq)->pq_next = NULL;
while ((cp = getname(ap))) {
if ((p = (struct pqpair *)
(q = &pq)->pq_next = NULL;
while ((cp = getname(ap))) {
if ((p = (struct pqpair *)
- calloc((size_t) 1, sizeof(*p))) == NULL)
- adios(NULL, "unable to allocate pqpair memory");
+ mh_xcalloc((size_t) 1, sizeof(*p))) == NULL)
+ adios(EX_OSERR, NULL, "unable to allocate pqpair memory");
if ((mp = getm(cp, NULL, 0, AD_NAME, error)) == NULL) {
p->pq_text = getcpy(cp);
if ((mp = getm(cp, NULL, 0, AD_NAME, error)) == NULL) {
p->pq_text = getcpy(cp);
@@
-825,8
+829,8
@@
add_queue(struct mcomp **head, struct mcomp **tail, char *name,
{
struct mcomp *c1;
{
struct mcomp *c1;
- if ((c1 = (struct mcomp *) calloc((size_t) 1, sizeof(*c1))) == NULL)
- adios(NULL, "unable to allocate comp memory");
+ if ((c1 = (struct mcomp *) mh_xcalloc((size_t) 1, sizeof(*c1))) == NULL)
+ adios(EX_OSERR, NULL, "unable to allocate comp memory");
c1->c_flags = flags & ~INIT;
if ((c1->c_name = name ? getcpy(name) : NULL))
c1->c_flags = flags & ~INIT;
if ((c1->c_name = name ? getcpy(name) : NULL))
@@
-889,7
+893,7
@@
putcomp(struct mcomp *c1, struct mcomp *c2, int flag)
if ((ovtxt = c1->c_ovtxt ? c1->c_ovtxt : global.c_ovtxt) == NULL)
ovtxt = "";
if (wid < ovoff + strlen(ovtxt) + 5)
if ((ovtxt = c1->c_ovtxt ? c1->c_ovtxt : global.c_ovtxt) == NULL)
ovtxt = "";
if (wid < ovoff + strlen(ovtxt) + 5)
- adios(NULL, "component: %s width(%d) too small for overflow(%d)", c1->c_name, wid, ovoff + strlen(ovtxt) + 5);
+ adios(EX_SOFTWARE, NULL, "component: %s width(%d) too small for overflow(%d)", c1->c_name, wid, ovoff + strlen(ovtxt) + 5);
onelp = NULL;
if (c1->c_flags & CLEARTEXT) {
onelp = NULL;
if (c1->c_flags & CLEARTEXT) {