projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
This is mmh-0.2
[mmh]
/
uip
/
slocal.c
diff --git
a/uip/slocal.c
b/uip/slocal.c
index
41f986d
..
eac77e4
100644
(file)
--- a/
uip/slocal.c
+++ b/
uip/slocal.c
@@
-28,6
+28,7
@@
#include <stdarg.h>
#include <sys/stat.h>
#include <locale.h>
#include <stdarg.h>
#include <sys/stat.h>
#include <locale.h>
+#include <sysexits.h>
#ifdef INITGROUPS_HEADER
#include INITGROUPS_HEADER
#ifdef INITGROUPS_HEADER
#include INITGROUPS_HEADER
@@
-189,72
+190,72
@@
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", cp);
+ adios(EX_USAGE, NULL, "-%s unknown", cp);
case HELPSW:
snprintf(buf, sizeof(buf), "%s [switches] [address info sender]", invo_name);
print_help(buf, switches, 0);
case HELPSW:
snprintf(buf, sizeof(buf), "%s [switches] [address info sender]", invo_name);
print_help(buf, switches, 0);
- 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 ADDRSW:
if (!(addr = *argp++)) {
/* allow -xyz arguments */
case ADDRSW:
if (!(addr = *argp++)) {
/* allow -xyz arguments */
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case INFOSW:
if (!(info = *argp++)) {
/* allow -xyz arguments */
argp[-2]);
}
continue;
case INFOSW:
if (!(info = *argp++)) {
/* allow -xyz arguments */
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case USERSW:
if (!(user = *argp++)) {
/* allow -xyz arguments */
argp[-2]);
}
continue;
case USERSW:
if (!(user = *argp++)) {
/* allow -xyz arguments */
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case FILESW:
if (!(file = *argp++) || *file == '-') {
argp[-2]);
}
continue;
case FILESW:
if (!(file = *argp++) || *file == '-') {
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case SENDERSW:
if (!(sender = *argp++)) {
/* allow -xyz arguments */
argp[-2]);
}
continue;
case SENDERSW:
if (!(sender = *argp++)) {
/* allow -xyz arguments */
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case MAILBOXSW:
if (!(mbox = *argp++) || *mbox == '-') {
argp[-2]);
}
continue;
case MAILBOXSW:
if (!(mbox = *argp++) || *mbox == '-') {
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case HOMESW:
if (!(home = *argp++) || *home == '-') {
argp[-2]);
}
continue;
case HOMESW:
if (!(home = *argp++) || *home == '-') {
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
continue;
case MAILSW:
if (!(cp = *argp++) || *cp == '-') {
argp[-2]);
}
continue;
case MAILSW:
if (!(cp = *argp++) || *cp == '-') {
- adios(NULL, "missing argument to %s",
+ adios(EX_USAGE, NULL, "missing argument to %s",
argp[-2]);
}
if (mdlvr) {
argp[-2]);
}
if (mdlvr) {
- adios(NULL, "only one maildelivery file at a time!");
+ adios(EX_USAGE, NULL, "only one maildelivery file at a time!");
}
mdlvr = cp;
continue;
}
mdlvr = cp;
continue;
@@
-292,7
+293,7
@@
main(int argc, char **argv)
user = (cp = strchr(addr, '.')) ? ++cp : addr;
}
if (!(pw = getpwnam(user))) {
user = (cp = strchr(addr, '.')) ? ++cp : addr;
}
if (!(pw = getpwnam(user))) {
- adios(NULL, "no such local user as %s", user);
+ adios(EX_NOUSER, NULL, "no such local user as %s", user);
}
if (chdir(pw->pw_dir) == -1) {
}
if (chdir(pw->pw_dir) == -1) {
@@
-314,7
+315,7
@@
main(int argc, char **argv)
/* Record the delivery time */
if (!(now = dlocaltimenow())) {
/* Record the delivery time */
if (!(now = dlocaltimenow())) {
- adios(NULL, "unable to ascertain local time");
+ adios(EX_OSERR, NULL, "unable to ascertain local time");
}
snprintf(ddate, sizeof(ddate), "Delivery-Date: %s\n", dtimenow());
}
snprintf(ddate, sizeof(ddate), "Delivery-Date: %s\n", dtimenow());
@@
-326,14
+327,14
@@
main(int argc, char **argv)
/* getting message from file */
if ((tempfd = open(file, O_RDONLY)) == -1) {
/* getting message from file */
if ((tempfd = open(file, O_RDONLY)) == -1) {
- adios(file, "unable to open");
+ adios(EX_IOERR, file, "unable to open");
}
if (debug) {
debug_printf("retrieving message from file \"%s\"\n",
file);
}
if ((fd = copy_message(tempfd, tmpfil, 1)) == -1) {
}
if (debug) {
debug_printf("retrieving message from file \"%s\"\n",
file);
}
if ((fd = copy_message(tempfd, tmpfil, 1)) == -1) {
- adios(NULL, "unable to create temporary file");
+ adios(EX_CANTCREAT, NULL, "unable to create temporary file");
}
close(tempfd);
} else {
}
close(tempfd);
} else {
@@
-342,7
+343,7
@@
main(int argc, char **argv)
debug_printf("retrieving message from stdin\n");
}
if ((fd = copy_message(fileno(stdin), tmpfil, 1)) == -1) {
debug_printf("retrieving message from stdin\n");
}
if ((fd = copy_message(fileno(stdin), tmpfil, 1)) == -1) {
- adios(NULL, "unable to create temporary file");
+ adios(EX_CANTCREAT, NULL, "unable to create temporary file");
}
}
}
}
@@
-368,7
+369,7
@@
main(int argc, char **argv)
unlink(tmpfil);
if (!(fp = fdopen(fd, "r+"))) {
unlink(tmpfil);
if (!(fp = fdopen(fd, "r+"))) {
- adios(NULL, "unable to access temporary file");
+ adios(EX_IOERR, NULL, "unable to access temporary file");
}
/* If no sender given, extract it from envelope information. */
}
/* If no sender given, extract it from envelope information. */
@@
-1032,7
+1033,7
@@
usr_pipe(int fd, char *cmd, char *pgm, char **vec, int suppress)
m_putenv("PATH", path);
execvp(pgm, vec);
m_putenv("PATH", path);
execvp(pgm, vec);
- _exit(-1);
+ _exit(EX_OSERR);
default:
/* parent process */
default:
/* parent process */