X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/4ee9629e2beb7a870ab30509d547b6845ef645cf..5cb4031d8f4101d80e936a9a13839ea1820db938:/lib-src/fakemail.c diff --git a/lib-src/fakemail.c b/lib-src/fakemail.c index c4354ab45a..a4ac44cf96 100644 --- a/lib-src/fakemail.c +++ b/lib-src/fakemail.c @@ -18,12 +18,12 @@ along with GNU Emacs; see the file COPYING. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - -/* This is needed to get the declaration of cuserid in GNU libc. */ -#define _XOPEN_SOURCE 1 - #define NO_SHORTNAMES -#include <../src/config.h> +#define _XOPEN_SOURCE 500 /* for cuserid */ + +#ifdef HAVE_CONFIG_H +#include +#endif #if defined (BSD_SYSTEM) && !defined (BSD4_1) && !defined (USE_FAKEMAIL) /* This program isnot used in BSD, so just avoid loader complaints. */ @@ -85,7 +85,7 @@ struct header_record struct header_record *previous; }; typedef struct header_record *header; - + struct stream_record { FILE *handle; @@ -206,8 +206,7 @@ init_linebuffer (linebuffer) } /* Read a line of text from `stream' into `linebuffer'. - * Return the length of the line. - */ + Return the length of the line. */ long readline (linebuffer, stream) @@ -224,7 +223,7 @@ readline (linebuffer, stream) if (p == end) { linebuffer->size *= 2; - buffer = ((char *) xrealloc (buffer, linebuffer->size)); + buffer = ((char *) xrealloc ((long *)buffer, linebuffer->size)); p = buffer + (p - linebuffer->buffer); end = buffer + linebuffer->size; linebuffer->buffer = buffer; @@ -253,18 +252,18 @@ get_keyword (field, rest) { static char keyword[KEYWORD_SIZE]; register char *ptr; - register char c; + register int c; ptr = &keyword[0]; - c = *field++; + c = (unsigned char) *field++; if (isspace (c) || c == ':') return ((char *) NULL); *ptr++ = (islower (c) ? toupper (c) : c); - while (((c = *field++) != ':') && ! isspace (c)) + while (((c = (unsigned char) *field++) != ':') && ! isspace (c)) *ptr++ = (islower (c) ? toupper (c) : c); *ptr++ = '\0'; while (isspace (c)) - c = *field++; + c = (unsigned char) *field++; if (c != ':') return ((char *) NULL); *rest = field; @@ -622,13 +621,13 @@ parse_header (the_header, where) *where = '\0'; return; } - + /* Read lines from the input until we get a blank line. Create a list of `header' objects, one for each header field, each of which points to a list of `line_list' objects, one for each line in that field. Continuation lines are grouped in the headers they continue. */ - + header read_header () { @@ -728,7 +727,7 @@ main (argc, argv) command_line = alloc_string (name_length + args_size (the_header)); strcpy (command_line, mail_program_name); parse_header (the_header, &command_line[name_length]); - + the_pipe = popen (command_line, "w"); if (the_pipe == ((FILE *) NULL)) fatal ("cannot open pipe to real mailer");