summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Coopersmith <alan.coopersmith@oracle.com>2013-03-30 11:30:37 -0700
committerAlan Coopersmith <alan.coopersmith@oracle.com>2013-03-30 11:33:31 -0700
commit4352cf9707df08d51ef891be156d475743d0a060 (patch)
treeb7523af69315c16f8a4316c5b1fc87a2cca6ae15
parent704beb71768cdaa2448da6edfa219b4a7bf862f1 (diff)
Call memcmp() instead of defining our own equivalent
Stops casting len parameters to int in callers so that this change doesn't introduce warnings that we're taking unsigned values, casting them to signed, then passing to a function that wants them unsigned. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r--AuGetAddr.c15
-rw-r--r--AuGetBest.c15
2 files changed, 8 insertions, 22 deletions
diff --git a/AuGetAddr.c b/AuGetAddr.c
index 897d8b5..6f5fe16 100644
--- a/AuGetAddr.c
+++ b/AuGetAddr.c
@@ -30,14 +30,7 @@ in this Software without prior written authorization from The Open Group.
#include <X11/Xauth.h>
#include <X11/Xos.h>
-static int
-binaryEqual (_Xconst char *a, _Xconst char *b, int len)
-{
- while (len--)
- if (*a++ != *b++)
- return 0;
- return 1;
-}
+#define binaryEqual(a, b, len) (memcmp(a, b, len) == 0)
Xauth *
XauGetAuthByAddr (
@@ -94,13 +87,13 @@ _Xconst char* name)
if ((family == FamilyWild || entry->family == FamilyWild ||
(entry->family == family &&
address_length == entry->address_length &&
- binaryEqual (entry->address, address, (int)address_length))) &&
+ binaryEqual (entry->address, address, address_length))) &&
(number_length == 0 || entry->number_length == 0 ||
(number_length == entry->number_length &&
- binaryEqual (entry->number, number, (int)number_length))) &&
+ binaryEqual (entry->number, number, number_length))) &&
(name_length == 0 || entry->name_length == 0 ||
(entry->name_length == name_length &&
- binaryEqual (entry->name, name, (int)name_length))))
+ binaryEqual (entry->name, name, name_length))))
break;
XauDisposeAuth (entry);
}
diff --git a/AuGetBest.c b/AuGetBest.c
index 673ee40..5556559 100644
--- a/AuGetBest.c
+++ b/AuGetBest.c
@@ -38,14 +38,7 @@ in this Software without prior written authorization from The Open Group.
#include <X11/Xos_r.h>
#endif
-static int
-binaryEqual (_Xconst char *a, _Xconst char *b, int len)
-{
- while (len--)
- if (*a++ != *b++)
- return 0;
- return 1;
-}
+#define binaryEqual(a, b, len) (memcmp(a, b, len) == 0)
Xauth *
XauGetBestAuthByAddr (
@@ -129,17 +122,17 @@ XauGetBestAuthByAddr (
if ((family == FamilyWild || entry->family == FamilyWild ||
(entry->family == family &&
((address_length == entry->address_length &&
- binaryEqual (entry->address, address, (int)address_length))
+ binaryEqual (entry->address, address, address_length))
#ifdef hpux
|| (family == FamilyLocal &&
fully_qual_address_length == entry->address_length &&
binaryEqual (entry->address, fully_qual_address,
- (int) fully_qual_address_length))
+ fully_qual_address_length))
#endif
))) &&
(number_length == 0 || entry->number_length == 0 ||
(number_length == entry->number_length &&
- binaryEqual (entry->number, number, (int)number_length))))
+ binaryEqual (entry->number, number, number_length))))
{
if (best_type == 0)
{