File imap-implicit-decls.patch of Package imap

Index: imap-2007e/src/osdep/unix/env_unix.c
===================================================================
--- imap-2007e.orig/src/osdep/unix/env_unix.c
+++ imap-2007e/src/osdep/unix/env_unix.c
@@ -27,6 +27,7 @@
 #include <grp.h>
 #include <signal.h>
 #include <sys/wait.h>
+#include <sys/file.h>
 
 
 /* in case stat.h is ancient */
Index: imap-2007e/src/osdep/unix/unix.c
===================================================================
--- imap-2007e.orig/src/osdep/unix/unix.c
+++ imap-2007e/src/osdep/unix/unix.c
@@ -40,12 +40,12 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <errno.h>
-extern int errno;		/* just in case */
 #include <signal.h>
 #include "mail.h"
 #include "osdep.h"
 #include <time.h>
 #include <sys/stat.h>
+#include <utime.h>
 #include "unix.h"
 #include "pseudo.h"
 #include "fdstring.h"
Index: imap-2007e/src/imapd/imapd.c
===================================================================
--- imap-2007e.orig/src/imapd/imapd.c
+++ imap-2007e/src/imapd/imapd.c
@@ -29,7 +29,6 @@
 #include <stdio.h>
 #include <ctype.h>
 #include <errno.h>
-extern int errno;		/* just in case */
 #include <signal.h>
 #include <setjmp.h>
 #include <time.h>
Index: imap-2007e/src/mtest/mtest.c
===================================================================
--- imap-2007e.orig/src/mtest/mtest.c
+++ imap-2007e/src/mtest/mtest.c
@@ -58,7 +58,22 @@
 #  define MACOS 0
 # endif
 #endif
-
+
+
+/* This is a local implementation of ISO9899:2011 K.3.5.4.1/4
+ * gets_s function. a quick and dirty hack */
+
+static char *mtest_gets(char *s, size_t n)
+{
+#ifdef __STDC_LIB_EXT1__
+    return gets_s(s, n);
+#else
+    char *ret = fgets(s, n, stdin);
+    if (ret && s[strlen(s)-1] == '\n') s[strlen(s)-1] = 0;
+    return ret;
+#endif
+}
+
 char *curhst = NIL;		/* currently connected host */
 char *curusr = NIL;		/* current login user */
 char personalname[MAILTMPLEN];	/* user's personal name */
@@ -595,7 +610,9 @@ void status (MAILSTREAM *stream)
 void prompt (char *msg,char *txt)
 {
   printf ("%s",msg);
-  gets (txt);
+  mtest_gets(txt, sizeof txt);
+
+
 }
 
 /* Interfaces to C-client */
@@ -779,7 +796,7 @@ void smtptest (long debug)
   puts (" Msg (end with a line with only a '.'):");
   body->type = TYPETEXT;
   *text = '\0';
-  while (gets (line)) {
+  while (mtest_gets(line, sizeof line)) {
     if (line[0] == '.') {
       if (line[1] == '\0') break;
       else strcat (text,".");
Index: imap-2007e/src/dmail/dmail.c
===================================================================
--- imap-2007e.orig/src/dmail/dmail.c
+++ imap-2007e/src/dmail/dmail.c
@@ -27,9 +27,10 @@
  */
 
 #include <stdio.h>
+#include <ctype.h>
+#include <stdlib.h>
 #include <pwd.h>
 #include <errno.h>
-extern int errno;		/* just in case */
 #include <sysexits.h>
 #include <sys/file.h>
 #include <sys/stat.h>
Index: imap-2007e/src/mlock/mlock.c
===================================================================
--- imap-2007e.orig/src/mlock/mlock.c
+++ imap-2007e/src/mlock/mlock.c
@@ -41,6 +41,7 @@
 #include <unistd.h>
 #include <ctype.h>
 #include <string.h>
+#include <time.h>
 
 #define LOCKTIMEOUT 5		/* lock timeout in minutes */
 #define LOCKPROTECTION 0664
Index: imap-2007e/src/tmail/tmail.c
===================================================================
--- imap-2007e.orig/src/tmail/tmail.c
+++ imap-2007e/src/tmail/tmail.c
@@ -29,7 +29,8 @@
 #include <stdio.h>
 #include <pwd.h>
 #include <errno.h>
-extern int errno;		/* just in case */
+#include <ctype.h>
+#include <stdlib.h>
 #include <sysexits.h>
 #include <sys/file.h>
 #include <sys/stat.h>
openSUSE Build Service is sponsored by