From 103dbb9fd14fde35e116819808e6d4c9b534eaa2 Mon Sep 17 00:00:00 2001 From: Aaron Griffin Date: Tue, 13 Feb 2007 08:15:38 +0000 Subject: * 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. --- lib/libalpm/util.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lib/libalpm/util.c') 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: */ -- cgit v1.2.3-24-g4f1b