version 1.4, 2007/02/27 07:59:13 |
version 1.5, 2007/03/02 04:53:17 |
|
|
rcsnum_cpy(const RCSNUM *nsrc, RCSNUM *ndst, u_int depth) |
rcsnum_cpy(const RCSNUM *nsrc, RCSNUM *ndst, u_int depth) |
{ |
{ |
u_int len; |
u_int len; |
void *tmp; |
|
|
|
len = nsrc->rn_len; |
len = nsrc->rn_len; |
if (depth != 0 && len > depth) |
if (depth != 0 && len > depth) |
len = depth; |
len = depth; |
|
|
tmp = xrealloc(ndst->rn_id, len, sizeof(*(nsrc->rn_id))); |
rcsnum_setsize(ndst, len); |
ndst->rn_id = tmp; |
/* Overflow checked in rcsnum_setsize(). */ |
ndst->rn_len = len; |
|
/* Overflow checked in xrealloc(). */ |
|
(void)memcpy(ndst->rn_id, nsrc->rn_id, |
(void)memcpy(ndst->rn_id, nsrc->rn_id, |
len * sizeof(*(nsrc->rn_id))); |
len * sizeof(*(nsrc->rn_id))); |
} |
} |