1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | int
ss_string_cmp(const ss_string_t *s1, const ss_string_t *s2)
{
SS_ENTER(ss_string_cmp, int);
int retval=0;
if (!s1 || !s2) SS_ERROR_FMT(USAGE, ("no ss_string_t supplied"));
if (!s1->p && !s2->p) {
retval = 0;
} else if (!s1->p) {
retval = -1;
} else if (!s2->p) {
retval = 1;
} else {
retval = memcmp(s1->p, s2->p, MIN(s1->nbytes, s2->nbytes));
if (0==retval) {
if (s1->nbytes>s2->nbytes) retval = 1;
if (s1->nbytes<s2->nbytes) retval = -1;
}
}
SS_CLEANUP:
SS_RETVAL(-2);
SS_LEAVE(retval);
}
|