change suggested by Anthony Carrico when unregistering a namespace prefix
* xpath.c: change suggested by Anthony Carrico when unregistering
a namespace prefix to a context
* hash.c: be more careful about calling callbacks with NULL payloads.
Daniel
diff --git a/hash.c b/hash.c
index 3fb8552..ff06b01 100644
--- a/hash.c
+++ b/hash.c
@@ -280,7 +280,7 @@
inside_table = 1;
while (iter) {
next = iter->next;
- if (f)
+ if ((f != NULL) && (iter->payload != NULL))
f(iter->payload, iter->name);
if (iter->name)
xmlFree(iter->name);
@@ -718,7 +718,7 @@
iter = &(table->table[i]);
while (iter) {
next = iter->next;
- if (f)
+ if ((f != NULL) && (iter->payload != NULL))
f(iter->payload, data, iter->name,
iter->name2, iter->name3);
iter = next;
@@ -783,7 +783,8 @@
next = iter->next;
if (((name == NULL) || (xmlStrEqual(name, iter->name))) &&
((name2 == NULL) || (xmlStrEqual(name2, iter->name2))) &&
- ((name3 == NULL) || (xmlStrEqual(name3, iter->name3)))) {
+ ((name3 == NULL) || (xmlStrEqual(name3, iter->name3))) &&
+ (iter->payload != NULL)) {
f(iter->payload, data, iter->name,
iter->name2, iter->name3);
}
@@ -916,7 +917,7 @@
if (xmlStrEqual(entry->name, name) &&
xmlStrEqual(entry->name2, name2) &&
xmlStrEqual(entry->name3, name3)) {
- if(f)
+ if ((f != NULL) && (entry->payload != NULL))
f(entry->payload, entry->name);
entry->payload = NULL;
if(entry->name)