From 524660d2e3e96ac715623c052338c25a14938dfa Mon Sep 17 00:00:00 2001 From: Nicola Pero Date: Tue, 12 Oct 2010 00:27:02 +0000 Subject: [PATCH] In libobjc/: 2010-10-12 Nicola Pero In libobjc/: 2010-10-12 Nicola Pero * selector.c (sel_getName): Return "" for a NULL argument. (sel_get_name): Return 0 for a NULL argument. * objc/runtime.h (sel_getName): Updated documentation. * objc-private/hash.h (class_hash_table): Unused declaration removed. (module_hash_table): Same. * objc/deprecated/hash.h: Same changes. From-SVN: r165348 --- libobjc/ChangeLog | 12 ++++++++++++ libobjc/objc-private/hash.h | 3 --- libobjc/objc/deprecated/hash.h | 3 --- libobjc/objc/runtime.h | 3 ++- libobjc/selector.c | 6 ++++++ 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index e2d93108abf8..e66df6a98363 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,15 @@ +2010-10-12 Nicola Pero + + * selector.c (sel_getName): Return "" for a NULL + argument. + (sel_get_name): Return 0 for a NULL argument. + * objc/runtime.h (sel_getName): Updated documentation. + + * objc-private/hash.h (class_hash_table): Unused declaration + removed. + (module_hash_table): Same. + * objc/deprecated/hash.h: Same changes. + 2010-10-11 Nicola Pero * class.c (objc_getClassList): New. diff --git a/libobjc/objc-private/hash.h b/libobjc/objc-private/hash.h index 7c57a4d25897..ba4c49434381 100644 --- a/libobjc/objc-private/hash.h +++ b/libobjc/objc-private/hash.h @@ -104,9 +104,6 @@ typedef struct cache } *cache_ptr; -/* Two important hash tables. */ -extern cache_ptr module_hash_table, class_hash_table; - /* Allocate and initialize a hash table. */ cache_ptr objc_hash_new (unsigned int size, diff --git a/libobjc/objc/deprecated/hash.h b/libobjc/objc/deprecated/hash.h index 52ee8c313457..8b718a4417d2 100644 --- a/libobjc/objc/deprecated/hash.h +++ b/libobjc/objc/deprecated/hash.h @@ -104,9 +104,6 @@ typedef struct cache } *cache_ptr; -/* Two important hash tables. */ -extern cache_ptr module_hash_table, class_hash_table; - /* Allocate and initialize a hash table. */ cache_ptr objc_hash_new (unsigned int size, diff --git a/libobjc/objc/runtime.h b/libobjc/objc/runtime.h index b15c522235d4..f3a19ec0b237 100644 --- a/libobjc/objc/runtime.h +++ b/libobjc/objc/runtime.h @@ -168,7 +168,8 @@ object_getClass (id object) /** Implementation: the following functions are in selector.c. */ -/* Return the name of a given selector. */ +/* Return the name of a given selector. If 'selector' is NULL, return + "". */ objc_EXPORT const char *sel_getName (SEL selector); /* Return the type of a given selector. diff --git a/libobjc/selector.c b/libobjc/selector.c index 93952fd38344..e51dd20bd9b4 100644 --- a/libobjc/selector.c +++ b/libobjc/selector.c @@ -293,6 +293,9 @@ const char *sel_getName (SEL selector) { const char *ret; + if (selector == NULL) + return ""; + objc_mutex_lock (__objc_runtime_mutex); if ((soffset_decode ((sidx)selector->sel_id) > 0) && (soffset_decode ((sidx)selector->sel_id) <= __objc_selector_max_index)) @@ -306,6 +309,9 @@ const char *sel_getName (SEL selector) /* Traditional GNU Objective-C Runtime API. */ const char *sel_get_name (SEL selector) { + if (selector == NULL) + return 0; + return sel_getName (selector); } -- 2.39.2