projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mh-format
[mmh]
/
sbr
/
m_getfld.c
diff --git
a/sbr/m_getfld.c
b/sbr/m_getfld.c
index
cddf362
..
8a18e78
100644
(file)
--- a/
sbr/m_getfld.c
+++ b/
sbr/m_getfld.c
@@
-6,7
+6,7
@@
*/
#include <h/mh.h>
*/
#include <h/mh.h>
-#include <zotnet/mts/mts.h>
+#include <h/mts.h>
/* This module has a long and checkered history. First, it didn't burst
maildrops correctly because it considered two CTRL-A:s in a row to be
/* This module has a long and checkered history. First, it didn't burst
maildrops correctly because it considered two CTRL-A:s in a row to be
@@
-184,6
+184,7
@@
static int (*eom_action)() = NULL;
# define _ptr _p /* Gag */
# define _cnt _r /* Retch */
# define _filbuf __srget /* Puke */
# define _ptr _p /* Gag */
# define _cnt _r /* Retch */
# define _filbuf __srget /* Puke */
+# define DEFINED__FILBUF_TO_SOMETHING_SPECIFIC
#endif
#ifdef SCO_5_STDIO
#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 _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
#endif
@@
-572,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 = (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 */
if (msg_style == MS_MMDF) {
/* flush extra msg hdrs */
@@
-724,7
+730,8
@@
matchc(int patln, char *pat, int strln, char *str)
while (pc != *str++)
if (str > es)
return 0;
while (pc != *str++)
if (str > es)
return 0;
-
+ if (str > es+1)
+ return 0;
sp = str; pp = pat;
while (pp < ep && *sp++ == *pp)
pp++;
sp = str; pp = pat;
while (pp < ep && *sp++ == *pp)
pp++;