From: RĂ©mi Duraffort Date: Wed, 29 Sep 2010 19:26:13 +0000 (+0200) Subject: lua: factorize the right way. X-Git-Tag: 1.2.0-pre1~5206 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=c04668ad5effb61eda668b293aa9aa8e161d369e lua: factorize the right way. --- diff --git a/modules/misc/lua/extension.c b/modules/misc/lua/extension.c index fe4e2f2ce9..745350fdee 100644 --- a/modules/misc/lua/extension.c +++ b/modules/misc/lua/extension.c @@ -341,62 +341,27 @@ int ScanLuaCallback( vlc_object_t *p_this, const char *psz_script, /* Get author */ lua_getfield( L, -1, "author" ); - if( lua_isstring( L, -1 ) ) - { - p_ext->psz_author = strdup( luaL_checkstring( L, -1 ) ); - } - else - { - p_ext->psz_author = NULL; - } + p_ext->psz_author = luaL_strdupornull( L, -1 ); lua_pop( L, 1 ); /* Get description */ lua_getfield( L, -1, "description" ); - if( lua_isstring( L, -1 ) ) - { - p_ext->psz_description = strdup( luaL_checkstring( L, -1 ) ); - } - else - { - p_ext->psz_description = NULL; - } + p_ext->psz_description = luaL_strdupornull( L, -1 ); lua_pop( L, 1 ); /* Get short description */ lua_getfield( L, -1, "shortdesc" ); - if( lua_isstring( L, -1 ) ) - { - p_ext->psz_shortdescription = strdup( luaL_checkstring( L, -1 ) ); - } - else - { - p_ext->psz_shortdescription = NULL; - } + p_ext->psz_shortdescription = luaL_strdupornull( L, -1 ); lua_pop( L, 1 ); /* Get URL */ lua_getfield( L, -1, "url" ); - if( lua_isstring( L, -1 ) ) - { - p_ext->psz_url = strdup( luaL_checkstring( L, -1 ) ); - } - else - { - p_ext->psz_url = NULL; - } + p_ext->psz_url = luaL_strdupornull( L, -1 ); lua_pop( L, 1 ); /* Get version */ lua_getfield( L, -1, "version" ); - if( lua_isstring( L, -1 ) ) - { - p_ext->psz_version = strdup( luaL_checkstring( L, -1 ) ); - } - else - { - p_ext->psz_version = NULL; - } + p_ext->psz_version = luaL_strdupornull( L, -1 ); lua_pop( L, 1 ); } else diff --git a/modules/misc/lua/vlc.h b/modules/misc/lua/vlc.h index ff3d4da6eb..d3187e76be 100644 --- a/modules/misc/lua/vlc.h +++ b/modules/misc/lua/vlc.h @@ -91,6 +91,13 @@ static inline const char *luaL_nilorcheckstring( lua_State *L, int narg ) return luaL_checkstring( L, narg ); } +static inline char *luaL_strdupornull( lua_State *L, int narg ) +{ + if( lua_isstring( L, narg ) ) + return strdup( luaL_checkstring( L, narg ) ); + return NULL; +} + void vlclua_set_this( lua_State *, vlc_object_t * ); #define vlclua_set_this(a, b) vlclua_set_this(a, VLC_OBJECT(b)) vlc_object_t * vlclua_get_this( lua_State * );