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 |