]> diplodocus.org Git - nmh/blobdiff - uip/mhcachesbr.c
Removed support for file -i, it just spits out "regular file"
[nmh] / uip / mhcachesbr.c
index 94c4bb34adefd97119e7a52f2d9d9b3c5ade39ff..0bf725c686718fca40882a7bea70662f77a1e0bb 100644 (file)
@@ -11,8 +11,6 @@
 #include <fcntl.h>
 #include <h/signals.h>
 #include <h/md5.h>
-#include <errno.h>
-#include <signal.h>
 #include <h/mts.h>
 #include <h/tws.h>
 #include <h/mime.h>
@@ -96,7 +94,7 @@ cache_content (CT ct)
 {
     int        cachetype;
     char *file, cachefile[BUFSIZ];
-    CE ce = ct->c_cefile;
+    CE ce = &ct->c_cefile;
 
     if (!ct->c_id) {
        advise (NULL, "no %s: field in %s", ID_FIELD, ct->c_file);
@@ -344,19 +342,19 @@ use_raw:
 
     make_intermediates (mapfile);
     mask = umask (writing == 2 ? 0077 : 0);
-    if (!(fp = lkfopen (mapfile, "a")) && errno == ENOENT) {
+    if (!(fp = lkfopendata (mapfile, "a")) && errno == ENOENT) {
        int fd;
 
        if ((fd = creat (mapfile, 0666)) != NOTOK) {
            close (fd);
-           fp = lkfopen (mapfile, "a");
+           fp = lkfopendata (mapfile, "a");
        }
     }
     umask (mask);
     if (!fp)
        return NOTOK;
     fprintf (fp, "%s: %s\n", mapname, id);
-    lkfclose (fp, mapfile);
+    lkfclosedata (fp, mapfile);
 
 done_map:
     if (*mapname == '/')
@@ -376,18 +374,17 @@ find_cache_aux2 (char *mapfile, char *id, char *mapname, int namelen)
     int        state;
     char buf[BUFSIZ], name[NAMESZ];
     FILE *fp;
-    m_getfld_state_t gstate;
+    m_getfld_state_t gstate = 0;
 
-    if (!(fp = lkfopen (mapfile, "r")))
+    if (!(fp = lkfopendata (mapfile, "r")))
        return NOTOK;
 
-    m_getfld_state_init (&gstate);
     for (;;) {
        int result;
        char *cp, *dp;
        int bufsz = sizeof buf;
 
-       switch (state = m_getfld (gstate, name, buf, &bufsz, fp)) {
+       switch (state = m_getfld (&gstate, name, buf, &bufsz, fp)) {
            case FLD:
            case FLDPLUS:
                strncpy (mapname, name, namelen);
@@ -397,7 +394,7 @@ find_cache_aux2 (char *mapfile, char *id, char *mapname, int namelen)
                    cp = add (buf, NULL);
                    while (state == FLDPLUS) {
                        bufsz = sizeof buf;
-                       state = m_getfld (gstate, name, buf, &bufsz, fp);
+                       state = m_getfld (&gstate, name, buf, &bufsz, fp);
                        cp = add (buf, cp);
                    }
                }
@@ -410,7 +407,7 @@ find_cache_aux2 (char *mapfile, char *id, char *mapname, int namelen)
                result = strcmp (id, dp);
                free (dp);
                if (result == 0) {
-                   lkfclose (fp, mapfile);
+                   lkfclosedata (fp, mapfile);
                    return OK;
                }
                continue;
@@ -424,6 +421,6 @@ find_cache_aux2 (char *mapfile, char *id, char *mapname, int namelen)
     }
     m_getfld_state_destroy (&gstate);
 
-    lkfclose (fp, mapfile);
+    lkfclosedata (fp, mapfile);
     return NOTOK;
 }