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>