]> git.marmaro.de Git - mmh/commitdiff
Revert "add free_field as standard for struct field"
authorPhilipp Takacs <philipp@bureaucracy.de>
Sun, 13 Dec 2015 16:14:38 +0000 (17:14 +0100)
committerPhilipp Takacs <philipp@bureaucracy.de>
Sun, 13 Dec 2015 16:14:38 +0000 (17:14 +0100)
This is not necesary, because the compieler have to take care
about NULL != (void*)0

This reverts commit a87df3543d3bc128ba4079d1f95638476ba5ca50.

18 files changed:
h/mh.h
sbr/m_getfld2.c
sbr/readconfig.c
sbr/seq_read.c
uip/distsbr.c
uip/mhbuild.c
uip/mhl.c
uip/mhparse.c
uip/new.c
uip/pick.c
uip/prompter.c
uip/rcvdist.c
uip/repl.c
uip/scansbr.c
uip/slocal.c
uip/sortm.c
uip/spost.c
uip/whom.c

diff --git a/h/mh.h b/h/mh.h
index 481f2f1ca16645124da2df5922dd68c2171c5385..8f6fad1d78ec61172ca555f68e283b3727f70769 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -212,8 +212,6 @@ struct field {
        size_t alloclen;
 };
 
-extern struct field free_field;
-
 /* m_getfld2() states */
 enum state {
        LENERR2 = -2,      /* Line too long */
index 74d25e4e9e03ec3f699a4f2c8ab5d44a23a8d745..18ad81283d015f00092fd23df55d43851a94bf40 100644 (file)
@@ -26,8 +26,6 @@ static enum threestate is_falted(FILE *);
 static size_t copyname(char *, char *);
 static bool is_separator(char *);
 
-struct field free_field = { "\0", 0, NULL, 0, 0 };
-
 
 /*
 ** FLD2:       We read a (complete) header field
@@ -57,7 +55,7 @@ m_getfld2(enum state s, struct field *f, FILE *msg)
                nchars = getline(&tmpline, &len, msg);
                if (nchars < 1) {
                        free(f->value);
-                       *f = free_field;
+                       *f = (struct field) { "\0", 0, NULL, 0, 0 };
                        if (feof(msg)) {
                                return FILEEOF2;
                        } else {
@@ -132,12 +130,15 @@ m_getfld2(enum state s, struct field *f, FILE *msg)
                return ret;
 
        case BODY2:
-               free(f->value);
-               *f = free_field;
+               *f->name = '\0';
+               f->namelen = 0;
 
                nchars = getline(&tmpline, &len, msg);
                if (nchars < 1) {
-                       free(tmpline);
+                       free(f->value);
+                       f->value = NULL;
+                       f->valuelen = 0;
+                       f->alloclen = 0;
                        if (feof(msg)) {
                                return FILEEOF2;
                        } else {
@@ -149,6 +150,7 @@ m_getfld2(enum state s, struct field *f, FILE *msg)
                        ret = LENERR2;
                }
 
+               free(f->value);
                f->value = tmpline;
                f->valuelen = nchars;
                f->alloclen = len;
index 645a9efe269a0b4a0596d07a5b11d33a56fd42f6..ccdf867c63cec3d1c2988ed6feeef48846daf1bb 100644 (file)
@@ -37,7 +37,7 @@ void
 readconfig(struct node **npp, FILE *ib, char *file, int ctx)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        struct node *np;
        struct procstr *ps;
 
index 68351acb173bb6b26f6de49e22d72ab8f656c9e9..1929b263f8400d392c4f93ee78b07e2861b57c1e 100644 (file)
@@ -56,7 +56,7 @@ static void
 seq_public(struct msgs *mp)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char seqfile[PATH_MAX];
        FILE *fp;
 
index 21b42a5cf883c3b6e9f859ffc0e719ecba1f5879..9c20fdaded6a714ed896f1a6d767ebe15a63e6e0 100644 (file)
@@ -25,7 +25,7 @@ int
 distout(char *drft, char *msgnam, char *backup)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        unsigned char *dp;
        int resent = 0;
        FILE *ifp, *ofp;
@@ -123,7 +123,7 @@ static int
 ready_msg(char *msgnam)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char tmpfil[BUFSIZ];
        int out;
        FILE *ifp, *ofp;
index c4b1c607e8df3d18cabda2c759f3151c85c3a55a..ec5623a6633dba52458fbeb8be97aa8c79ea11cf 100644 (file)
@@ -313,7 +313,7 @@ static CT
 build_mime(char *infile)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int compnum;
        char buf[BUFSIZ];
        char *cp, *np, *vp;
index 20f5d31f8bb5998e1655855ed57bcd78f3e58d2f..8becba9bb1a50ecd874d9b558431f9387e63c902 100644 (file)
--- a/uip/mhl.c
+++ b/uip/mhl.c
@@ -599,7 +599,7 @@ static void
 mhlfile(FILE *fp, char *mname, int ofilen, int ofilec)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        struct mcomp *c1, *c2, *c3;
        char **ip;
 
index 04333f49b2f069943312b8f9ea9f9d090a692351..257bc66e914318154a612af0a0a77f26bfb6c2b0 100644 (file)
@@ -232,7 +232,7 @@ static CT
 get_content(FILE *in, char *file, int toplevel)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int compnum;
        CT ct;
        HF hp;
index 60bb80637d7fe0690b46c0e2afff2c656d5ed3ba..a2be29bf0c2742cb6ecfaf68d050b7bf5c8c091f 100644 (file)
--- a/uip/new.c
+++ b/uip/new.c
@@ -96,7 +96,7 @@ static char *
 get_msgnums(char *folder, char *sequences[])
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char *seqfile = concat(toabsdir(folder), "/", mh_seq, (void *)NULL);
        FILE *fp = fopen(seqfile, "r");
        char *msgnums = NULL, *this_msgnums, *old_msgnums;
index 03af15aa690cb984f39203cb8e86a1917adbbb1c..993527b471828578e444f703cdd7fd91419877bc 100644 (file)
@@ -1242,7 +1242,7 @@ TWSaction(params)
 plist
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char *bp;
        struct tws *tw;
 
index c715cb710445a8c039dff38b2c54c77d270369c4..c7eb95787faad7b09aad5bc1e4074972d9b2aa09 100644 (file)
@@ -57,7 +57,7 @@ main(int argc, char **argv)
        int fdi, fdo, i;
        char *cp, *drft = NULL;
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char buffer[BUFSIZ], tmpfil[BUFSIZ];
        char **arguments, **argp;
        FILE *in, *out;
index b54bc39994b96f702f9c7a0f903272ccbbee20f9..8292a20bac1ac2f262c7d490b68751cbf9ef06ba 100644 (file)
@@ -154,7 +154,7 @@ rcvdistout(FILE *inb, char *form, char *addrs)
 {
        int char_read = 0, format_len, i;
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char **ap;
        char *cp, *scanl;
        struct comp *cptr;
index bbc3cfe83be6a59f3d93ac5dc08ed2eddcc8fab7..d71f27b31f6f601a617928de19ee2a4cb058c878 100644 (file)
@@ -378,7 +378,7 @@ replout(FILE *inb, char *drft, struct msgs *mp,
        int mime, char *form, char *filter)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int i;
        struct comp *cptr;
        char **ap;
index 8281c7bc0d49fe7df2bf3c5d653521d7eccc88b5..50b250e558ec086590a99ac015c8f824a3b88868 100644 (file)
@@ -50,7 +50,7 @@ scan(FILE *inb, int innum, int outnum, char *fmtstr, int width, int curflg,
        static int slwidth;
        int compnum, i;
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        char *cp;
        struct comp *cptr;
        char *scnmsg = NULL;
index 3b5007db1db4cc08754406109f2c18a39dfcd3e4..c3b45e87aaf8b3b7b8a068fa2a675bb28ebf4b00 100644 (file)
@@ -725,7 +725,7 @@ static int
 parse(int fd)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int i, fd1;
        char *cp, *dp, *lp;
        struct pair *p, *q;
index 6d45d35dc4b0149a7b10bd724b966500d21dcebc..61953e17fbe7fbcb61737b22ee1c384d80992bf0 100644 (file)
@@ -321,7 +321,7 @@ static int
 get_fields(char *datesw, int msg, struct smsg *smsg)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int compnum;
        char *msgnam;
        struct tws *tw;
index b8ae562984c347eaf98b85af944d6e89ca1da7a9..04479a1f6247e2ebcd3afbd1c2bc721ea254b3d6 100644 (file)
@@ -144,7 +144,7 @@ int
 main(int argc, char **argv)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int compnum;
        char *cp, *msg = NULL, **argp, **arguments;
        char **sargv, buf[BUFSIZ];
index c4e7e8f87497fa1bee07e0ed603280babc472441..a72c84f0977d88ad413c2d103018482a5676ba00 100644 (file)
@@ -204,7 +204,7 @@ static int
 process(char *file)
 {
        enum state state;
-       struct field f = free_field;
+       struct field f = {{0}};
        int compnum;
        FILE *in;