From: Kristian Høgsberg Date: Thu, 13 Sep 2007 14:51:39 +0000 (-0400) Subject: Use equality of string pool indices for string equality tests. X-Git-Tag: 0.1~337 X-Git-Url: http://project.juiblex.co.uk/git/?a=commitdiff_plain;h=6c32c7b3ab0abc8d2b9e3e7347d562e3a2919d20;p=razor2.git%2F.git Use equality of string pool indices for string equality tests. --- diff --git a/Makefile b/Makefile index 6b61ae8..a336b85 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -CFLAGS = -Wall -g +CFLAGS = -Wall -g -O2 LDLIBS = -lexpat -g razor : razor.o sha1.o diff --git a/razor.c b/razor.c index 908f7ba..2ef102d 100644 --- a/razor.c +++ b/razor.c @@ -660,7 +660,10 @@ compare_packages(const void *p1, const void *p2, void *data) struct razor_set *set = data; char *pool = set->string_pool.data; - return strcmp(&pool[pkg1->name], &pool[pkg2->name]); + if (pkg1->name == pkg2->name) + return 0; + else + return strcmp(&pool[pkg1->name], &pool[pkg2->name]); } static int @@ -669,13 +672,11 @@ compare_properties(const void *p1, const void *p2, void *data) const struct import_property *prop1 = p1, *prop2 = p2; struct razor_set *set = data; char *pool = set->string_pool.data; - int result; - result = strcmp(&pool[prop1->name], &pool[prop2->name]); - if (result == 0) + if (prop1->name == prop2->name) return strcmp(&pool[prop1->version], &pool[prop2->version]); else - return result; + return strcmp(&pool[prop1->name], &pool[prop2->name]); } static unsigned long *