https://bitbucket.org/daniel_fort/magic-lantern
Raw File
Tip revision: 63113db7e0aee891d23287741ab66bf3ca5e657e authored by Daniel Fort on 09 July 2017, 20:29:39 UTC
Closed branch unified-minimal-5D3-fix
Tip revision: 63113db
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