//------------------------------------------------------------------- void FunctionTable_DumpInfo(FILE* fp) { List_Reset(g_FunctionList); while(!List_EOF(g_FunctionList)) { Function_Dump(List_Current(g_FunctionList), fp); List_Next(g_FunctionList); } }
//------------------------------------------------------------------- EPOPEIA_API int FunctionTable_Register(TFunctionId Id) { ASSERT(g_Initialized); ASSERT(Id != NULL); List_Reset(g_FunctionList); List_Goto(g_FunctionList, Id); if(!List_EOF(g_FunctionList)) { // Existe una funcion con el mismo nombre! DEBUG_msg("Ya existe una funcion con el mismo nombre!"); return 1; } List_Insert(g_FunctionList, Id); return 0; }
//------------------------------------------------------------------- TFunctionId FunctionTable_GetId(const char* FunctionName) { ASSERT(g_Initialized != 0); ASSERT(FunctionName != NULL); List_Reset(g_FunctionList); while(!List_EOF(g_FunctionList) && 0 != strcmp(((TFunction*)List_Current(g_FunctionList))->Name, FunctionName) ) List_Next(g_FunctionList); if(List_EOF(g_FunctionList)) { // No existe funcion! DEBUG_msg_str("No existe una funcion con el nombre: ", FunctionName); return NULL; } return (TFunctionId)List_Current(g_FunctionList); }
void Stack_Pop(Stack *stack ) { List_Reset(stack); List_Remove(stack); }
void Stack_Push( Stack *stack, void *e) { List_Reset(stack); List_InsertBefore(stack, e, NULL ); }