summaryrefslogtreecommitdiff
path: root/lib/libalpm/util.c
diff options
context:
space:
mode:
authorAaron Griffin <aaron@archlinux.org>2007-02-13 08:15:38 +0000
committerAaron Griffin <aaron@archlinux.org>2007-02-13 08:15:38 +0000
commit103dbb9fd14fde35e116819808e6d4c9b534eaa2 (patch)
tree05e1b6c6f4db530894c6e19694a846975ed6587f /lib/libalpm/util.c
parent3da9fb537a0711ee12f66421703e5529ea5fca6a (diff)
downloadpacman-103dbb9fd14fde35e116819808e6d4c9b534eaa2.tar.xz
* Refactored conflict checking within packages. Profiling from Dan showed an
unbelievable amount of strcmp() calls (25 million) due to the list searching. This has been reimplemented with a set-intersection scheme, due to the fact that file lists are always ordered. - NEEDS TESTING * Minor clean up, "globalized" the str_cmp helper to match the alpm comparison signature, so we can use it elsewhere.
Diffstat (limited to 'lib/libalpm/util.c')
-rw-r--r--lib/libalpm/util.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 7049af67..a9e773a5 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -634,4 +634,12 @@ void _alpm_time2string(time_t t, char *buffer)
}
}
+/* Helper function for comparing strings using the
+ * alpm "compare func" signature */
+int _alpm_str_cmp(const void *s1, const void *s2)
+{
+ return(strcmp(s1, s2));
+}
+
+
/* vim: set ts=2 sw=2 noet: */