*** metamail.old/mailto.c Wed Feb 9 21:30:26 1994 --- metamail/mailto.c Thu Jul 29 14:32:28 2004 *************** *** 570,575 **** --- 570,576 ---- if (isupper(*sdum)) *sdum = tolower(*sdum); } if (strcmp(CharacterSet, "us-ascii") + && strcmp(CharacterSet, "koi8-r") && strncmp(CharacterSet, "iso-8859-", 9)) { fprintf(stderr, "mailto: Unsupported character set: %s\n", CharacterSet); exit(-1); *************** *** 1130,1135 **** --- 1131,1137 ---- if (part->isrich) { if (strcmp(CharacterSet, "us-ascii") && (strncmp(CharacterSet, "iso-8859-", 9) + && strcmp(CharacterSet, "koi8-r") || part->encoding_type_needed != ENC_NONE)) { fprintf(fp, "Content-type: text/richtext; charset=\"%s\"\n", CharacterSet); } else { *************** *** 1140,1145 **** --- 1142,1148 ---- WriteCtypeNicely(fp, part->content_type); if (strcmp(CharacterSet, "us-ascii") && (strncmp(CharacterSet, "iso-8859-", 9) + && strcmp(CharacterSet, "koi8-r") || part->encoding_type_needed != ENC_NONE)) { fprintf(fp, "; charset=\"%s\"\n", CharacterSet); } else fputs("\n", fp); *************** *** 1745,1750 **** --- 1748,1754 ---- } printf("\n\nEnter your choice as a number from 0 to %d: ", i); fflush(stdout); + *LineBuf = '\0'; fgets(LineBuf, sizeof(LineBuf), stdin); ans = atoi(LineBuf); if (ans == 0 || ans == 1) { *************** *** 1752,1759 **** FILE *fpi, *fpo; printf("\nIf you want to include non-textual data from a file, enter the file name.\nTo include the output of a command, enter \"|\" followed by the command.\nIf you do not want to include anything, just press ENTER (RETURN).\n> "); fflush(stdout); fgets(CTLineBuf, sizeof(CTLineBuf), stdin); ! sdum = CTLineBuf+strlen(CTLineBuf) -1; while (sdum >= CTLineBuf && isspace((unsigned char) *sdum)) { *sdum = '\0'; --sdum; --- 1756,1764 ---- FILE *fpi, *fpo; printf("\nIf you want to include non-textual data from a file, enter the file name.\nTo include the output of a command, enter \"|\" followed by the command.\nIf you do not want to include anything, just press ENTER (RETURN).\n> "); fflush(stdout); + *CTLineBuf = '\0'; fgets(CTLineBuf, sizeof(CTLineBuf), stdin); ! sdum = *CTLineBuf ? CTLineBuf+strlen(CTLineBuf) -1 : CTLineBuf; while (sdum >= CTLineBuf && isspace((unsigned char) *sdum)) { *sdum = '\0'; --sdum; *************** *** 1791,1797 **** int ct; printf("\nEnter the MIME Content-type value for the data from file %s\n (type '?' for a list of locally-valid content-types): ", sdum); fflush(stdout); ! gets(LineBuf); if (index(LineBuf, '/')) { char lc[100], *s, AnsBuf[100]; strcpy(lc, LineBuf); --- 1796,1805 ---- int ct; printf("\nEnter the MIME Content-type value for the data from file %s\n (type '?' for a list of locally-valid content-types): ", sdum); fflush(stdout); ! *LineBuf = '\0'; ! fgets(LineBuf, sizeof(LineBuf), stdin); ! if (*LineBuf) ! LineBuf[strlen(LineBuf) - 1] = '\0'; if (index(LineBuf, '/')) { char lc[100], *s, AnsBuf[100]; strcpy(lc, LineBuf); *************** *** 1809,1815 **** } if (mc) break; printf("The MIME content-type '%s' is not listed in your local mailcap files,\nand may not be a valid MIME type. Do you want to use it anyway [no] ? ", LineBuf); ! s = gets(AnsBuf); while (s && *s && isspace((unsigned char) *s)) ++s; if (s && (*s == 'y' || *s == 'Y')) break; continue; --- 1817,1823 ---- } if (mc) break; printf("The MIME content-type '%s' is not listed in your local mailcap files,\nand may not be a valid MIME type. Do you want to use it anyway [no] ? ", LineBuf); ! s = fgets(AnsBuf, sizeof(AnsBuf), stdin); while (s && *s && isspace((unsigned char) *s)) ++s; if (s && (*s == 'y' || *s == 'Y')) break; continue; *************** *** 2137,2142 **** --- 2145,2151 ---- printf("2: %s\n", CmdBuf); printf("\n\nEnter 1 or 2, or 0 to not edit it: "); fflush(stdout); + *LineBuf = '\0'; fgets(LineBuf, sizeof(LineBuf), stdin); ans = atoi(LineBuf); } else ans = 2; *** metamail.old/metamail.c Thu Feb 17 02:57:19 1994 --- metamail/metamail.c Wed Mar 9 21:30:22 2005 *************** *** 83,89 **** #define MAX_FILE_NAME_SIZE 256 #define WRITE_BINARY "w" #else /* AMIGA */ ! extern char **environ, *gets(); #define CATCOMMAND "cat" #define CATTEMPLATE "cat %s" #define METAMAIL "metamail" --- 83,89 ---- #define MAX_FILE_NAME_SIZE 256 #define WRITE_BINARY "w" #else /* AMIGA */ ! extern char **environ; #define CATCOMMAND "cat" #define CATTEMPLATE "cat %s" #define METAMAIL "metamail" *************** *** 540,545 **** --- 540,546 ---- ans = 2; } else { printf("\nWhat do you want to do with the %s data?\n1 -- See it as text\n2 -- Write it to a file\n3 -- Just skip it\n\n", octetstream ? "raw" : ContentType); + *Fname = '\0'; fgets(Fname, sizeof(Fname), stdin); ans = atoi(Fname); } *************** *** 554,561 **** needname = 0; printf("Please enter the name of a file to which the data should be written\n(Default: %s) > ", suggestedname); fflush(stdout); fgets(Fname, sizeof(Fname), stdin); ! Fname[strlen(Fname) - 1] = '\0'; /* bogus newline */ #if !defined(AMIGA) && !defined(MSDOS) if (!Fname[0]) strcpy(Fname, suggestedname); if (Fname[0] == '~' && Fname[1] == '/') { --- 555,564 ---- needname = 0; printf("Please enter the name of a file to which the data should be written\n(Default: %s) > ", suggestedname); fflush(stdout); + *Fname = '\0'; fgets(Fname, sizeof(Fname), stdin); ! if (*Fname) ! Fname[strlen(Fname) - 1] = '\0'; /* bogus newline */ #if !defined(AMIGA) && !defined(MSDOS) if (!Fname[0]) strcpy(Fname, suggestedname); if (Fname[0] == '~' && Fname[1] == '/') { *************** *** 579,588 **** int overwriteans = -1; do { printf("File %s exists. Do you want to overwrite it (y/n) ?\n", Fname); ! s = gets(AnsBuf); if (!s) { overwriteans = 0; } else { while (s && *s && isspace((unsigned char) *s)) ++s; if (*s == 'y' || *s == 'Y' || !*s || *s == '\n') { overwriteans = 1; --- 582,593 ---- int overwriteans = -1; do { printf("File %s exists. Do you want to overwrite it (y/n) ?\n", Fname); ! *AnsBuf = '\0'; ! s = fgets(AnsBuf, sizeof(AnsBuf), stdin); if (!s) { overwriteans = 0; } else { + s[strlen(s) - 1] = '\0'; while (s && *s && isspace((unsigned char) *s)) ++s; if (*s == 'y' || *s == 'Y' || !*s || *s == '\n') { overwriteans = 1; *************** *** 1202,1210 **** fprintf(outfp, "Content-type: %s", ContentType); for (j=0; j