head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.4 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.2 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.4.0.80 pkgsrc-2025Q3-base:1.4 pkgsrc-2025Q2:1.4.0.78 pkgsrc-2025Q2-base:1.4 pkgsrc-2025Q1:1.4.0.76 pkgsrc-2025Q1-base:1.4 pkgsrc-2024Q4:1.4.0.74 pkgsrc-2024Q4-base:1.4 pkgsrc-2024Q3:1.4.0.72 pkgsrc-2024Q3-base:1.4 pkgsrc-2024Q2:1.4.0.70 pkgsrc-2024Q2-base:1.4 pkgsrc-2024Q1:1.4.0.68 pkgsrc-2024Q1-base:1.4 pkgsrc-2023Q4:1.4.0.66 pkgsrc-2023Q4-base:1.4 pkgsrc-2023Q3:1.4.0.64 pkgsrc-2023Q3-base:1.4 pkgsrc-2023Q2:1.4.0.62 pkgsrc-2023Q2-base:1.4 pkgsrc-2023Q1:1.4.0.60 pkgsrc-2023Q1-base:1.4 pkgsrc-2022Q4:1.4.0.58 pkgsrc-2022Q4-base:1.4 pkgsrc-2022Q3:1.4.0.56 pkgsrc-2022Q3-base:1.4 pkgsrc-2022Q2:1.4.0.54 pkgsrc-2022Q2-base:1.4 pkgsrc-2022Q1:1.4.0.52 pkgsrc-2022Q1-base:1.4 pkgsrc-2021Q4:1.4.0.50 pkgsrc-2021Q4-base:1.4 pkgsrc-2021Q3:1.4.0.48 pkgsrc-2021Q3-base:1.4 pkgsrc-2021Q2:1.4.0.46 pkgsrc-2021Q2-base:1.4 pkgsrc-2021Q1:1.4.0.44 pkgsrc-2021Q1-base:1.4 pkgsrc-2020Q4:1.4.0.42 pkgsrc-2020Q4-base:1.4 pkgsrc-2020Q3:1.4.0.40 pkgsrc-2020Q3-base:1.4 pkgsrc-2020Q2:1.4.0.36 pkgsrc-2020Q2-base:1.4 pkgsrc-2020Q1:1.4.0.16 pkgsrc-2020Q1-base:1.4 pkgsrc-2019Q4:1.4.0.38 pkgsrc-2019Q4-base:1.4 pkgsrc-2019Q3:1.4.0.34 pkgsrc-2019Q3-base:1.4 pkgsrc-2019Q2:1.4.0.32 pkgsrc-2019Q2-base:1.4 pkgsrc-2019Q1:1.4.0.30 pkgsrc-2019Q1-base:1.4 pkgsrc-2018Q4:1.4.0.28 pkgsrc-2018Q4-base:1.4 pkgsrc-2018Q3:1.4.0.26 pkgsrc-2018Q3-base:1.4 pkgsrc-2018Q2:1.4.0.24 pkgsrc-2018Q2-base:1.4 pkgsrc-2018Q1:1.4.0.22 pkgsrc-2018Q1-base:1.4 pkgsrc-2017Q4:1.4.0.20 pkgsrc-2017Q4-base:1.4 pkgsrc-2017Q3:1.4.0.18 pkgsrc-2017Q3-base:1.4 pkgsrc-2017Q2:1.4.0.14 pkgsrc-2017Q2-base:1.4 pkgsrc-2017Q1:1.4.0.12 pkgsrc-2017Q1-base:1.4 pkgsrc-2016Q4:1.4.0.10 pkgsrc-2016Q4-base:1.4 pkgsrc-2016Q3:1.4.0.8 pkgsrc-2016Q3-base:1.4 pkgsrc-2016Q2:1.4.0.6 pkgsrc-2016Q2-base:1.4 pkgsrc-2016Q1:1.4.0.4 pkgsrc-2016Q1-base:1.4 pkgsrc-2015Q4:1.4.0.2 pkgsrc-2015Q4-base:1.4 pkgsrc-2015Q3:1.3.0.12 pkgsrc-2015Q3-base:1.3 pkgsrc-2015Q2:1.3.0.10 pkgsrc-2015Q2-base:1.3 pkgsrc-2015Q1:1.3.0.8 pkgsrc-2015Q1-base:1.3 pkgsrc-2014Q4:1.3.0.6 pkgsrc-2014Q4-base:1.3 pkgsrc-2014Q3:1.3.0.4 pkgsrc-2014Q3-base:1.3 pkgsrc-2014Q2:1.3.0.2 pkgsrc-2014Q2-base:1.3 pkgsrc-2014Q1:1.2.0.12 pkgsrc-2014Q1-base:1.2 pkgsrc-2013Q4:1.2.0.10 pkgsrc-2013Q4-base:1.2 pkgsrc-2013Q3:1.2.0.8 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.6 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.4 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.2 pkgsrc-2012Q4-base:1.2 pkgsrc-2012Q3:1.1.0.76 pkgsrc-2012Q3-base:1.1 pkgsrc-2012Q2:1.1.0.74 pkgsrc-2012Q2-base:1.1 pkgsrc-2012Q1:1.1.0.72 pkgsrc-2012Q1-base:1.1 pkgsrc-2011Q4:1.1.0.70 pkgsrc-2011Q4-base:1.1 pkgsrc-2011Q3:1.1.0.68 pkgsrc-2011Q3-base:1.1 pkgsrc-2011Q2:1.1.0.66 pkgsrc-2011Q2-base:1.1 pkgsrc-2011Q1:1.1.0.64 pkgsrc-2011Q1-base:1.1 pkgsrc-2010Q4:1.1.0.62 pkgsrc-2010Q4-base:1.1 pkgsrc-2010Q3:1.1.0.60 pkgsrc-2010Q3-base:1.1 pkgsrc-2010Q2:1.1.0.58 pkgsrc-2010Q2-base:1.1 pkgsrc-2010Q1:1.1.0.56 pkgsrc-2010Q1-base:1.1 pkgsrc-2009Q4:1.1.0.54 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.52 pkgsrc-2009Q3-base:1.1 pkgsrc-2009Q2:1.1.0.50 pkgsrc-2009Q2-base:1.1 pkgsrc-2009Q1:1.1.0.48 pkgsrc-2009Q1-base:1.1 pkgsrc-2008Q4:1.1.0.46 pkgsrc-2008Q4-base:1.1 pkgsrc-2008Q3:1.1.0.44 pkgsrc-2008Q3-base:1.1 cube-native-xorg:1.1.0.42 cube-native-xorg-base:1.1 pkgsrc-2008Q2:1.1.0.40 pkgsrc-2008Q2-base:1.1 cwrapper:1.1.0.38 pkgsrc-2008Q1:1.1.0.36 pkgsrc-2008Q1-base:1.1 pkgsrc-2007Q4:1.1.0.34 pkgsrc-2007Q4-base:1.1 pkgsrc-2007Q3:1.1.0.32 pkgsrc-2007Q3-base:1.1 pkgsrc-2007Q2:1.1.0.30 pkgsrc-2007Q2-base:1.1 pkgsrc-2007Q1:1.1.0.28 pkgsrc-2007Q1-base:1.1 pkgsrc-2006Q4:1.1.0.26 pkgsrc-2006Q4-base:1.1 pkgsrc-2006Q3:1.1.0.24 pkgsrc-2006Q3-base:1.1 pkgsrc-2006Q2:1.1.0.22 pkgsrc-2006Q2-base:1.1 pkgsrc-2006Q1:1.1.0.20 pkgsrc-2006Q1-base:1.1 pkgsrc-2005Q4:1.1.0.18 pkgsrc-2005Q4-base:1.1 pkgsrc-2005Q3:1.1.0.16 pkgsrc-2005Q3-base:1.1 pkgsrc-2005Q2:1.1.0.14 pkgsrc-2005Q2-base:1.1 pkgsrc-2005Q1:1.1.0.12 pkgsrc-2005Q1-base:1.1 pkgsrc-2004Q4:1.1.0.10 pkgsrc-2004Q4-base:1.1 pkgsrc-2004Q3:1.1.0.8 pkgsrc-2004Q3-base:1.1 pkgsrc-2004Q2:1.1.0.6 pkgsrc-2004Q2-base:1.1 pkgsrc-2004Q1:1.1.0.4 pkgsrc-2004Q1-base:1.1 pkgsrc-2003Q4:1.1.0.2; locks; strict; comment @# @; 1.5 date 2025.10.12.00.57.39; author mrg; state Exp; branches; next 1.4; commitid IKX5SIrJGeYgsdeG; 1.4 date 2015.11.08.20.51.59; author dholland; state Exp; branches; next 1.3; commitid BPRyueHwER6oCkIy; 1.3 date 2014.06.11.19.07.02; author christos; state Exp; branches; next 1.2; commitid 3CA3dqPU3DvvA8Ex; 1.2 date 2012.10.26.20.27.15; author joerg; state Exp; branches; next 1.1; 1.1 date 2004.02.25.03.58.43; author snj; state Exp; branches 1.1.2.1; next ; 1.1.2.1 date 2004.02.25.03.58.43; author agc; state dead; branches; next 1.1.2.2; 1.1.2.2 date 2004.02.26.16.22.03; author agc; state Exp; branches; next ; desc @@ 1.5 log @make build with GCC 14. phew! it's a lot of standard things: - missing headers - missing types - conflicting types @ text @$NetBSD: patch-ai,v 1.4 2015/11/08 20:51:59 dholland Exp $ - clean up junk decls that exist in headers, and include the right headers - use fgets instead of gets - fix printf to always have format - when executing a child metamail, propagate the parents options as much as possible - use termios instead of termio/sgtty - give many things return types and (basic) prototypes for GCC 14. --- metamail/metamail.c.orig 1994-02-16 17:57:19.000000000 -0800 +++ metamail/metamail.c 2025-10-11 16:45:09.001504426 -0700 @@@@ -26,6 +26,8 @@@@ WITHOUT ANY EXPRESS OR IMPLIED WARRANTIE #include #include +#include "metamail.h" + #ifdef BORLAND #define F_OK 0 extern unsigned _stklen = 16384; @@@@ -46,12 +48,8 @@@@ extern char *mktemp(char *); #include #ifndef AMIGA -#ifdef SYSV -#include +#include #include -#else /* SYSV */ -#include -#endif /* SYSV */ #endif /* AMIGA */ #endif /* MICROSOFT */ #endif /* BORLAND */ @@@@ -83,7 +81,7 @@@@ extern char *MkRmScript(); #define MAX_FILE_NAME_SIZE 256 #define WRITE_BINARY "w" #else /* AMIGA */ -extern char **environ, *gets(); +extern char **environ; #define CATCOMMAND "cat" #define CATTEMPLATE "cat %s" #define METAMAIL "metamail" @@@@ -100,15 +98,49 @@@@ 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(); +#include +#include + char fileToDelete[MAX_FILE_NAME_SIZE]; +void PauseForUser(void); +void maybephead(char *); +int ProcessArguments(int, char **); +int ExitWithError(char *); +void RestoreTtyState(); +int HandleMessage(char *, int); +int Read822Prefix(int, int); +int ProcessMailcapFiles(char *); +int SaveSquirrelFile(char *); +void PrepareMessage(); +void MkTmpFileName(char *); +int TryBuiltIns(char *); +void TranslateInputToOutput(); +void usage(); +void StripTrailingSpace(char *); +void RunInNewWindow(); +void CreateNewWindowPrefix(); +void SetUpEnvironment(); +int ProcessMailcapFile(); +int TryMailcapEntry(); +int IsDirectory(); +int CtypeMatch(); +int GetMailcapEntry(); +int ExecuteMailcapEntry(); +int OKToRun(); +int ExecuteCommand(); +int PassesTest(); +void BuildCommand(); +int StartRawStdin(); +void strcatquoting(); +int NeedToBeQuiet(); +int NeedToAskBeforeExecuting(); +void SaveTtyState(); +int WriteTmpFile(); +void EliminateNastyChars(); +void strcpynoquotes(); +void phead(); + char *FindParam(); extern FILE *popen(); static char *nomem = "Out of memory!"; @@@@ -151,6 +183,32 @@@@ int MightAskBeforeExecuting = 1, JustWriteFiles = 0, ProcessingErrors = 0; +static const char * +makeoptions(void) +{ + static char buf[1024]; + buf[0] = 0; + if (!MightAskBeforeExecuting) + strlcat(buf, " -d", sizeof(buf)); + if (DefinitelyNotTty && MustNotBeTty) + strlcat(buf, " -x", sizeof(buf)); + if (MaybePageOutput) + strlcat(buf, MustPageOutput ? " -P" : " -p", sizeof(buf)); + if (EatLeadingNewlines) + strlcat(buf, " -e", sizeof(buf)); + if (!PrintSomeHeaders && Quiet) + strlcat(buf, " -q", sizeof(buf)); + if (DoInBackground) + strlcat(buf, " -B", sizeof(buf)); + if (!Is822Format) + strlcat(buf, " -b", sizeof(buf)); + if (PrintingMode) + strlcat(buf, " -h", sizeof(buf)); + if (JustWriteFiles) + strlcat(buf, " -w", sizeof(buf)); + return buf; +} + char *ContentType = NULL, *ContentEncoding = NULL, *MailerName = "unknown", @@@@ -295,6 +353,7 @@@@ char *auxpath; } } +void main(argc, argv) int argc; char **argv; @@@@ -387,6 +446,7 @@@@ char *fname; } } +int HandleMessage(SquirrelFile, nestingdepth) char *SquirrelFile; /* SquirrelFile, if non-NULL, is a place to save a recognized body instead of executing it. */ @@@@ -497,8 +557,9 @@@@ int nestingdepth; if (IsAlternative) { if (WroteSquirrelFile) { int retcode; - char Cmd[TMPFILE_NAME_SIZE + 15]; - sprintf(Cmd, "%s %s", METAMAIL, NewSquirrelFile); + char Cmd[TMPFILE_NAME_SIZE + 15 + 1024]; + snprintf(Cmd, sizeof(Cmd), "%s %s %s", METAMAIL, makeoptions(), + NewSquirrelFile); fflush(stdout); fflush(stderr); retcode = system(Cmd); #ifdef MSDOS @@@@ -579,7 +640,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 { @@@@ -661,6 +722,7 @@@@ int nestingdepth; return(-1); /* Unrecognized, really */ } +int ProcessArguments(argc, argv) int argc; char **argv; @@@@ -940,11 +1002,13 @@@@ char **argv; return(0); } +void usage() { fprintf(stderr, "Usage: metamail [-b] [-B] [-d] [-e] [-h] [-r] [-R] [-p] [-P] [-x] [-y] [-z] [-c content-type] [-E content-transfer-encoding] [-f from-name] [-m mailername] [-s subject] [message-file-name]\n"); ExitWithError(NULL); } +void RunInNewWindow(argv, argc, SourceFileNamePtr) char **argv, **SourceFileNamePtr; int argc; @@@@ -1026,6 +1090,7 @@@@ struct MailcapEntry BuiltInsAlternative[ {"text/plain", CATTEMPLATE, NULL, 0, 1, 0, "plain text", LPRTEMPLATE}, {NULL, NULL, NULL, 0, 0, 0}}; +int ProcessMailcapFiles(SquirrelFile) char *SquirrelFile; { @@@@ -1082,6 +1147,7 @@@@ char *SquirrelFile; #endif /* MICROSOFT */ } +int TryBuiltIns(SquirrelFile) char *SquirrelFile; { @@@@ -1094,6 +1160,7 @@@@ char *SquirrelFile; return(-1); } +int ProcessMailcapFile(file, SquirrelFile) char *file, *SquirrelFile; { @@@@ -1166,6 +1233,7 @@@@ eatmore: } } +int TryMailcapEntry(mc, SquirrelFile) struct MailcapEntry mc; char *SquirrelFile; @@@@ -1189,6 +1257,7 @@@@ char *SquirrelFile; return(-1); } +int SaveSquirrelFile(SquirrelFile) char *SquirrelFile; { @@@@ -1202,9 +1271,9 @@@@ char *SquirrelFile; fprintf(outfp, "Content-type: %s", ContentType); for (j=0; j @ text @d1 1 a1 1 $NetBSD: patch-ai,v 1.3 2014/06/11 19:07:02 christos Exp $ d9 1 d11 12 a22 3 --- metamail/metamail.c.orig 1994-02-17 01:57:19.000000000 +0000 +++ metamail/metamail.c @@@@ -46,12 +46,8 @@@@ extern char *mktemp(char *); d36 1 a36 1 @@@@ -83,7 +79,7 @@@@ extern char *MkRmScript(); d45 1 a45 1 @@@@ -100,15 +96,14 @@@@ extern char **environ, *gets(); d63 35 d102 1 a102 1 @@@@ -151,6 +146,32 @@@@ int MightAskBeforeExecuting = 1, d135 17 a151 1 @@@@ -497,8 +518,9 @@@@ int nestingdepth; d163 1 a163 1 @@@@ -579,7 +601,7 @@@@ int nestingdepth; d172 63 a234 1 @@@@ -1202,9 +1224,9 @@@@ char *SquirrelFile; d246 65 a310 1 @@@@ -1823,7 +1845,7 @@@@ char *ctype, *progname, *label; d319 17 a335 1 @@@@ -1900,7 +1922,7 @@@@ char *hdr; d344 9 a352 1 @@@@ -2022,7 +2044,8 @@@@ int ShowLeadingWhitespace; d362 1 a362 1 @@@@ -2032,7 +2055,7 @@@@ int ShowLeadingWhitespace; d371 41 a411 1 @@@@ -2375,41 +2398,25 @@@@ char *Prefix; d423 1 d440 1 d444 1 a444 1 - if (HasSavedTtyState) { d447 3 a449 1 - } d451 1 a451 1 if (HasSavedTtyState) { d454 2 a455 3 + tcsetattr(fileno(stdout), TCSANOW, &MyTtyStateOut); + tcsetattr(fileno(stdin), TCSANOW, &MyTtyStateIn); } a456 1 -#endif d459 1 d461 43 a503 1 @@@@ -2655,12 +2662,12 @@@@ char *s2; d518 3 a520 1 @@@@ -2681,21 +2688,14 @@@@ PauseForUser() { d522 1 @ 1.3 log @Fix bug where metamail would execute itself and not propagate the parents options (for example metamail -w would end up not honoring -w and executing what mailcap told it) @ text @d1 1 a1 1 $NetBSD: patch-ai,v 1.2 2012/10/26 20:27:15 joerg Exp $ d8 1 d10 17 a26 3 --- metamail/metamail.c.orig 1994-02-16 20:57:19.000000000 -0500 +++ metamail/metamail.c 2014-06-11 15:02:23.000000000 -0400 @@@@ -83,7 +83,7 @@@@ d35 1 a35 1 @@@@ -100,15 +100,14 @@@@ d57 1 a57 1 @@@@ -151,6 +150,32 @@@@ d90 1 a90 1 @@@@ -497,8 +522,9 @@@@ d102 1 a102 1 @@@@ -579,7 +605,7 @@@@ d111 1 a111 1 @@@@ -1202,9 +1228,9 @@@@ d123 1 a123 1 @@@@ -1823,7 +1849,7 @@@@ d132 1 a132 1 @@@@ -1900,7 +1926,7 @@@@ d141 1 a141 1 @@@@ -2022,7 +2048,8 @@@@ d151 1 a151 1 @@@@ -2032,7 +2059,7 @@@@ d160 48 a207 1 @@@@ -2655,12 +2682,12 @@@@ d222 25 @ 1.2 log @Fix a bunch of missing prototypes and incorrect not as void tagged functions. @ text @d1 1 a1 1 $NetBSD: patch-ai,v 1.1 2004/02/25 03:58:43 snj Exp $ d3 9 a11 3 --- metamail/metamail.c.orig 1994-02-17 01:57:19.000000000 +0000 +++ metamail/metamail.c @@@@ -83,7 +83,7 @@@@ extern char *MkRmScript(); d20 1 a20 1 @@@@ -100,15 +100,14 @@@@ extern char **environ, *gets(); d42 46 a87 1 @@@@ -579,7 +578,7 @@@@ int nestingdepth; d96 1 a96 1 @@@@ -1202,9 +1201,9 @@@@ char *SquirrelFile; d108 1 a108 1 @@@@ -1823,7 +1822,7 @@@@ char *ctype, *progname, *label; d117 1 a117 1 @@@@ -1900,7 +1899,7 @@@@ char *hdr; d126 1 a126 1 @@@@ -2022,7 +2021,8 @@@@ int ShowLeadingWhitespace; d136 1 a136 1 @@@@ -2032,7 +2032,7 @@@@ int ShowLeadingWhitespace; d145 1 a145 1 @@@@ -2655,12 +2655,12 @@@@ char *s2; @ 1.1 log @* Apply security patch from http://www.securityfocus.com/archive/1/354362/2004-02-15/2004-02-21/2 * Bump PKGREVISION to 2. * Make patches only modify one file each * Fix some spelling errors * Use ${SED} instead of sed, and ${CHMOD} instead of chmod * Set CFLAGS.SunOS instead of doing the bsd.prefs.mk dance @ text @d1 1 a1 1 $NetBSD$ d3 2 a4 2 --- metamail/metamail.c.orig 1994-02-16 17:57:19.000000000 -0800 +++ metamail/metamail.c 2004-02-24 10:47:27.000000000 -0800 d14 23 a36 1 @@@@ -579,7 +579,7 @@@@ int nestingdepth; d45 1 a45 1 @@@@ -1202,9 +1202,9 @@@@ char *SquirrelFile; d57 1 a57 1 @@@@ -1823,7 +1823,7 @@@@ char *ctype, *progname, *label; d66 10 a75 1 @@@@ -2022,7 +2022,8 @@@@ int ShowLeadingWhitespace; d85 1 a85 1 @@@@ -2032,7 +2033,7 @@@@ int ShowLeadingWhitespace; d94 15 @ 1.1.2.1 log @file patch-ai was added on branch pkgsrc-2003Q4 on 2004-02-25 03:58:43 +0000 @ text @d1 62 @ 1.1.2.2 log @Pull up certain parts of the following mods via patch and hand-editing to the pkgsrc-2003Q4 branch, requested by Soren Jacobson. Module Name: pkgsrc Committed By: snj Date: Wed Feb 25 03:58:43 UTC 2004 Modified Files: pkgsrc/mail/metamail: Makefile distinfo pkgsrc/mail/metamail/patches: patch-ad patch-ae patch-af patch-ag patch-ah Added Files: pkgsrc/mail/metamail/patches: patch-ai patch-aj patch-ak patch-al patch-am patch-an patch-ao Removed Files: pkgsrc/mail/metamail/patches: patch-ac Log Message: * Apply security patch from http://www.securityfocus.com/archive/1/354362/2004-02-15/2004-02-21/2 * Bump PKGREVISION to 2. * Make patches only modify one file each * Fix some spelling errors * Use ${SED} instead of sed, and ${CHMOD} instead of chmod @ text @a0 62 $NetBSD: patch-ai,v 1.1.2.1 2004/02/26 16:22:03 agc Exp $ --- metamail/metamail.c.orig 1994-02-16 17:57:19.000000000 -0800 +++ metamail/metamail.c 2004-02-24 10:47:27.000000000 -0800 @@@@ -83,7 +83,7 @@@@ extern char *MkRmScript(); #define MAX_FILE_NAME_SIZE 256 #define WRITE_BINARY "w" #else /* AMIGA */ -extern char **environ, *gets(); +extern char **environ; #define CATCOMMAND "cat" #define CATTEMPLATE "cat %s" #define METAMAIL "metamail" @@@@ -579,7 +579,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 +1202,9 @@@@ char *SquirrelFile; fprintf(outfp, "Content-type: %s", ContentType); for (j=0; j