Index: src/metamail/metamail.c --- src/metamail/metamail.c.orig +++ src/metamail/metamail.c @@ -20,6 +20,9 @@ WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. ******************************************************* */ #include +#include +#include +#include #include #include #include @@ -29,7 +32,7 @@ WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. #ifdef BORLAND #define F_OK 0 extern unsigned _stklen = 16384; -extern char *mktemp(char *); +extern char *mkstemp(char *); #define WRITE_BINARY "w" #else /* BORLAND */ #ifdef MICROSOFT @@ -46,12 +49,14 @@ extern char *mktemp(char *); #include #ifndef AMIGA -#ifdef SYSV +#if defined(HAVE_TCGETATTR) +#include +#elif defined(SYSV) #include #include -#else /* SYSV */ +#else #include -#endif /* SYSV */ +#endif #endif /* AMIGA */ #endif /* MICROSOFT */ #endif /* BORLAND */ @@ -100,15 +105,12 @@ extern char **environ, *gets(); #define CMDSIZE 1200 /* Maximum size of command to execute */ #define LINE_BUF_SIZE 2000 -#ifndef MICROSOFT -extern char *malloc(); -extern char *realloc(); -#endif -extern char *getenv(); -extern char *index(); -extern char *rindex(); char fileToDelete[MAX_FILE_NAME_SIZE]; +void maybephead(char *); +void PauseForUser(void); + +char *hdr; char *FindParam(); extern FILE *popen(); static char *nomem = "Out of memory!"; @@ -302,24 +304,6 @@ char **argv; int retcode; modpath(AUXPATH); -#ifndef MSDOS - signal(SIGINT, cleanup); -#ifndef AMIGA - signal(SIGILL, cleanup); - signal(SIGTRAP, cleanup); - signal(SIGIOT, cleanup); - signal(SIGFPE, cleanup); -#ifndef LINUX - signal(SIGEMT, cleanup); - signal(SIGBUS, cleanup); -#endif - signal(SIGSEGV, cleanup); - signal(SIGTERM, cleanup); -#endif -#endif -#ifdef SIGXCPU - signal(SIGXCPU, cleanup); -#endif tmproot = getenv("METAMAIL_TMPDIR"); if (!tmproot) tmproot="/tmp"; mailheaders = getenv("MM_HEADERS"); @@ -579,7 +563,7 @@ int nestingdepth; int overwriteans = -1; do { printf("File %s exists. Do you want to overwrite it (y/n) ?\n", Fname); - s = gets(AnsBuf); + s = fgets(AnsBuf, sizeof(AnsBuf), stdin); if (!s) { overwriteans = 0; } else { @@ -1202,9 +1186,9 @@ char *SquirrelFile; fprintf(outfp, "Content-type: %s", ContentType); for (j=0; j