diff options
author | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-12 00:27:02 +0000 |
---|---|---|
committer | nicola <nicola@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-12 00:27:02 +0000 |
commit | f9c4db38bb3400de0b809ed37f01b2949ea16558 (patch) | |
tree | 8c826840b836b21623b2673ebb37f3ee7aff55ab /libobjc | |
parent | d6ae08fdf352a4313b066c07df5f7365cf6d2c83 (diff) | |
download | gcc-f9c4db38bb3400de0b809ed37f01b2949ea16558.tar.gz |
In libobjc/:
2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com>
* selector.c (sel_getName): Return "<null selector>" 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@165348 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libobjc')
-rw-r--r-- | libobjc/ChangeLog | 12 | ||||
-rw-r--r-- | libobjc/objc-private/hash.h | 3 | ||||
-rw-r--r-- | libobjc/objc/deprecated/hash.h | 3 | ||||
-rw-r--r-- | libobjc/objc/runtime.h | 3 | ||||
-rw-r--r-- | libobjc/selector.c | 6 |
5 files changed, 20 insertions, 7 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index e2d93108abf..e66df6a9836 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,15 @@ +2010-10-12 Nicola Pero <nicola.pero@meta-innovation.com> + + * selector.c (sel_getName): Return "<null selector>" 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 <nicola.pero@meta-innovation.com> * class.c (objc_getClassList): New. diff --git a/libobjc/objc-private/hash.h b/libobjc/objc-private/hash.h index 7c57a4d2589..ba4c4943438 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 52ee8c31345..8b718a4417d 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 b15c522235d..f3a19ec0b23 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 + "<null selector>". */ 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 93952fd3834..e51dd20bd9b 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 "<null selector>"; + 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); } |