From 6c32c7b3ab0abc8d2b9e3e7347d562e3a2919d20 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg?= Date: Thu, 13 Sep 2007 10:51:39 -0400 Subject: [PATCH] Use equality of string pool indices for string equality tests. --- Makefile | 2 +- razor.c | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) 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 * -- 1.7.1