X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fmhcachesbr.c;h=201ce514ab294df8f8ffdd9cea3159b540a15c90;hb=412b2e54251ff6e20537f83b95c8ee76ea8c5c40;hp=c365470f699bbbae8ec644769166774a1c668437;hpb=d39e2c447b0d163a5a63f480b23d06edb7a73aa0;p=mmh diff --git a/uip/mhcachesbr.c b/uip/mhcachesbr.c index c365470..201ce51 100644 --- a/uip/mhcachesbr.c +++ b/uip/mhcachesbr.c @@ -13,31 +13,20 @@ #include #include #include -#include #include #include #include #include #include -#ifdef TIME_WITH_SYS_TIME +#ifdef HAVE_SYS_TIME_H # include -# include -#else -# ifdef TM_IN_SYS_TIME -# include -# else -# include -# endif -#endif - -#ifdef HAVE_SYS_WAIT_H -# include #endif +#include extern int debugsw; -extern pid_t xpid; /* mhshowsbr.c or mhbuildsbr.c */ +extern pid_t xpid; /* mhshowsbr.c or mhbuild.c */ /* cache policies */ int rcachesw = CACHE_ASK; @@ -51,7 +40,7 @@ char *cache_public; char *cache_private; -/* mhparse.c (OR) mhbuildsbr.c */ +/* mhparse.c (OR) mhbuild.c */ int pidcheck (int); /* mhmisc.c */ @@ -207,44 +196,41 @@ find_cache(CT ct, int policy, int *writing, char *id, char *buffer, int buflen) writing ? "writing" : "reading", id); switch (policy) { - case CACHE_NEVER: - default: - break; + case CACHE_NEVER: + default: + break; - case CACHE_ASK: - case CACHE_PUBLIC: - if (cache_private && !writing && - find_cache_aux(writing ? 2 : 0, - cache_private, id, buffer, buflen) - == OK) { - if (access(buffer, R_OK) != NOTOK) { + case CACHE_ASK: + case CACHE_PUBLIC: + if (cache_private && !writing && + find_cache_aux(writing ? 2 : 0, + cache_private, id, buffer, buflen) == OK) { + if (access(buffer, R_OK) != NOTOK) { got_private: - if (writing) - *writing = 1; + if (writing) + *writing = 1; got_it: - status = OK; - break; - } + status = OK; + break; } - if (cache_public && find_cache_aux(writing ? 1 : 0, - cache_public, id, buffer, buflen) - == OK) { - if (writing || access(buffer, R_OK) != NOTOK) { - if (writing) - *writing = 0; - goto got_it; - } + } + if (cache_public && find_cache_aux(writing ? 1 : 0, + cache_public, id, buffer, buflen) == OK) { + if (writing || access(buffer, R_OK) != NOTOK) { + if (writing) + *writing = 0; + goto got_it; } - break; + } + break; - case CACHE_PRIVATE: - if (cache_private && find_cache_aux(writing ? 2 : 0, - cache_private, id, buffer, buflen) - == OK) { - if (writing || access(buffer, R_OK) != NOTOK) - goto got_private; - } - break; + case CACHE_PRIVATE: + if (cache_private && find_cache_aux(writing ? 2 : 0, + cache_private, id, buffer, buflen) == OK) { + if (writing || access(buffer, R_OK) != NOTOK) + goto got_private; + } + break; } @@ -317,12 +303,7 @@ find_cache_aux(int writing, char *directory, char *id, char *buffer, FILE *fp; static int partno, pid; static time_t clock = 0; - -#ifdef BSD42 - usemap = strchr(id, '/') ? 1 : 0; -#else usemap = 1; -#endif if (debugsw) fprintf(stderr, "find_cache_aux %s usemap=%d\n", @@ -415,39 +396,41 @@ find_cache_aux2(char *mapfile, char *id, char *mapname, int namelen) char *cp, *dp; switch (state = m_getfld(state, name, buf, sizeof(buf), fp)) { - case FLD: - case FLDPLUS: - case FLDEOF: - strncpy(mapname, name, namelen); - if (state != FLDPLUS) - cp = buf; - else { - cp = getcpy(buf); - while (state == FLDPLUS) { - state = m_getfld(state, name, buf, sizeof(buf), fp); - cp = add(buf, cp); - } - } - dp = trimcpy(cp); - if (cp != buf) - free(cp); - if (debugsw) - fprintf(stderr, "compare %s to %s <- %s\n", id, dp, mapname); - result = strcmp(id, dp); - free(dp); - if (result == 0) { - lkfclose(fp, mapfile); - return OK; + case FLD: + case FLDPLUS: + case FLDEOF: + strncpy(mapname, name, namelen); + if (state != FLDPLUS) + cp = buf; + else { + cp = getcpy(buf); + while (state == FLDPLUS) { + state = m_getfld(state, name, buf, + sizeof(buf), fp); + cp = add(buf, cp); } - if (state != FLDEOF) - continue; - /* else fall... */ - - case BODY: - case BODYEOF: - case FILEEOF: - default: - break; + } + dp = trimcpy(cp); + if (cp != buf) + free(cp); + if (debugsw) + fprintf(stderr, "compare %s to %s <- %s\n", + id, dp, mapname); + result = strcmp(id, dp); + free(dp); + if (result == 0) { + lkfclose(fp, mapfile); + return OK; + } + if (state != FLDEOF) + continue; + /* else fall... */ + + case BODY: + case BODYEOF: + case FILEEOF: + default: + break; } break; }