projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
test/common.sh: new file for common utility functions for the test scripts.
[mmh]
/
uip
/
slocal.c
diff --git
a/uip/slocal.c
b/uip/slocal.c
index
0e77916
..
4a8875e
100644
(file)
--- a/
uip/slocal.c
+++ b/
uip/slocal.c
@@
-16,9
+16,6
@@
*
* to their $HOME/.forward file.
*
*
* to their $HOME/.forward file.
*
- * Under MMDF-I, users should (symbolically) link
- * /usr/local/nmh/lib/slocal to $HOME/bin/rcvmail.
- *
*/
/* Changed to use getutent() and friends. Assumes that when getutent() exists,
*/
/* Changed to use getutent() and friends. Assumes that when getutent() exists,
@@
-32,6
+29,7
@@
#include <h/signals.h>
#include <h/tws.h>
#include <h/mts.h>
#include <h/signals.h>
#include <h/tws.h>
#include <h/mts.h>
+#include <h/utils.h>
#include <pwd.h>
#include <signal.h>
#include <pwd.h>
#include <signal.h>
@@
-48,20
+46,14
@@
extern int initgroups(char*, int);
#endif
extern int initgroups(char*, int);
#endif
-
-#ifdef HAVE_DB1_NDBM_H
-#include <db1/ndbm.h>
-#else
-#ifdef HAVE_GDBM_NDBM_H
-#include <gdbm/ndbm.h>
-#else
-#if defined(HAVE_DB_H)
+/* This define is needed for Berkeley db v2 and above to
+ * make the header file expose the 'historical' ndbm APIs.
+ * We define it unconditionally because this is simple and
+ * harmless.
+ */
#define DB_DBM_HSEARCH 1
#define DB_DBM_HSEARCH 1
-#include <db.h>
-#else
-#include <ndbm.h>
-#endif
-#endif
+#ifdef NDBM_HEADER
+#include NDBM_HEADER
#endif
#include <utmp.h>
#endif
#include <utmp.h>
@@
-420,7
+412,8
@@
main (int argc, char **argv)
/* deliver the message */
status = localmail (fd, mdlvr);
/* deliver the message */
status = localmail (fd, mdlvr);
- return done (status != -1 ? RCV_MOK : RCV_MBX);
+ done (status != -1 ? RCV_MOK : RCV_MBX);
+ return 1;
}
}
@@
-562,7
+555,7
@@
usr_delivery (int fd, char *delivery, int su)
}
if (vecp > 5) {
}
if (vecp > 5) {
- if (!strcasecmp (vec[5], "select")) {
+ if (!mh_strcasecmp (vec[5], "select")) {
if (logged_in () != -1)
continue;
if (vecp > 7 && timely (vec[6], vec[7]) == -1)
if (logged_in () != -1)
continue;
if (vecp > 7 && timely (vec[6], vec[7]) == -1)
@@
-581,7
+574,7
@@
usr_delivery (int fd, char *delivery, int su)
* "default" matches only if the message hasn't
* been delivered yet.
*/
* "default" matches only if the message hasn't
* been delivered yet.
*/
- if (!strcasecmp (field, "default")) {
+ if (!mh_strcasecmp (field, "default")) {
if (won)
continue;
break;
if (won)
continue;
break;
@@
-611,7
+604,7
@@
usr_delivery (int fd, char *delivery, int su)
switch (*action) {
case 'q':
/* deliver to quoted pipe */
switch (*action) {
case 'q':
/* deliver to quoted pipe */
- if (strcasecmp (action, "qpipe"))
+ if (mh_strcasecmp (action, "qpipe"))
continue; /* else fall */
case '^':
expand (tmpbuf, string, fd);
continue; /* else fall */
case '^':
expand (tmpbuf, string, fd);
@@
-622,7
+615,7
@@
usr_delivery (int fd, char *delivery, int su)
case 'p':
/* deliver to pipe */
case 'p':
/* deliver to pipe */
- if (strcasecmp (action, "pipe"))
+ if (mh_strcasecmp (action, "pipe"))
continue; /* else fall */
case '|':
vec[2] = "sh";
continue; /* else fall */
case '|':
vec[2] = "sh";
@@
-635,12
+628,12
@@
usr_delivery (int fd, char *delivery, int su)
case 'f':
/* mbox format */
case 'f':
/* mbox format */
- if (!strcasecmp (action, "file")) {
+ if (!mh_strcasecmp (action, "file")) {
status = usr_file (fd, string, MBOX_FORMAT);
break;
}
/* deliver to nmh folder */
status = usr_file (fd, string, MBOX_FORMAT);
break;
}
/* deliver to nmh folder */
- else if (strcasecmp (action, "folder"))
+ else if (mh_strcasecmp (action, "folder"))
continue; /* else fall */
case '+':
status = usr_folder (fd, string);
continue; /* else fall */
case '+':
status = usr_folder (fd, string);
@@
-648,12
+641,12
@@
usr_delivery (int fd, char *delivery, int su)
case 'm':
/* mmdf format */
case 'm':
/* mmdf format */
- if (!strcasecmp (action, "mmdf")) {
+ if (!mh_strcasecmp (action, "mmdf")) {
status = usr_file (fd, string, MMDF_FORMAT);
break;
}
/* mbox format */
status = usr_file (fd, string, MMDF_FORMAT);
break;
}
/* mbox format */
- else if (strcasecmp (action, "mbox"))
+ else if (mh_strcasecmp (action, "mbox"))
continue; /* else fall */
case '>':
continue; /* else fall */
case '>':
@@
-663,7
+656,7
@@
usr_delivery (int fd, char *delivery, int su)
case 'd':
/* ignore message */
case 'd':
/* ignore message */
- if (strcasecmp (action, "destroy"))
+ if (mh_strcasecmp (action, "destroy"))
continue;
status = 0;
break;
continue;
status = 0;
break;
@@
-691,7
+684,7
@@
static int
split (char *cp, char **vec)
{
int i;
split (char *cp, char **vec)
{
int i;
- char *s;
+ unsigned char *s;
s = cp;
s = cp;
@@
-787,7
+780,7
@@
parse (int fd)
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
lp = add (field, lp);
}
for (p = hdrs; p->p_name; p++) {
- if (!strcasecmp (p->p_name, name)) {
+ if (!mh_strcasecmp (p->p_name, name)) {
if (!(p->p_flags & P_HID)) {
if ((cp = p->p_value)) {
if (p->p_flags & P_ADR) {
if (!(p->p_flags & P_HID)) {
if ((cp = p->p_value)) {
if (p->p_flags & P_ADR) {
@@
-941,7
+934,7
@@
static struct pair *
lookup (struct pair *pairs, char *key)
{
for (; pairs->p_name; pairs++)
lookup (struct pair *pairs, char *key)
{
for (; pairs->p_name; pairs++)
- if (!strcasecmp (pairs->p_name, key))
+ if (!mh_strcasecmp (pairs->p_name, key))
return pairs;
return NULL;
return pairs;
return NULL;
@@
-966,7
+959,7
@@
logged_in (void)
while ((utp = getutent()) != NULL) {
if (
while ((utp = getutent()) != NULL) {
if (
-#ifdef HAVE_UTMP_UT_TYPE
+#ifdef HAVE_STRUCT_UTMP_UT_TYPE
utp->ut_type == USER_PROCESS
&&
#endif
utp->ut_type == USER_PROCESS
&&
#endif
@@
-1196,10
+1189,6
@@
usr_pipe (int fd, char *cmd, char *pgm, char **vec, int suppress)
status = pidwait (child_id, 0);
alarm (0);
status = pidwait (child_id, 0);
alarm (0);
-#ifdef MMDFI
- if (status == RP_MOK || status == RP_OK)
- status = 0;
-#endif
if (verbose) {
if (status == 0)
verbose_printf (", success.\n");
if (verbose) {
if (status == 0)
verbose_printf (", success.\n");
@@
-1244,8
+1233,8
@@
static void
get_sender (char *envelope, char **sender)
{
int i;
get_sender (char *envelope, char **sender)
{
int i;
- char *cp;
- char buffer[BUFSIZ];
+ unsigned char *cp;
+ unsigned char buffer[BUFSIZ];
if (envelope == NULL) {
*sender = getcpy ("");
if (envelope == NULL) {
*sender = getcpy ("");
@@
-1372,11
+1361,11
@@
you_lose:
/* return path for UUCP style addressing */
ep = strchr(++hp, '\n');
snprintf (buffer, sizeof(buffer), "Return-Path: %.*s!%.*s\n",
/* return path for UUCP style addressing */
ep = strchr(++hp, '\n');
snprintf (buffer, sizeof(buffer), "Return-Path: %.*s!%.*s\n",
- ep - hp, hp, cp - fp, fp);
+ (int)(ep - hp), hp, (int)(cp - fp), fp);
} else {
/* return path for standard domain addressing */
snprintf (buffer, sizeof(buffer), "Return-Path: %.*s\n",
} else {
/* return path for standard domain addressing */
snprintf (buffer, sizeof(buffer), "Return-Path: %.*s\n",
- cp - fp, fp);
+ (int)(cp - fp), fp);
}
/* Add Return-Path header to message */
}
/* Add Return-Path header to message */
@@
-1424,7
+1413,7
@@
static char *
trim (char *cp)
{
char buffer[BUFSIZ*4];
trim (char *cp)
{
char buffer[BUFSIZ*4];
- char *bp, *sp;
+ unsigned char *bp, *sp;
if (cp == NULL)
return NULL;
if (cp == NULL)
return NULL;
@@
-1549,7
+1538,7
@@
suppress_duplicates (int fd, char *file)
case FLDPLUS:
case FLDEOF:
/* Search for the message ID */
case FLDPLUS:
case FLDEOF:
/* Search for the message ID */
- if (strcasecmp (name, "Message-ID")) {
+ if (mh_strcasecmp (name, "Message-ID")) {
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), in);
continue;
while (state == FLDPLUS)
state = m_getfld (state, name, buf, sizeof(buf), in);
continue;