summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Hall (GMCH) <chris.hall@highwayman.com>2009-12-10 11:44:06 +0000
committerChris Hall (GMCH) <chris.hall@highwayman.com>2009-12-10 11:44:06 +0000
commit48f1719d60da57070a34bf9181a690cbe31f199a (patch)
tree8a31161419c58e4a883aea3199595989513d72bd
parent78cfba33568916dc861b37b771c2a261f67fffdd (diff)
parent3cad62944e8270fcd9562f6d115c064d61211c6c (diff)
downloadquagga-48f1719d60da57070a34bf9181a690cbe31f199a.tar.bz2
quagga-48f1719d60da57070a34bf9181a690cbe31f199a.tar.xz
Merge branch 'master' of /git/quagga.euro-ix into pthreads
-rw-r--r--lib/symtab.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/symtab.c b/lib/symtab.c
index 9a833a14..adc21e73 100644
--- a/lib/symtab.c
+++ b/lib/symtab.c
@@ -86,7 +86,7 @@
* If there are no references to the symbol, the symbol entry is released.
* If there are references to the symbol, it is preserved (as an orphan) until
* all references are unset. The value of an orphaned symbol should not be
- * changed.
+ * changed (but may be unset, since it is already unset).
*
* There are two, parallel mechanisms for keeping track of references to a
* symbol:
@@ -880,7 +880,8 @@ symbol_set_value(symbol sym, void* new_value)
{
void* old_value ;
- assert(sym->table != NULL) ; /* may not set value for orphan symbol ! */
+ assert((sym->table != NULL) || (new_value == NULL)) ;
+ /* may not set non-NULL value for orphan symbol ! */
old_value = sym->value ;
sym->value = new_value ;