https://bitbucket.org/daniel_fort/magic-lantern
Raw File
Tip revision: c2a094bf1e7322572eb0b50f823400a37cc0cc6f authored by daniel_fort on 14 March 2019, 22:31:59 UTC
closed branch to fix multiple heads on remote
Tip revision: c2a094b
module_strings_wrapper.h

/* this struct supplies additional information like license, author etc - optional */
typedef struct
{
    const char *name;
    const char *value;
} module_strpair_t;

#define MODULE_STRINGS_SECTION

#define MODULE_STRINGS_START()                                  MODULE_STRINGS_START_(MODULE_STRINGS_PREFIX)
#define MODULE_STRINGS_START_(varname)                          MODULE_STRINGS_START__(varname)
#define MODULE_STRINGS_START__(varname)                         module_strpair_t varname[] MODULE_STRINGS_SECTION = {
#define MODULE_STRING(field,value)                                  { field, value },
#define MODULE_STRINGS_END()                                        { (const char *)0, (const char *)0 }\
                                                                };

static const char* module_get_string(module_strpair_t *strings, const char* name)
{
    if(strings)
    {
        for( ; strings->name != NULL; strings++)
        {
            if(!strcmp(strings->name, name))
            {
                return strings->value;
            }
        }
    }
    
    return NULL;
}
back to top