summaryrefslogtreecommitdiff
path: root/rpmio/rpmstrpool.c
diff options
context:
space:
mode:
authorPanu Matilainen <pmatilai@redhat.com>2012-09-13 08:48:56 +0300
committerPanu Matilainen <pmatilai@redhat.com>2012-09-13 09:01:30 +0300
commit1e2c2fece25adad725261089ca47108937067088 (patch)
treed9b3a035c768228a7d50f2490e207845294ebd45 /rpmio/rpmstrpool.c
parentb6c794362aa9b3b2552f32bd13775a127febc17d (diff)
downloadrpm-1e2c2fece25adad725261089ca47108937067088.tar.gz
rpm-1e2c2fece25adad725261089ca47108937067088.tar.bz2
rpm-1e2c2fece25adad725261089ca47108937067088.zip
Add a string equality check function to string pool API
- As a special case, two strings (ids) from the same pool can be tested for equality in constant time (integer comparison). If the pools differ, a regular string comparison is needed.
Diffstat (limited to 'rpmio/rpmstrpool.c')
-rw-r--r--rpmio/rpmstrpool.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/rpmio/rpmstrpool.c b/rpmio/rpmstrpool.c
index 55fc0e0bd..799136b01 100644
--- a/rpmio/rpmstrpool.c
+++ b/rpmio/rpmstrpool.c
@@ -173,3 +173,12 @@ size_t rpmstrPoolStrlen(rpmstrPool pool, rpmsid sid)
}
return slen;
}
+
+int rpmstrPoolStreq(rpmstrPool poolA, rpmsid sidA,
+ rpmstrPool poolB, rpmsid sidB)
+{
+ if (poolA == poolB)
+ return (sidA == sidB);
+ else
+ return rstreq(rpmstrPoolStr(poolA, sidA), rpmstrPoolStr(poolB, sidB));
+}