]> diplodocus.org Git - nmh/blobdiff - sbr/mts.c
Support for sequence file locking in inc(1).
[nmh] / sbr / mts.c
index bf7d42b1a1c5025117ebf3dabe38e9ca19d41a79..70dae02485e7268c261b91bf9c5e1ac1de10587b 100644 (file)
--- a/sbr/mts.c
+++ b/sbr/mts.c
@@ -23,7 +23,7 @@
 /*
  * static prototypes
  */
-static char *tailor_value (unsigned char *);
+static char *tailor_value (char *);
 static void getuserinfo (void);
 static const char *get_mtsconf_pathname(void);
 static const char *get_mtsuserconf_pathname(void);
@@ -54,6 +54,8 @@ char *uucplfil = "";
 char *mmdlm1 = "\001\001\001\001\n";
 char *mmdlm2 = "\001\001\001\001\n";
 
+char *spoollocking = DEFAULT_LOCKING;
+
 /* Cache the username, fullname, and mailbox of the user */
 static char username[BUFSIZ];
 static char fullname[BUFSIZ];
@@ -102,6 +104,7 @@ static struct bind binds[] = {
     { "systemname", &systemname },
     { "mmdfldir", &mmdfldir },
     { "mmdflfil", &mmdflfil },
+    { "spoollocking", &spoollocking },
     { "uucpldir", &uucpldir },
     { "uucplfil", &uucplfil },
     { "mmdelim1", &mmdlm1 },
@@ -177,7 +180,7 @@ mts_init (char *name)
  */
 
 static char *
-tailor_value (unsigned char *s)
+tailor_value (char *s)
 {
     int i, r;
     char *bp;
@@ -200,13 +203,13 @@ tailor_value (unsigned char *s)
                    break;
 
                default: 
-                   if (!isdigit (*s)) {
+                   if (!isdigit ((unsigned char) *s)) {
                        *bp++ = QUOTE;
                        *bp = *s;
                    }
-                   r = *s != '0' ? 10 : 8;
-                   for (i = 0; isdigit (*s); s++)
-                       i = i * r + *s - '0';
+                   r = ((unsigned char) *s) != '0' ? 10 : 8;
+                   for (i = 0; isdigit ((unsigned char) *s); s++)
+                       i = i * r + ((unsigned char) *s) - '0';
                    s--;
                    *bp = toascii (i);
                    break;
@@ -359,9 +362,8 @@ getlocalmbox (void)
 static void
 getuserinfo (void)
 {
-    register unsigned char *cp;
-    register char *np;
-    register struct passwd *pw;
+    char *cp, *np;
+    struct passwd *pw;
 
     if ((pw = getpwuid (getuid ())) == NULL
            || pw->pw_name == NULL
@@ -461,8 +463,7 @@ get_mtsuserconf_pathname (void)
 static void
 mts_read_conf_file (FILE *fp)
 {
-    unsigned char *bp;
-    char *cp, buffer[BUFSIZ];
+    char *bp, *cp, buffer[BUFSIZ];
     struct bind *b;
 
     while (fgets (buffer, sizeof(buffer), fp)) {
@@ -474,7 +475,7 @@ mts_read_conf_file (FILE *fp)
        if (!(bp = strchr(buffer, ':')))
            break;
        *bp++ = 0;
-       while (isspace (*bp))
+       while (isspace ((unsigned char) *bp))
            *bp++ = 0;
 
        for (b = binds; b->keyword; b++)