Projekt

Allgemein

Profil

Bug #256 » 0001-Convert-some-GWEN_FUNC_.-macros-to-real-functions.patch

rhabacker, 16.02.2022 12:28

Unterschiede anzeigen:

src/base/funcs.c
#include <stdio.h>
int GWEN_Funcs_Has_Call(const GWEN_FUNCS *func)
{
return func->func1!=NULL;
}
int GWEN_Funcs_Has_Call_Args(const GWEN_FUNCS *func)
{
return func->func2!=NULL;
}
int GWEN_Funcs_Has_Call_DB_NODE_Args(const GWEN_FUNCS *func)
{
return func->func3!=NULL;
}
int GWEN_Funcs_Call(const GWEN_FUNCS *func)
{
return func->func1();
}
int GWEN_Funcs_Call_Args(const GWEN_FUNCS *func, int argc, char **argv)
{
return func->func2(argc, argv);
}
int GWEN_Funcs_Call_DB_NODE_Args(const GWEN_FUNCS *func, GWEN_DB_NODE *node, int argc, char **argv)
{
return func->func3(node, argc, argv);
}
/**
* This function prints out a space separated list of all defined functions
src/base/funcs.h
#define GWEN_Funcs_Entry_DB_NODE_Args(a,b) { a, NULL, NULL, b, NULL }
/* Checks if a command variant exists */
#define GWEN_Funcs_Has_Call(func) (func)->func1
#define GWEN_Funcs_Has_Call_Args(func) (func)->func2
#define GWEN_Funcs_Has_Call_DB_NODE_Args(func) (func)->func3
GWENHYWFAR_API
int GWEN_Funcs_Has_Call(const GWEN_FUNCS *func);
GWENHYWFAR_API
int GWEN_Funcs_Has_Call_Args(const GWEN_FUNCS *func);
GWENHYWFAR_API
int GWEN_Funcs_Has_Call_DB_NODE_Args(const GWEN_FUNCS *func);
/* Functions to call a specified command */
#define GWEN_Funcs_Call(func) (func->func1)()
#define GWEN_Funcs_Call_Args(func,a,b) (func->func2)(a,b)
#define GWEN_Funcs_Call_DB_NODE_Args(func,a,b,c) (func->func3)(a,b,c)
GWENHYWFAR_API
int GWEN_Funcs_Call(const GWEN_FUNCS *func);
GWENHYWFAR_API
int GWEN_Funcs_Call_Args(const GWEN_FUNCS *func, int argc, char **argv);
GWENHYWFAR_API
int GWEN_Funcs_Call_DB_NODE_Args(const GWEN_FUNCS *func, GWEN_DB_NODE *node, int argc, char **argv);
/**
* This function prints out a space separated list of all defined functions
(5-5/8)