Fix uip/whom.c for C89 compatibility
[mmh] / uip / dropsbr.c
index 124e5ab..e105884 100644 (file)
@@ -6,14 +6,15 @@
 ** complete copyright information.
 */
 
-#include <h/nmh.h>
-#include <h/utils.h>
-
 #include <h/mh.h>
+#include <h/utils.h>
 #include <h/dropsbr.h>
 #include <h/tws.h>
 #include <errno.h>
 #include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/stat.h>
 
 
 /*
@@ -43,8 +44,8 @@ mbox_open(char *file, uid_t uid, gid_t gid, mode_t mode)
 #endif
                        case ETXTBSY:
                                i = errno;
-                               sleep(5);
-                               break;
+                               sleep(1);
+                               continue;
 
                        default:
                                /* just return error */
@@ -130,7 +131,7 @@ mbox_copy(int to, int from)
                                        fp = strchr(ep + 1, '\n');
                                tp = dctime(dlocaltimenow());
                                        snprintf(buffer, sizeof(buffer),
-                                                       "From %.*s  %s",
+                                                       "From %.*s %s",
                                                        (int)(fp-ep), ep, tp);
                        } else if (strncmp(buffer, "X-Envelope-From:",
                                        16)==0) {
@@ -157,7 +158,7 @@ mbox_copy(int to, int from)
                                ep = "nobody@nowhere";
                                tp = dctime(dlocaltimenow());
                                snprintf(buffer, sizeof(buffer),
-                                               "From %s  %s%s", ep, tp,
+                                               "From %s %s%s", ep, tp,
                                                tmpbuffer);
                        }
                }
@@ -169,7 +170,7 @@ mbox_copy(int to, int from)
                if (i != 0 && strncmp(buffer, "From ", 5) == 0) {
                        write(to, ">", 1);
                }
-               if (write(to, buffer, strlen(buffer)) != strlen(buffer)) {
+               if (write(to, buffer, strlen(buffer)) != (int)strlen(buffer)) {
                        fclose(fp);
                        return NOTOK;
                }