Browse Source

lua: Expose a minimal set of errno values

pull/69/head
Hugo Beauzée-Luyssen 8 years ago
parent
commit
f70881d160
  1. 3
      modules/lua/Makefile.am
  2. 1
      modules/lua/extension.c
  3. 1
      modules/lua/intf.c
  4. 1
      modules/lua/libs.h
  5. 48
      modules/lua/libs/errno.c

3
modules/lua/Makefile.am

@ -29,7 +29,8 @@ liblua_plugin_la_SOURCES = \
lua/libs/vlm.c \
lua/libs/volume.c \
lua/libs/xml.c \
lua/libs/io.c
lua/libs/io.c \
lua/libs/errno.c
if HAVE_WIN32
liblua_plugin_la_SOURCES += lua/libs/win.c

1
modules/lua/extension.c

@ -853,6 +853,7 @@ static lua_State* GetLuaState( extensions_manager_t *p_mgr,
luaopen_volume( L );
luaopen_xml( L );
luaopen_vlcio( L );
luaopen_errno( L );
#if defined(_WIN32) && !VLC_WINSTORE_APP
luaopen_win( L );
#endif

1
modules/lua/intf.c

@ -278,6 +278,7 @@ static int Start_LuaIntf( vlc_object_t *p_this, const char *name )
luaopen_xml( L );
luaopen_equalizer( L );
luaopen_vlcio( L );
luaopen_errno( L );
#if defined(_WIN32) && !VLC_WINSTORE_APP
luaopen_win( L );
#endif

1
modules/lua/libs.h

@ -46,6 +46,7 @@ void luaopen_input_item( lua_State *L, input_item_t *item );
void luaopen_xml( lua_State *L );
void luaopen_equalizer( lua_State *L );
void luaopen_vlcio( lua_State *L );
void luaopen_errno( lua_State *L );
#ifdef _WIN32
void luaopen_win( lua_State *L );
#endif

48
modules/lua/libs/errno.c

@ -0,0 +1,48 @@
/*****************************************************************************
* errno.c
*****************************************************************************
* Copyright (C) 2007-2018 the VideoLAN team
*
* Authors: Hugo Beauzée-Luyssen <hugo@beauzee.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <errno.h>
#include "../vlc.h"
#include "../libs.h"
void luaopen_errno( lua_State *L )
{
lua_newtable( L );
#define ADD_ERRNO_VALUE( value ) \
lua_pushinteger( L, value ); \
lua_setfield( L, -2, #value );
ADD_ERRNO_VALUE( ENOENT );
ADD_ERRNO_VALUE( EEXIST );
ADD_ERRNO_VALUE( EACCES );
ADD_ERRNO_VALUE( EINVAL );
#undef ADD_ERRNO_VALUE
lua_setfield( L, -2, "errno" );
}
Loading…
Cancel
Save