/*
* NOTE WELL: si_key MUST NOT have value of NOTOK
*
- * si_key is 1 if access method is anonymous.
+ * si_val is 1 if access method is anonymous.
*/
struct str2init str2methods[] = {
{ "afs", 1, InitFile },
char *np, *vp;
CT ct;
HF hp;
- m_getfld_state_t gstate = 0;
+ m_getfld_state_t gstate;
/* allocate the content structure */
NEW0(ct);
* Parse the header fields for this
* content into a linked list.
*/
- m_getfld_track_filepos (&gstate, in);
+ gstate = m_getfld_state_init(in);
+ m_getfld_track_filepos2(&gstate);
for (compnum = 1;;) {
int bufsz = sizeof buf;
- switch (state = m_getfld (&gstate, name, buf, &bufsz, in)) {
+ switch (state = m_getfld2(&gstate, name, buf, &bufsz)) {
case FLD:
case FLDPLUS:
compnum++;
/* if necessary, get rest of field */
while (state == FLDPLUS) {
bufsz = sizeof buf;
- state = m_getfld (&gstate, name, buf, &bufsz, in);
+ state = m_getfld2(&gstate, name, buf, &bufsz);
vp = add (buf, vp); /* add to previous value */
}
}
}
else
- inform("extraneous information in message %s's %s: field\n%*s(%s)",
- ct->c_file, TYPE_FIELD, strlen(invo_name) + 2, "", cp);
+ inform("extraneous information in message %s's %s: field\n"
+ " (%s)", ct->c_file, TYPE_FIELD, cp);
}
return OK;
return NOTOK;
}
} else if (*cp) {
- inform("extraneous information in message %s's %s: field\n%*s(%s)",
- ct->c_file, DISPO_FIELD, strlen(invo_name) + 2, "", cp);
+ inform("extraneous information in message %s's %s: field\n (%s)",
+ ct->c_file, DISPO_FIELD, cp);
}
if (buildflag)
*cp = '\0';
if (decodeBase64 (buffer, &decoded, &decoded_len, ct->c_type == CT_TEXT,
- ct->c_digested ? digest : NULL) == OK) {
+ ct->c_digested ? digest : NULL) != OK)
+ goto clean_up;
+
+ {
size_t i;
unsigned char *decoded_p = decoded;
for (i = 0; i < decoded_len; ++i) {
}
}
}
- } else {
- goto clean_up;
}
fseek (ct->c_fp, 0L, SEEK_SET);
sizeof digest))
content_error (NULL, ct,
"content integrity suspect (digest mismatch) -- continuing");
- else
- if (debugsw)
- fprintf (stderr, "content integrity confirmed\n");
+ else if (debugsw)
+ fprintf (stderr, "content integrity confirmed\n");
}
fseek (ce->ce_fp, 0L, SEEK_SET);
admonish (cachefile, "unable to fopen for reading");
}
- *fd = fileno (ce->ce_fp);
+ *fd = ce->ce_fp ? fileno (ce->ce_fp) : -1;
return OK;
ready_already:
if (ferror (gp)) {
admonish (ce->ce_file, "error reading");
(void) m_unlink (cachefile);
- }
- else
- if (ferror (fp)) {
- admonish (cachefile, "error writing");
- (void) m_unlink (cachefile);
- }
+ } else if (ferror (fp)) {
+ admonish (cachefile, "error writing");
+ (void) m_unlink (cachefile);
+ }
fclose (fp);
}
umask (mask);
if (ferror (gp)) {
admonish (ce->ce_file, "error reading");
(void) m_unlink (cachefile);
- }
- else
- if (ferror (fp)) {
- admonish (cachefile, "error writing");
- (void) m_unlink (cachefile);
- }
+ } else if (ferror (fp)) {
+ admonish (cachefile, "error writing");
+ (void) m_unlink (cachefile);
+ }
fclose (fp);
}
umask (mask);
fseeko(ce->ce_fp, 0, SEEK_SET);
*file = ce->ce_file;
- return fd;
+ return fileno(ce->ce_fp);
}
for (up = dp; isspace ((unsigned char) *dp);)
dp++;
if (dp == cp || *dp != '=') {
- inform("invalid parameter in message %s's %s: "
- "field\n%*sparameter %s (error detected at offset %d)",
- filename, fieldname, strlen(invo_name) + 2, "",cp, dp - cp);
+ inform("invalid parameter in message %s's %s: field\n"
+ " parameter %s (error detected at offset %ld)",
+ filename, fieldname, cp, (long)(dp - cp));
return NOTOK;
}
if (isdigit((unsigned char) *vp))
index = *vp - '0' + index * 10;
else {
- inform("invalid parameter index in message %s's "
- "%s: field\n%*s(parameter %s)", filename,
- fieldname, strlen(invo_name) + 2, "", cp);
+ inform("invalid parameter index in message %s's %s: field"
+ "\n (parameter %s)", filename, fieldname, cp);
return NOTOK;
}
} else {
}
vp++;
} else {
- inform("missing charset in message %s's %s: "
- "field\n%*s(parameter %s)", filename, fieldname,
- strlen(invo_name) + 2, "", nameptr);
+ inform("missing charset in message %s's %s: field\n"
+ " (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
return NOTOK;
}
}
vp++;
} else {
- inform("missing language tag in message %s's %s: "
- "field\n%*s(parameter %s)", filename, fieldname,
- strlen(invo_name) + 2, "", nameptr);
+ inform("missing language tag in message %s's %s: field\n"
+ " (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
mh_xfree(charset);
return NOTOK;
!isxdigit((unsigned char) *(vp + 1)) ||
*(vp + 2) == '\0' ||
!isxdigit((unsigned char) *(vp + 2))) {
- inform("invalid encoded sequence in message "
- "%s's %s: field\n%*s(parameter %s)",
- filename, fieldname, strlen(invo_name) + 2,
- "", nameptr);
+ inform("invalid encoded sequence in message %s's %s: field\n"
+ " (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
mh_xfree(charset);
mh_xfree(lang);
switch (*cp++) {
case '\0':
bad_quote:
- inform("invalid quoted-string in message %s's %s: "
- "field\n%*s(parameter %s)", filename,
- fieldname, strlen(invo_name) + 2, "", nameptr);
+ inform("invalid quoted-string in message %s's %s: field\n"
+ " (parameter %s)", filename, fieldname, nameptr);
free(nameptr);
mh_xfree(charset);
mh_xfree(lang);
} else {
for (sp2 = pp->sechead; sp2 != NULL; sp2 = sp2->next) {
if (sp2->index == sp->index) {
- inform("duplicate index (%d) in message "
- "%s's %s: field\n%*s(parameter %s)", sp->index,
- filename, fieldname, strlen(invo_name) + 2, "",
- nameptr);
+ inform("duplicate index (%d) in message %s's %s: field"
+ "\n (parameter %s)", sp->index, filename,
+ fieldname, nameptr);
return NOTOK;
}
if (sp2->index < sp->index &&
}
if (sp2 == NULL) {
- inform("Internal error: cannot insert partial "
- "param in message %s's %s: field\n%*s(parameter %s)",
- filename, fieldname, strlen(invo_name) + 2, "",
- nameptr);
+ inform("Internal error: cannot insert partial param "
+ "in message %s's %s: field\n (parameter %s)",
+ filename, fieldname, nameptr);
return NOTOK;
}
}
int pindex = 0;
for (sp = pp->sechead; sp != NULL; sp = sp->next) {
if (sp->index != pindex++) {
- inform("missing section %d for parameter in "
- "message %s's %s: field\n%*s(parameter %s)", pindex - 1,
- filename, fieldname, strlen(invo_name) + 2, "",
- pp->name);
+ inform("missing section %d for parameter in message "
+ "%s's %s: field\n (parameter %s)", pindex - 1,
+ filename, fieldname, pp->name);
return NOTOK;
}
tlen += sp->len;