projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
It turns out that as part of POSIXification we got rid of checks for
[mmh]
/
uip
/
scansbr.c
diff --git
a/uip/scansbr.c
b/uip/scansbr.c
index
ae347e8
..
7eef85f
100644
(file)
--- a/
uip/scansbr.c
+++ b/
uip/scansbr.c
@@
-56,14
+56,9
@@
char *scanl = 0; /* text of most recent scanline */
/*
* prototypes
*/
/*
* prototypes
*/
-int sc_width (void); /* from termsbr.c */
static int mh_fputs(char *, FILE *);
static int mh_fputs(char *, FILE *);
-#ifdef MULTIBYTE_SUPPORT
#define SCAN_CHARWIDTH MB_CUR_MAX
#define SCAN_CHARWIDTH MB_CUR_MAX
-#else
-#define SCAN_CHARWIDTH 1
-#endif
int
scan (FILE *inb, int innum, int outnum, char *nfs, int width, int curflg,
int
scan (FILE *inb, int innum, int outnum, char *nfs, int width, int curflg,
@@
-208,6
+203,15
@@
scan (FILE *inb, int innum, int outnum, char *nfs, int width, int curflg,
case BODY:
compnum = -1;
case BODY:
compnum = -1;
+ /*
+ * A slight hack ... if we have less than rlwidth characters
+ * in the buffer, call m_getfld again.
+ */
+
+ if ((i = strlen(tmpbuf)) < rlwidth) {
+ state = m_getfld (state, name, tmpbuf + i,
+ rlwidth - i, inb);
+ }
if (! outnum) {
state = FILEEOF; /* stop now if scan cmd */
goto finished;
if (! outnum) {
state = FILEEOF; /* stop now if scan cmd */
goto finished;