| Index: mozilla/security/nss/lib/base/arena.c
|
| ===================================================================
|
| --- mozilla/security/nss/lib/base/arena.c (revision 158129)
|
| +++ mozilla/security/nss/lib/base/arena.c (working copy)
|
| @@ -34,6 +34,9 @@
|
| *
|
| * NSSArena_Create -- constructor
|
| * NSSArena_Destroy
|
| + * NSS_ZAlloc
|
| + * NSS_ZRealloc
|
| + * NSS_ZFreeIf
|
| *
|
| * The nonpublic methods relating to this type are:
|
| *
|
| @@ -817,6 +820,39 @@
|
| }
|
|
|
| /*
|
| + * NSS_ZAlloc
|
| + *
|
| + * This routine allocates and zeroes a section of memory of the
|
| + * size, and returns to the caller a pointer to that memory. If
|
| + * the optional arena argument is non-null, the memory will be
|
| + * obtained from that arena; otherwise, the memory will be obtained
|
| + * from the heap. This routine may return NULL upon error, in
|
| + * which case it will have set an error upon the error stack. The
|
| + * value specified for size may be zero; in which case a valid
|
| + * zero-length block of memory will be allocated. This block may
|
| + * be expanded by calling NSS_ZRealloc.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_ARENA
|
| + * NSS_ERROR_NO_MEMORY
|
| + * NSS_ERROR_ARENA_MARKED_BY_ANOTHER_THREAD
|
| + *
|
| + * Return value:
|
| + * NULL upon error
|
| + * A pointer to the new segment of zeroed memory
|
| + */
|
| +
|
| +NSS_IMPLEMENT void *
|
| +NSS_ZAlloc
|
| +(
|
| + NSSArena *arenaOpt,
|
| + PRUint32 size
|
| +)
|
| +{
|
| + return nss_ZAlloc(arenaOpt, size);
|
| +}
|
| +
|
| +/*
|
| * nss_ZAlloc
|
| *
|
| * This routine allocates and zeroes a section of memory of the
|
| @@ -903,6 +939,32 @@
|
| }
|
|
|
| /*
|
| + * NSS_ZFreeIf
|
| + *
|
| + * If the specified pointer is non-null, then the region of memory
|
| + * to which it points -- which must have been allocated with
|
| + * NSS_ZAlloc -- will be zeroed and released. This routine
|
| + * returns a PRStatus value; if successful, it will return PR_SUCCESS.
|
| + * If unsuccessful, it will set an error on the error stack and return
|
| + * PR_FAILURE.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_POINTER
|
| + *
|
| + * Return value:
|
| + * PR_SUCCESS
|
| + * PR_FAILURE
|
| + */
|
| +NSS_IMPLEMENT PRStatus
|
| +NSS_ZFreeIf
|
| +(
|
| + void *pointer
|
| +)
|
| +{
|
| + return nss_ZFreeIf(pointer);
|
| +}
|
| +
|
| +/*
|
| * nss_ZFreeIf
|
| *
|
| * If the specified pointer is non-null, then the region of memory
|
| @@ -968,6 +1030,36 @@
|
| }
|
|
|
| /*
|
| + * NSS_ZRealloc
|
| + *
|
| + * This routine reallocates a block of memory obtained by calling
|
| + * nss_ZAlloc or nss_ZRealloc. The portion of memory
|
| + * between the new and old sizes -- which is either being newly
|
| + * obtained or released -- is in either case zeroed. This routine
|
| + * may return NULL upon failure, in which case it will have placed
|
| + * an error on the error stack.
|
| + *
|
| + * The error may be one of the following values:
|
| + * NSS_ERROR_INVALID_POINTER
|
| + * NSS_ERROR_NO_MEMORY
|
| + * NSS_ERROR_ARENA_MARKED_BY_ANOTHER_THREAD
|
| + *
|
| + * Return value:
|
| + * NULL upon error
|
| + * A pointer to the replacement segment of memory
|
| + */
|
| +
|
| +NSS_EXTERN void *
|
| +NSS_ZRealloc
|
| +(
|
| + void *pointer,
|
| + PRUint32 newSize
|
| +)
|
| +{
|
| + return nss_ZRealloc(pointer, newSize);
|
| +}
|
| +
|
| +/*
|
| * nss_ZRealloc
|
| *
|
| * This routine reallocates a block of memory obtained by calling
|
|
|