From e357d641bf46bb31bada44164ae581781dd2b36a Mon Sep 17 00:00:00 2001 From: zolliker Date: Wed, 27 Jan 2010 13:34:57 +0000 Subject: [PATCH] - reimplemented RemoveSICSInternalCallbackFrom --- sicshipadaba.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/sicshipadaba.c b/sicshipadaba.c index 689995d0..fcdb9558 100644 --- a/sicshipadaba.c +++ b/sicshipadaba.c @@ -1609,15 +1609,21 @@ int GetHdbPath(pHdb nodeArg, char *path, size_t pathlen) } /*--------------------------------------------------------------------------*/ -static int RemoveParNodeCallback(char *name, pDummy object, - void *internalID) +void RemoveSICSInternalCallbackFrom(pHdb node, void *internalID) { hdbPtrMessage m; m.type = killPtr; m.pPtr = internalID; + RecurseCallbackChains(node, (pHdbMessage) & m); +} + +/*--------------------------------------------------------------------------*/ +static int RemoveParNodeCallback(char *name, pDummy object, + void *internalID) +{ if (object && object->pDescriptor->parNode) { - RecurseCallbackChains(object->pDescriptor->parNode, (pHdbMessage) & m); + RemoveSICSInternalCallbackFrom(object->pDescriptor->parNode, internalID); } return 1; } @@ -1625,11 +1631,7 @@ static int RemoveParNodeCallback(char *name, pDummy object, /*--------------------------------------------------------------------------*/ void RemoveSICSInternalCallback(void *internalID) { - hdbPtrMessage m; - - m.type = killPtr; - m.pPtr = internalID; - RecurseCallbackChains(GetHipadabaRoot(), (pHdbMessage) & m); + RemoveSICSInternalCallbackFrom(GetHipadabaRoot(), internalID); ForEachCommand(RemoveParNodeCallback, internalID); }