- introduced ForEachCommand function
This commit is contained in:
16
SCinter.c
16
SCinter.c
@ -1109,3 +1109,19 @@ char *FindAliases(SicsInterp *pSics, char *name)
|
||||
DeleteDynString(result);
|
||||
return charResult;
|
||||
}
|
||||
/*---------------------------------------------------------------------*/
|
||||
void ForEachCommand(int (*scanFunction)(char *name, pDummy object, void *userData)
|
||||
, void *userData)
|
||||
{
|
||||
CommandList *pCurrent;
|
||||
|
||||
|
||||
for(pCurrent = pServ->pSics->pCList;
|
||||
pCurrent != NULL;
|
||||
pCurrent = pCurrent->pNext)
|
||||
{
|
||||
if(scanFunction(pCurrent->pName, pCurrent->pData, userData) == 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
11
SCinter.h
11
SCinter.h
@ -9,6 +9,7 @@
|
||||
---------------------------------------------------------------------------*/
|
||||
#ifndef SICSINTERPRETER
|
||||
#define SICSINTERPRETER
|
||||
#include "obdes.h"
|
||||
#include "Scommon.h"
|
||||
#include "statistics.h"
|
||||
#include <tcl.h>
|
||||
@ -151,10 +152,16 @@ typedef struct __SINTER
|
||||
pointer to the drivable interface in the case of success, NULL in
|
||||
case of failure. In order to save me fixing header files the pointer must
|
||||
be cast to the drivable interface pointer.
|
||||
------------------------------------------------------------------------*/
|
||||
|
||||
*/
|
||||
void *FindDrivable(SicsInterp *pics, char *name);
|
||||
|
||||
/*------------------------------------------------------------------------
|
||||
Go through the command list and call scanFunction for every command
|
||||
until the return value is 0.
|
||||
*/
|
||||
void ForEachCommand(int (*scanFunction)(char *name, pDummy object, void *userData)
|
||||
, void *userData);
|
||||
|
||||
/*-----------------------------------------------------------------------
|
||||
Get a copy of the Tcl interpreter
|
||||
------------------------------------------------------------------------*/
|
||||
|
Reference in New Issue
Block a user