summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rpmfi.c79
-rw-r--r--lib/rpmfi_internal.h7
2 files changed, 0 insertions, 86 deletions
diff --git a/lib/rpmfi.c b/lib/rpmfi.c
index 4ac85d9ac..1a8a79c97 100644
--- a/lib/rpmfi.c
+++ b/lib/rpmfi.c
@@ -21,68 +21,6 @@
/* pool for widely common, "static" stuff like langs and user/group names */
static rpmstrPool miscpool = NULL;
-/*
- * Simple and stupid string "cache."
- * Store each unique string just once, retrieve by index value.
- * For data where number of unique names is typically very low,
- * the dumb linear lookup appears to be fast enough and hash table seems
- * like an overkill.
- */
-struct strcache_s {
- char **uniq;
- scidx_t num;
-};
-
-static scidx_t strcachePut(strcache cache, const char *str)
-{
- int found = 0;
- scidx_t ret;
-
- for (scidx_t i = 0; i < cache->num; i++) {
- if (rstreq(str, cache->uniq[i])) {
- ret = i;
- found = 1;
- break;
- }
- }
- if (!found) {
- /* blow up on index wraparound */
- assert((scidx_t)(cache->num + 1) > cache->num);
- cache->uniq = xrealloc(cache->uniq,
- sizeof(*cache->uniq) * (cache->num+1));
- cache->uniq[cache->num] = xstrdup(str);
- ret = cache->num;
- cache->num++;
- }
- return ret;
-}
-
-static const char *strcacheGet(strcache cache, scidx_t idx)
-{
- const char *name = NULL;
- if (idx >= 0 && idx < cache->num && cache->uniq != NULL)
- name = cache->uniq[idx];
- return name;
-}
-
-static strcache strcacheNew(void)
-{
- strcache cache = xcalloc(1, sizeof(*cache));
- return cache;
-}
-
-static strcache strcacheFree(strcache cache)
-{
- if (cache != NULL) {
- for (scidx_t i = 0; i < cache->num; i++) {
- free(cache->uniq[i]);
- }
- cache->uniq = _free(cache->uniq);
- free(cache);
- }
- return NULL;
-}
-
static rpmfi rpmfiUnlink(rpmfi fi)
{
if (fi)
@@ -1125,23 +1063,6 @@ rpmfi rpmfiFree(rpmfi fi)
return NULL;
}
-/* Helper to push header tag data into a string cache */
-static scidx_t *cacheTag(strcache cache, Header h, rpmTag tag)
-{
- scidx_t *idx = NULL;
- struct rpmtd_s td;
- if (headerGet(h, tag, &td, HEADERGET_MINMEM)) {
- idx = xmalloc(sizeof(*idx) * rpmtdCount(&td));
- int i = 0;
- const char *str;
- while ((str = rpmtdNextString(&td))) {
- idx[i++] = strcachePut(cache, str);
- }
- rpmtdFreeData(&td);
- }
- return idx;
-}
-
static rpmsid * tag2pool(rpmstrPool pool, Header h, rpmTag tag)
{
rpmsid *sids = NULL;
diff --git a/lib/rpmfi_internal.h b/lib/rpmfi_internal.h
index a657f931f..4dd8ac366 100644
--- a/lib/rpmfi_internal.h
+++ b/lib/rpmfi_internal.h
@@ -6,13 +6,6 @@
#include <rpm/rpmstrpool.h>
#include "lib/fprint.h"
-/*
- * This limits maximum unique strings (user + group names) from packages to
- * 65535, should be plenty but easy to bump if ever needed.
- */
-typedef uint16_t scidx_t;
-typedef struct strcache_s *strcache;
-
#define RPMFIMAGIC 0x09697923
/**