X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=sbr%2Fm_getfld.c;h=beb6e765245d3ae2dd563cabb2a53cc07c74c815;hp=aca481a18e433686204fcfeb1e2d660fd9f8f3df;hb=f3572e4b56fe8fffc75cb99b82b0cb063772836e;hpb=6f48e12f2d4dd510f1610338648c2f6ab904392f diff --git a/sbr/m_getfld.c b/sbr/m_getfld.c index aca481a..beb6e76 100644 --- a/sbr/m_getfld.c +++ b/sbr/m_getfld.c @@ -184,6 +184,7 @@ static int (*eom_action)() = NULL; # define _ptr _p /* Gag */ # define _cnt _r /* Retch */ # define _filbuf __srget /* Puke */ +# define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC #endif #ifdef SCO_5_STDIO @@ -191,6 +192,11 @@ static int (*eom_action)() = NULL; # define _cnt __cnt # define _base __base # define _filbuf(fp) ((fp)->__cnt = 0, __filbuf(fp)) +# define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC +#endif + +#ifndef DEFINED__FILBUF_TO_SOMETHING_SPECIFIC +extern int _filbuf(FILE*); #endif @@ -390,7 +396,8 @@ m_getfld (int state, unsigned char *name, unsigned char *buf, *cp++ = j = *(iob->_ptr + c); c = _filbuf(iob); #endif - if ((j == '\0' || j == '\n') && c != ' ' && c != '\t') { + if (c == EOF || + ((j == '\0' || j == '\n') && c != ' ' && c != '\t')) { if (c != EOF) { #ifdef LINUX_STDIO --iob->_IO_read_ptr; @@ -571,7 +578,7 @@ m_unknown(FILE *iob) pat_map = (unsigned char **) calloc (256, sizeof(unsigned char *)); for (cp = (char *) fdelim + 1; cp < (char *) delimend; cp++ ) - pat_map[*cp] = (unsigned char *) cp; + pat_map[(unsigned char)*cp] = (unsigned char *) cp; if (msg_style == MS_MMDF) { /* flush extra msg hdrs */