Index: nss/lib/base/tracker.c |
diff --git a/nss/lib/base/tracker.c b/nss/lib/base/tracker.c |
index 06e2baf2a46c8151720a5e68fcf2a9d73ea821f3..850add7c4bb868c3c4ca5c93feaca6cc7e8ef460 100644 |
--- a/nss/lib/base/tracker.c |
+++ b/nss/lib/base/tracker.c |
@@ -4,7 +4,7 @@ |
/* |
* tracker.c |
- * |
+ * |
* This file contains the code used by the pointer-tracking calls used |
* in the debug builds to catch bad pointers. The entire contents are |
* only available in debug builds (both internal and external builds). |
@@ -24,12 +24,9 @@ |
*/ |
static PLHashNumber PR_CALLBACK |
-identity_hash |
-( |
- const void *key |
-) |
+identity_hash(const void *key) |
{ |
- return (PLHashNumber)((char *)key - (char *)NULL); |
+ return (PLHashNumber)((char *)key - (char *)NULL); |
} |
/* |
@@ -41,44 +38,38 @@ identity_hash |
*/ |
static PRStatus |
-trackerOnceFunc |
-( |
- void *arg |
-) |
+trackerOnceFunc(void *arg) |
{ |
- nssPointerTracker *tracker = (nssPointerTracker *)arg; |
- |
- tracker->lock = PZ_NewLock(nssILockOther); |
- if( (PZLock *)NULL == tracker->lock ) { |
- return PR_FAILURE; |
- } |
- |
- tracker->table = PL_NewHashTable(0, |
- identity_hash, |
- PL_CompareValues, |
- PL_CompareValues, |
- (PLHashAllocOps *)NULL, |
- (void *)NULL); |
- if( (PLHashTable *)NULL == tracker->table ) { |
- PZ_DestroyLock(tracker->lock); |
- tracker->lock = (PZLock *)NULL; |
- return PR_FAILURE; |
- } |
- |
- return PR_SUCCESS; |
+ nssPointerTracker *tracker = (nssPointerTracker *)arg; |
+ |
+ tracker->lock = PZ_NewLock(nssILockOther); |
+ if ((PZLock *)NULL == tracker->lock) { |
+ return PR_FAILURE; |
+ } |
+ |
+ tracker->table = |
+ PL_NewHashTable(0, identity_hash, PL_CompareValues, PL_CompareValues, |
+ (PLHashAllocOps *)NULL, (void *)NULL); |
+ if ((PLHashTable *)NULL == tracker->table) { |
+ PZ_DestroyLock(tracker->lock); |
+ tracker->lock = (PZLock *)NULL; |
+ return PR_FAILURE; |
+ } |
+ |
+ return PR_SUCCESS; |
} |
/* |
* nssPointerTracker_initialize |
* |
* This method is only present in debug builds. |
- * |
+ * |
* This routine initializes an nssPointerTracker object. Note that |
* the object must have been declared *static* to guarantee that it |
* is in a zeroed state initially. This routine is idempotent, and |
- * may even be safely called by multiple threads simultaneously with |
- * the same argument. This routine returns a PRStatus value; if |
- * successful, it will return PR_SUCCESS. On failure it will set an |
+ * may even be safely called by multiple threads simultaneously with |
+ * the same argument. This routine returns a PRStatus value; if |
+ * successful, it will return PR_SUCCESS. On failure it will set an |
* error on the error stack and return PR_FAILURE. |
* |
* The error may be one of the following values: |
@@ -90,17 +81,14 @@ trackerOnceFunc |
*/ |
NSS_IMPLEMENT PRStatus |
-nssPointerTracker_initialize |
-( |
- nssPointerTracker *tracker |
-) |
+nssPointerTracker_initialize(nssPointerTracker *tracker) |
{ |
- PRStatus rv = PR_CallOnceWithArg(&tracker->once, trackerOnceFunc, tracker); |
- if( PR_SUCCESS != rv ) { |
- nss_SetError(NSS_ERROR_NO_MEMORY); |
- } |
+ PRStatus rv = PR_CallOnceWithArg(&tracker->once, trackerOnceFunc, tracker); |
+ if (PR_SUCCESS != rv) { |
+ nss_SetError(NSS_ERROR_NO_MEMORY); |
+ } |
- return rv; |
+ return rv; |
} |
#ifdef DONT_DESTROY_EMPTY_TABLES |
@@ -114,14 +102,9 @@ nssPointerTracker_initialize |
*/ |
static PRIntn PR_CALLBACK |
-count_entries |
-( |
- PLHashEntry *he, |
- PRIntn index, |
- void *arg |
-) |
+count_entries(PLHashEntry *he, PRIntn index, void *arg) |
{ |
- return HT_ENUMERATE_NEXT; |
+ return HT_ENUMERATE_NEXT; |
} |
#endif /* DONT_DESTROY_EMPTY_TABLES */ |
@@ -138,7 +121,7 @@ static const PRCallOnceType zero_once; |
* nssPointerTracker_finalize |
* |
* This method is only present in debug builds. |
- * |
+ * |
* This routine returns the nssPointerTracker object to the pre- |
* initialized state, releasing all resources used by the object. |
* It will *NOT* destroy the objects being tracked by the pointer |
@@ -160,58 +143,54 @@ static const PRCallOnceType zero_once; |
*/ |
NSS_IMPLEMENT PRStatus |
-nssPointerTracker_finalize |
-( |
- nssPointerTracker *tracker |
-) |
+nssPointerTracker_finalize(nssPointerTracker *tracker) |
{ |
- PZLock *lock; |
+ PZLock *lock; |
- if( (nssPointerTracker *)NULL == tracker ) { |
- nss_SetError(NSS_ERROR_INVALID_POINTER); |
- return PR_FAILURE; |
- } |
+ if ((nssPointerTracker *)NULL == tracker) { |
+ nss_SetError(NSS_ERROR_INVALID_POINTER); |
+ return PR_FAILURE; |
+ } |
- if( (PZLock *)NULL == tracker->lock ) { |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PZLock *)NULL == tracker->lock) { |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- lock = tracker->lock; |
- PZ_Lock(lock); |
+ lock = tracker->lock; |
+ PZ_Lock(lock); |
- if( (PLHashTable *)NULL == tracker->table ) { |
- PZ_Unlock(lock); |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PLHashTable *)NULL == tracker->table) { |
+ PZ_Unlock(lock); |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
#ifdef DONT_DESTROY_EMPTY_TABLES |
- /* |
- * I changed my mind; I think we don't want this after all. |
- * Comments? |
- */ |
- count = PL_HashTableEnumerateEntries(tracker->table, |
- count_entries, |
- (void *)NULL); |
- |
- if( 0 != count ) { |
- PZ_Unlock(lock); |
- nss_SetError(NSS_ERROR_TRACKER_NOT_EMPTY); |
- return PR_FAILURE; |
- } |
+ /* |
+ * I changed my mind; I think we don't want this after all. |
+ * Comments? |
+ */ |
+ count = PL_HashTableEnumerateEntries(tracker->table, count_entries, |
+ (void *)NULL); |
+ |
+ if (0 != count) { |
+ PZ_Unlock(lock); |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_EMPTY); |
+ return PR_FAILURE; |
+ } |
#endif /* DONT_DESTROY_EMPTY_TABLES */ |
- PL_HashTableDestroy(tracker->table); |
- /* memset(tracker, 0, sizeof(nssPointerTracker)); */ |
- tracker->once = zero_once; |
- tracker->lock = (PZLock *)NULL; |
- tracker->table = (PLHashTable *)NULL; |
+ PL_HashTableDestroy(tracker->table); |
+ /* memset(tracker, 0, sizeof(nssPointerTracker)); */ |
+ tracker->once = zero_once; |
+ tracker->lock = (PZLock *)NULL; |
+ tracker->table = (PLHashTable *)NULL; |
- PZ_Unlock(lock); |
- PZ_DestroyLock(lock); |
+ PZ_Unlock(lock); |
+ PZ_DestroyLock(lock); |
- return PR_SUCCESS; |
+ return PR_SUCCESS; |
} |
/* |
@@ -238,63 +217,59 @@ nssPointerTracker_finalize |
*/ |
NSS_IMPLEMENT PRStatus |
-nssPointerTracker_add |
-( |
- nssPointerTracker *tracker, |
- const void *pointer |
-) |
+nssPointerTracker_add(nssPointerTracker *tracker, const void *pointer) |
{ |
- void *check; |
- PLHashEntry *entry; |
+ void *check; |
+ PLHashEntry *entry; |
- if( (nssPointerTracker *)NULL == tracker ) { |
- nss_SetError(NSS_ERROR_INVALID_POINTER); |
- return PR_FAILURE; |
- } |
+ if ((nssPointerTracker *)NULL == tracker) { |
+ nss_SetError(NSS_ERROR_INVALID_POINTER); |
+ return PR_FAILURE; |
+ } |
- if( (PZLock *)NULL == tracker->lock ) { |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PZLock *)NULL == tracker->lock) { |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- PZ_Lock(tracker->lock); |
+ PZ_Lock(tracker->lock); |
- if( (PLHashTable *)NULL == tracker->table ) { |
- PZ_Unlock(tracker->lock); |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PLHashTable *)NULL == tracker->table) { |
+ PZ_Unlock(tracker->lock); |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- check = PL_HashTableLookup(tracker->table, pointer); |
- if( (void *)NULL != check ) { |
- PZ_Unlock(tracker->lock); |
- nss_SetError(NSS_ERROR_DUPLICATE_POINTER); |
- return PR_FAILURE; |
- } |
+ check = PL_HashTableLookup(tracker->table, pointer); |
+ if ((void *)NULL != check) { |
+ PZ_Unlock(tracker->lock); |
+ nss_SetError(NSS_ERROR_DUPLICATE_POINTER); |
+ return PR_FAILURE; |
+ } |
- entry = PL_HashTableAdd(tracker->table, pointer, (void *)pointer); |
+ entry = PL_HashTableAdd(tracker->table, pointer, (void *)pointer); |
- PZ_Unlock(tracker->lock); |
+ PZ_Unlock(tracker->lock); |
- if( (PLHashEntry *)NULL == entry ) { |
- nss_SetError(NSS_ERROR_NO_MEMORY); |
- return PR_FAILURE; |
- } |
+ if ((PLHashEntry *)NULL == entry) { |
+ nss_SetError(NSS_ERROR_NO_MEMORY); |
+ return PR_FAILURE; |
+ } |
- return PR_SUCCESS; |
+ return PR_SUCCESS; |
} |
- |
+ |
/* |
* nssPointerTracker_remove |
* |
* This method is only present in debug builds. |
* |
- * This routine removes the specified pointer from the |
+ * This routine removes the specified pointer from the |
* nssPointerTracker object. It does not call any destructor for the |
* object; rather, this should be called from the object's destructor. |
- * The nssPointerTracker is threadsafe, but this call is not |
- * idempotent. This routine returns a PRStatus value; if successful |
- * it will return PR_SUCCESS. On failure it will set an error on the |
+ * The nssPointerTracker is threadsafe, but this call is not |
+ * idempotent. This routine returns a PRStatus value; if successful |
+ * it will return PR_SUCCESS. On failure it will set an error on the |
* error stack and return PR_FAILURE. |
* |
* The error may be one of the following values: |
@@ -308,41 +283,37 @@ nssPointerTracker_add |
*/ |
NSS_IMPLEMENT PRStatus |
-nssPointerTracker_remove |
-( |
- nssPointerTracker *tracker, |
- const void *pointer |
-) |
+nssPointerTracker_remove(nssPointerTracker *tracker, const void *pointer) |
{ |
- PRBool registered; |
+ PRBool registered; |
- if( (nssPointerTracker *)NULL == tracker ) { |
- nss_SetError(NSS_ERROR_INVALID_POINTER); |
- return PR_FAILURE; |
- } |
+ if ((nssPointerTracker *)NULL == tracker) { |
+ nss_SetError(NSS_ERROR_INVALID_POINTER); |
+ return PR_FAILURE; |
+ } |
- if( (PZLock *)NULL == tracker->lock ) { |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PZLock *)NULL == tracker->lock) { |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- PZ_Lock(tracker->lock); |
+ PZ_Lock(tracker->lock); |
- if( (PLHashTable *)NULL == tracker->table ) { |
- PZ_Unlock(tracker->lock); |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PLHashTable *)NULL == tracker->table) { |
+ PZ_Unlock(tracker->lock); |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- registered = PL_HashTableRemove(tracker->table, pointer); |
- PZ_Unlock(tracker->lock); |
+ registered = PL_HashTableRemove(tracker->table, pointer); |
+ PZ_Unlock(tracker->lock); |
- if( !registered ) { |
- nss_SetError(NSS_ERROR_POINTER_NOT_REGISTERED); |
- return PR_FAILURE; |
- } |
+ if (!registered) { |
+ nss_SetError(NSS_ERROR_POINTER_NOT_REGISTERED); |
+ return PR_FAILURE; |
+ } |
- return PR_SUCCESS; |
+ return PR_SUCCESS; |
} |
/* |
@@ -354,10 +325,10 @@ nssPointerTracker_remove |
* with the nssPointerTracker object. The nssPointerTracker object is |
* threadsafe, and this call may be safely called from multiple threads |
* simultaneously with the same arguments. This routine returns a |
- * PRStatus value; if the pointer is registered this will return |
- * PR_SUCCESS. Otherwise it will set an error on the error stack and |
- * return PR_FAILURE. Although the error is suitable for leaving on |
- * the stack, callers may wish to augment the information available by |
+ * PRStatus value; if the pointer is registered this will return |
+ * PR_SUCCESS. Otherwise it will set an error on the error stack and |
+ * return PR_FAILURE. Although the error is suitable for leaving on |
+ * the stack, callers may wish to augment the information available by |
* placing a more type-specific error on the stack. |
* |
* The error may be one of the following values: |
@@ -371,41 +342,37 @@ nssPointerTracker_remove |
*/ |
NSS_IMPLEMENT PRStatus |
-nssPointerTracker_verify |
-( |
- nssPointerTracker *tracker, |
- const void *pointer |
-) |
+nssPointerTracker_verify(nssPointerTracker *tracker, const void *pointer) |
{ |
- void *check; |
+ void *check; |
- if( (nssPointerTracker *)NULL == tracker ) { |
- nss_SetError(NSS_ERROR_INVALID_POINTER); |
- return PR_FAILURE; |
- } |
+ if ((nssPointerTracker *)NULL == tracker) { |
+ nss_SetError(NSS_ERROR_INVALID_POINTER); |
+ return PR_FAILURE; |
+ } |
- if( (PZLock *)NULL == tracker->lock ) { |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PZLock *)NULL == tracker->lock) { |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- PZ_Lock(tracker->lock); |
+ PZ_Lock(tracker->lock); |
- if( (PLHashTable *)NULL == tracker->table ) { |
- PZ_Unlock(tracker->lock); |
- nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
- return PR_FAILURE; |
- } |
+ if ((PLHashTable *)NULL == tracker->table) { |
+ PZ_Unlock(tracker->lock); |
+ nss_SetError(NSS_ERROR_TRACKER_NOT_INITIALIZED); |
+ return PR_FAILURE; |
+ } |
- check = PL_HashTableLookup(tracker->table, pointer); |
- PZ_Unlock(tracker->lock); |
+ check = PL_HashTableLookup(tracker->table, pointer); |
+ PZ_Unlock(tracker->lock); |
- if( (void *)NULL == check ) { |
- nss_SetError(NSS_ERROR_POINTER_NOT_REGISTERED); |
- return PR_FAILURE; |
- } |
+ if ((void *)NULL == check) { |
+ nss_SetError(NSS_ERROR_POINTER_NOT_REGISTERED); |
+ return PR_FAILURE; |
+ } |
- return PR_SUCCESS; |
+ return PR_SUCCESS; |
} |
#endif /* DEBUG */ |