Commit Diff


commit - ffcd827cfe2431a4f2ba116bc00b205d12cdf6df
commit + befa807e5bfef47c79310f7ab3b7038042a49ee8
blob - 9a8ccea71b124b4df37e9365ade16c31b54f9a2c
blob + d39a1bbb0a2096692f5b9ee17498f9a45c9ebaf0
--- mcache.c
+++ mcache.c
@@ -39,6 +39,7 @@ const char *gemtext_prefixes[] = {
 
 struct mcache {
 	struct ohash	h;
+	size_t		npages;
 	size_t		tot;
 } mcache;
 
@@ -59,6 +60,9 @@ mcache_free_entry(const char *url)
 	if ((e = ohash_remove(&mcache.h, slot)) == NULL)
 		return;
 
+	mcache.npages--;
+	mcache.tot -= EVBUFFER_LENGTH(e->evb);
+
 	evbuffer_free(e->evb);
 	free(e);
 }
@@ -156,6 +160,10 @@ mcache_tab(struct tab *tab)
 
 	slot = ohash_qlookup(&mcache.h, url);
 	ohash_insert(&mcache.h, slot, e);
+
+	mcache.npages++;
+	mcache.tot += EVBUFFER_LENGTH(e->evb);
+
 	return 0;
 
 err:
@@ -190,3 +198,10 @@ err:
 	erase_buffer(&tab->buffer);
 	return 0;
 }
+
+void
+mcache_info(size_t *npages, size_t *tot)
+{
+	*npages = mcache.npages;
+	*tot = mcache.tot;
+}
blob - 4a4c1d502422c2383b9466d4884daf994e58fd1b
blob + e4bb1a34d16bf0c72cdd5c0ae6ff1cd3e89fa783
--- mcache.h
+++ mcache.h
@@ -22,5 +22,6 @@ struct tab;
 void	 mcache_init(void);
 int	 mcache_tab(struct tab *);
 int	 mcache_lookup(const char *, struct tab *);
+void	 mcache_info(size_t *, size_t *);
 
 #endif