projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'm_getfld2-meillo' into master
[mmh]
/
uip
/
spost.c
diff --git
a/uip/spost.c
b/uip/spost.c
index
a4c170b
..
53ae86a
100644
(file)
--- a/
uip/spost.c
+++ b/
uip/spost.c
@@
-144,9
+144,11
@@
static size_t do_aliasing(struct mailname *, struct mailname **);
int
main(int argc, char **argv)
{
int
main(int argc, char **argv)
{
- int state, compnum;
+ enum state state;
+ struct field f = {{0}};
+ int compnum;
char *cp, *msg = NULL, **argp, **arguments;
char *cp, *msg = NULL, **argp, **arguments;
- char **sargv, buf[BUFSIZ], name[NAMESZ];
+ char **sargv, buf[BUFSIZ];
FILE *in;
setlocale(LC_ALL, "");
FILE *in;
setlocale(LC_ALL, "");
@@
-211,7
+213,7
@@
main(int argc, char **argv)
verbose++;
out = stdout;
} else {
verbose++;
out = stdout;
} else {
- tmpfil = getcpy(m_mktemp2("/tmp/", invo_name, NULL, &out));
+ tmpfil = mh_xstrdup(m_mktemp2("/tmp/", invo_name, NULL, &out));
}
/* check for "Aliasfile:" profile entry */
}
/* check for "Aliasfile:" profile entry */
@@
-219,7
+221,7
@@
main(int argc, char **argv)
char *dp, **ap;
aliasflg = 1;
char *dp, **ap;
aliasflg = 1;
- for (ap=brkstring(dp=getcpy(cp), " ", "\n"); ap && *ap;
+ for (ap=brkstring(dp=mh_xstrdup(cp), " ", "\n"); ap && *ap;
ap++) {
if ((state = alias(etcpath(*ap))) != AK_OK) {
adios(EX_IOERR, NULL, "aliasing error in file %s: %s",
ap++) {
if ((state = alias(etcpath(*ap))) != AK_OK) {
adios(EX_IOERR, NULL, "aliasing error in file %s: %s",
@@
-231,37
+233,28
@@
main(int argc, char **argv)
hdrtab = (msgstate == normal) ? NHeaders : RHeaders;
hdrtab = (msgstate == normal) ? NHeaders : RHeaders;
- for (compnum = 1, state = FLD;;) {
- switch (state = m_getfld(state, name, buf, sizeof(buf), in)) {
- case FLD:
- case FLDPLUS:
+ for (compnum = 1, state = FLD2;;) {
+ switch (state = m_getfld2(state, &f, in)) {
+ case FLD2:
compnum++;
compnum++;
- cp = getcpy(buf);
- while (state == FLDPLUS) {
- state = m_getfld(state, name, buf,
- sizeof(buf), in);
- cp = add(buf, cp);
- }
- putfmt(name, cp, out);
- free(cp);
+ putfmt(f.name, f.value, out);
continue;
continue;
- case BODY:
+ case BODY2:
finish_headers(out);
finish_headers(out);
- fprintf(out, "\n%s", buf);
- while (state == BODY) {
- state = m_getfld(state, name, buf,
- sizeof(buf), in);
- fputs(buf, out);
+ fprintf(out, "\n%s", f.value);
+ while ((state = m_getfld2(state, &f, in)) == BODY2) {
+ fputs(f.value, out);
}
break;
}
break;
- case FILEEOF:
+ case FILEEOF2:
finish_headers(out);
break;
finish_headers(out);
break;
- case LENERR:
- case FMTERR:
+ case LENERR2:
+ case FMTERR2:
+ case IOERR2:
adios(EX_DATAERR, NULL, "message format error in component #%d",
compnum);
adios(EX_DATAERR, NULL, "message format error in component #%d",
compnum);
@@
-329,7
+322,7
@@
main(int argc, char **argv)
}
while (recipients != NULL) {
}
while (recipients != NULL) {
- cp = getcpy(recipients->m_mbox);
+ cp = mh_xstrdup(recipients->m_mbox);
if (recipients->m_host) {
cp = add("@", cp);
cp = add(recipients->m_host, cp);
if (recipients->m_host) {
cp = add("@", cp);
cp = add(recipients->m_host, cp);
@@
-405,7
+398,7
@@
putfmt(char *name, char *str, FILE *out)
}
if (hdr->flags & HSUB) {
}
if (hdr->flags & HSUB) {
- subject = getcpy(str);
+ subject = mh_xstrdup(str);
}
if (!(hdr->flags & HADR)) {
}
if (!(hdr->flags & HADR)) {
@@
-551,10
+544,10
@@
putadr(char *name, struct mailname *nl)
}
if (mp->m_ingrp) {
if (mp->m_gname != NULL) {
}
if (mp->m_ingrp) {
if (mp->m_gname != NULL) {
- cp = getcpy(mp->m_gname);
+ cp = mh_xstrdup(mp->m_gname);
cp = add(";", cp);
linepos = putone(cp, linepos, namelen);
cp = add(";", cp);
linepos = putone(cp, linepos, namelen);
- free(cp);
+ mh_free0(&cp);
cp = NULL;
}
} else {
cp = NULL;
}
} else {
@@
-650,7
+643,7
@@
fcc(char *file, char *folders)
fprintf(stderr, "Skipped %sFcc %s: unable to system().\n",
msgstate == resent ? "Resent-" : "", folders);
} else if (status != 0) {
fprintf(stderr, "Skipped %sFcc %s: unable to system().\n",
msgstate == resent ? "Resent-" : "", folders);
} else if (status != 0) {
- fprintf(stderr, "%sFcc %s: Problems occured.\n",
+ fprintf(stderr, "%sFcc %s: Problems occurred.\n",
msgstate == resent ? "Resent-" : "", folders);
}
}
msgstate == resent ? "Resent-" : "", folders);
}
}
@@
-666,7
+659,7
@@
process_bccs(char *origmsg)
FILE *out = NULL;
for (mp=bccs; mp; mp=mp->m_next) {
FILE *out = NULL;
for (mp=bccs; mp; mp=mp->m_next) {
- bccdraft = getcpy(m_mktemp2("/tmp/", invo_name, NULL, &out));
+ bccdraft = mh_xstrdup(m_mktemp2("/tmp/", invo_name, NULL, &out));
fprintf(out, "To: %s\n", mp->m_text);
if (from) {
fprintf(out, "From: %s\n", from->m_text);
fprintf(out, "To: %s\n", mp->m_text);
if (from) {
fprintf(out, "From: %s\n", from->m_text);