projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add some gcc hint defines
[mmh]
/
uip
/
scansbr.c
diff --git
a/uip/scansbr.c
b/uip/scansbr.c
index
50b250e
..
48837d7
100644
(file)
--- a/
uip/scansbr.c
+++ b/
uip/scansbr.c
@@
-74,8
+74,7
@@
scan(FILE *inb, int innum, int outnum, char *fmtstr, int width, int curflg,
width = MAXSCANL;
}
dat[3] = slwidth = width;
width = MAXSCANL;
}
dat[3] = slwidth = width;
- scanl = (char *) mh_xmalloc((size_t) SCAN_CHARWIDTH *
- (slwidth + 2)); /* probably for \n and \0 */
+ scanl = mh_xcalloc(slwidth + 2, SCAN_CHARWIDTH); /* probably for \n and \0 */
/* Compile format string */
ncomps = fmt_compile(fmtstr, &fmt) + 1;
FINDCOMP(datecomp, "date");
/* Compile format string */
ncomps = fmt_compile(fmtstr, &fmt) + 1;
FINDCOMP(datecomp, "date");
@@
-108,6
+107,9
@@
scan(FILE *inb, int innum, int outnum, char *fmtstr, int width, int curflg,
for (compnum = 1, state = FLD2; ; ) {
state = m_getfld2(state, &f, inb);
switch (state) {
for (compnum = 1, state = FLD2; ; ) {
state = m_getfld2(state, &f, inb);
switch (state) {
+ case LENERR2:
+ state = FLD2;
+ /* FALL */
case FLD2:
compnum++;
if (incing) {
case FLD2:
compnum++;
if (incing) {
@@
-129,7
+131,7
@@
scan(FILE *inb, int innum, int outnum, char *fmtstr, int width, int curflg,
free(cptr->c_text);
cptr->c_text = NULL;
}
free(cptr->c_text);
cptr->c_text = NULL;
}
- cptr->c_text = getcpy(f.value);
+ cptr->c_text = mh_xstrdup(f.value);
cp = cptr->c_text + strlen(cptr->c_text) - 1;
for (; cp >= cptr->c_text; cp--) {
if (isspace(*cp)) {
cp = cptr->c_text + strlen(cptr->c_text) - 1;
for (; cp >= cptr->c_text; cp--) {
if (isspace(*cp)) {
@@
-192,19
+194,20
@@
body:;
}
goto finished;
}
goto finished;
- case LENERR2:
- advise(NULL, "line \"%s\" too long", trim(f.value));
- goto handleerror;
-
case FMTERR2:
if (strncmp("From ", f.value, 5)==0) {
state = FILEEOF2;
goto finished;
}
case FMTERR2:
if (strncmp("From ", f.value, 5)==0) {
state = FILEEOF2;
goto finished;
}
- /* FALL */
+ state = FLD2;
+ fprintf(stderr, innum ?
+ "??Format error (message %d) in " :
+ "??Format error in ",
+ outnum ? outnum : innum);
+ fprintf(stderr, "component %d\n", compnum);
+ continue;
case IOERR2:
case IOERR2:
-handleerror:;
fprintf(stderr, innum ?
"??Format error (message %d) in " :
"??Format error in ",
fprintf(stderr, innum ?
"??Format error (message %d) in " :
"??Format error in ",
@@
-252,7
+255,7
@@
finished:
if (datecomp && !datecomp->c_text) {
if (!datecomp->c_text) {
if (!datecomp->c_tws)
if (datecomp && !datecomp->c_text) {
if (!datecomp->c_text) {
if (!datecomp->c_tws)
- datecomp->c_tws = (struct tws *) mh_xcalloc((size_t) 1, sizeof(*datecomp->c_tws));
+ datecomp->c_tws = mh_xcalloc(1, sizeof(*datecomp->c_tws));
if (!datecomp->c_tws)
adios(EX_OSERR, NULL, "unable to allocate tws buffer");
*datecomp->c_tws = *dlocaltime((time_t *) &st.st_mtime);
if (!datecomp->c_tws)
adios(EX_OSERR, NULL, "unable to allocate tws buffer");
*datecomp->c_tws = *dlocaltime((time_t *) &st.st_mtime);