version 1.37, 2006/05/27 03:30:31 |
version 1.38, 2006/05/31 18:24:55 |
|
|
* two numbers. |
* two numbers. |
*/ |
*/ |
int |
int |
rcsnum_cmp(const RCSNUM *n1, const RCSNUM *n2, u_int depth) |
rcsnum_cmp(RCSNUM *n1, RCSNUM *n2, u_int depth) |
{ |
{ |
int res; |
int res; |
u_int i; |
u_int i; |
size_t slen; |
size_t slen; |
|
|
|
if (!rcsnum_differ(n1, n2)) |
|
return (0); |
|
|
slen = MIN(n1->rn_len, n2->rn_len); |
slen = MIN(n1->rn_len, n2->rn_len); |
if (depth != 0 && slen > depth) |
if (depth != 0 && slen > depth) |
slen = depth; |
slen = depth; |
|
|
tmp = xrealloc(num->rn_id, len, sizeof(*(num->rn_id))); |
tmp = xrealloc(num->rn_id, len, sizeof(*(num->rn_id))); |
num->rn_id = tmp; |
num->rn_id = tmp; |
num->rn_len = len; |
num->rn_len = len; |
|
} |
|
|
|
int |
|
rcsnum_differ(RCSNUM *r1, RCSNUM *r2) |
|
{ |
|
int i, len; |
|
|
|
if (r1->rn_len != r2->rn_len) |
|
return (1); |
|
|
|
len = MIN(r1->rn_len, r2->rn_len); |
|
for (i = 0; i < len; i++) { |
|
if (r1->rn_id[i] != r2->rn_id[i]) |
|
return (1); |
|
} |
|
|
|
return (0); |
} |
} |