1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-08 17:42:12 +03:00
This commit is contained in:
Jakub Jelinek
2007-07-12 18:26:36 +00:00
parent 7d58530341
commit 0ecb606cb6
6215 changed files with 494638 additions and 305010 deletions

View File

@@ -74,7 +74,6 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc)
caddr_t target = *addrp;
u_int c; /* the actual element count */
bool_t stat = TRUE;
u_int nodesize;
/* like strings, arrays are really counted arrays */
if (!INTUSE(xdr_u_int) (xdrs, sizep))
@@ -90,7 +89,6 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc)
{
return FALSE;
}
nodesize = c * elsize;
/*
* if we are deserializing, we may need to allocate an array.
@@ -102,19 +100,12 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc)
case XDR_DECODE:
if (c == 0)
return TRUE;
*addrp = target = mem_alloc (nodesize);
*addrp = target = calloc (c, elsize);
if (target == NULL)
{
#ifdef USE_IN_LIBIO
if (_IO_fwide (stderr, 0) > 0)
(void) __fwprintf (stderr, L"%s",
_("xdr_array: out of memory\n"));
else
#endif
(void) fputs (_("xdr_array: out of memory\n"), stderr);
(void) __fxprintf (NULL, "%s", _("xdr_array: out of memory\n"));
return FALSE;
}
__bzero (target, nodesize);
break;
case XDR_FREE:
@@ -137,7 +128,7 @@ xdr_array (xdrs, addrp, sizep, maxsize, elsize, elproc)
*/
if (xdrs->x_op == XDR_FREE)
{
mem_free (*addrp, nodesize);
mem_free (*addrp, c * elsize);
*addrp = NULL;
}
return stat;