commit - 4b4c3458436c646c06d295cc56e990eef9897c6f
commit + a96922a16759643ba6a0bc3d9781e97fedbf1107
blob - 336b1f37a0f31df70ee9c3a914bfb5d384432cab
blob + d2aa0e3a6e1112829f4b897b9d2a90aa48c328cf
--- mcache.c
+++ mcache.c
#include "parser.h"
#include "utils.h"
-const char *gemtext_prefixes[] = {
+static const char *gemtext_prefixes[] = {
[LINE_TEXT] = "",
[LINE_TITLE_1] = "# ",
[LINE_TITLE_2] = "## ",
static struct timeval tv = { 60, 0 };
static struct event timerev;
-struct mcache {
- struct ohash h;
- size_t npages;
- size_t tot;
-} mcache;
+static struct ohash h;
+static size_t npages;
+static size_t tot;
struct mcache_entry {
time_t ts;
struct mcache_entry *e;
unsigned int slot;
- slot = ohash_qlookup(&mcache.h, url);
- if ((e = ohash_remove(&mcache.h, slot)) == NULL)
+ slot = ohash_qlookup(&h, url);
+ if ((e = ohash_remove(&h, slot)) == NULL)
return;
- mcache.npages--;
- mcache.tot -= EVBUFFER_LENGTH(e->evb);
+ npages--;
+ tot -= EVBUFFER_LENGTH(e->evb);
evbuffer_free(e->evb);
free(e);
treshold = time(NULL) - 15 * 60;
- for (e = ohash_first(&mcache.h, &i); e != NULL; e = ohash_next(&mcache.h, &i))
+ for (e = ohash_first(&h, &i); e != NULL; e = ohash_next(&h, &i))
if (e->ts < treshold)
mcache_free_entry(e->url);
.alloc = hash_alloc,
};
- ohash_init(&mcache.h, 5, &info);
+ ohash_init(&h, 5, &info);
evtimer_set(&timerev, clean_old_entries, NULL);
}
/* free any previously cached copies of this page */
mcache_free_entry(url);
- slot = ohash_qlookup(&mcache.h, url);
- ohash_insert(&mcache.h, slot, e);
+ slot = ohash_qlookup(&h, url);
+ ohash_insert(&h, slot, e);
- mcache.npages++;
- mcache.tot += EVBUFFER_LENGTH(e->evb);
+ npages++;
+ tot += EVBUFFER_LENGTH(e->evb);
if (!evtimer_pending(&timerev, NULL))
evtimer_add(&timerev, &tv);
struct mcache_entry *e;
unsigned int slot;
- slot = ohash_qlookup(&mcache.h, url);
- if ((e = ohash_find(&mcache.h, slot)) == NULL)
+ slot = ohash_qlookup(&h, url);
+ if ((e = ohash_find(&h, slot)) == NULL)
return 0;
parser_init(tab, gemtext_initparser);
}
void
-mcache_info(size_t *npages, size_t *tot)
+mcache_info(size_t *r_npages, size_t *r_tot)
{
- *npages = mcache.npages;
- *tot = mcache.tot;
+ *r_npages = npages;
+ *r_tot = tot;
}