projects
/
citadel.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
499294c
)
CtdlUnregisterRoomHook(): second try.
author
Wilfried Goesgens
<dothebart@citadel.org>
Sat, 26 May 2012 12:18:34 +0000
(14:18 +0200)
committer
Wilfried Goesgens
<dothebart@citadel.org>
Sat, 26 May 2012 12:18:34 +0000
(14:18 +0200)
citadel/serv_extensions.c
patch
|
blob
|
history
diff --git
a/citadel/serv_extensions.c
b/citadel/serv_extensions.c
index fe15aa785c438b781448f368bc314e97458d4c2a..0553e34a9d68efd8bf1afa01587a5719329b000b 100644
(file)
--- a/
citadel/serv_extensions.c
+++ b/
citadel/serv_extensions.c
@@
-758,10
+758,9
@@
void CtdlRegisterRoomHook(int (*fcn_ptr)(struct ctdlroom *))
void CtdlUnregisterRoomHook(int (*fcn_ptr)(struct ctdlroom *))
{
RoomFunctionHook *cur, *p, *last;
-
- for (last = NULL, cur = RoomHookTable;
- cur != NULL;
- cur = cur->next)
+ last = NULL;
+ cur = RoomHookTable;
+ while (cur != NULL)
{
if (fcn_ptr == cur->fcn_ptr) {
MODM_syslog(LOG_DEBUG, "Unregistered room function\n");
@@
-774,8
+773,12
@@
void CtdlUnregisterRoomHook(int (*fcn_ptr)(struct ctdlroom *))
last->next = p;
else
RoomHookTable = p;
+ cur = p;
}
last = cur;
+ if (cur != NULL)
+ cur = cur->next;
+
}
}