commit c31aa863ac29fad5bb3f44c4e08640f877b65f25
parent ff08b0f4069e322ec4c2b02aa5553424227357ba
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Tue, 16 Sep 1997 16:25:38 -0300
Auxiliar functions for building Lua libraries
Diffstat:
D | auxlib.c | | | 81 | ------------------------------------------------------------------------------- |
D | auxlib.h | | | 30 | ------------------------------ |
A | lauxlib.c | | | 76 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | lauxlib.h | | | 29 | +++++++++++++++++++++++++++++ |
4 files changed, 105 insertions(+), 111 deletions(-)
diff --git a/auxlib.c b/auxlib.c
@@ -1,81 +0,0 @@
-char *rcs_auxlib="$Id: auxlib.c,v 1.4 1997/04/07 14:48:53 roberto Exp roberto $";
-
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-
-#include "lua.h"
-#include "auxlib.h"
-#include "luadebug.h"
-
-
-
-int luaI_findstring (char *name, char *list[])
-{
- int i;
- for (i=0; list[i]; i++)
- if (strcmp(list[i], name) == 0)
- return i;
- return -1; /* name not found */
-}
-
-
-void luaL_arg_check(int cond, int numarg, char *extramsg)
-{
- if (!cond) {
- char *funcname;
- lua_getobjname(lua_stackedfunction(0), &funcname);
- if (funcname == NULL)
- funcname = "???";
- if (extramsg == NULL)
- luaL_verror("bad argument #%d to function `%s'", numarg, funcname);
- else
- luaL_verror("bad argument #%d to function `%s' (%s)",
- numarg, funcname, extramsg);
- }
-}
-
-char *luaL_check_string (int numArg)
-{
- lua_Object o = lua_getparam(numArg);
- luaL_arg_check(lua_isstring(o), numArg, "string expected");
- return lua_getstring(o);
-}
-
-char *luaL_opt_string (int numArg, char *def)
-{
- return (lua_getparam(numArg) == LUA_NOOBJECT) ? def :
- luaL_check_string(numArg);
-}
-
-double luaL_check_number (int numArg)
-{
- lua_Object o = lua_getparam(numArg);
- luaL_arg_check(lua_isnumber(o), numArg, "number expected");
- return lua_getnumber(o);
-}
-
-
-double luaL_opt_number (int numArg, double def)
-{
- return (lua_getparam(numArg) == LUA_NOOBJECT) ? def :
- luaL_check_number(numArg);
-}
-
-void luaL_openlib (struct luaL_reg *l, int n)
-{
- int i;
- for (i=0; i<n; i++)
- lua_register(l[i].name, l[i].func);
-}
-
-
-void luaL_verror (char *fmt, ...)
-{
- char buff[1000];
- va_list argp;
- va_start(argp, fmt);
- vsprintf(buff, fmt, argp);
- va_end(argp);
- lua_error(buff);
-}
diff --git a/auxlib.h b/auxlib.h
@@ -1,30 +0,0 @@
-/*
-** $Id: auxlib.h,v 1.2 1997/04/06 14:08:08 roberto Exp roberto $
-*/
-
-#ifndef auxlib_h
-#define auxlib_h
-
-#include "lua.h"
-
-struct luaL_reg {
- char *name;
- lua_CFunction func;
-};
-
-void luaL_openlib (struct luaL_reg *l, int n);
-void luaL_arg_check(int cond, int numarg, char *extramsg);
-char *luaL_check_string (int numArg);
-char *luaL_opt_string (int numArg, char *def);
-double luaL_check_number (int numArg);
-double luaL_opt_number (int numArg, double def);
-void luaL_verror (char *fmt, ...);
-
-
-
-/* -- private part (only for Lua modules */
-
-int luaI_findstring (char *name, char *list[]);
-
-
-#endif
diff --git a/lauxlib.c b/lauxlib.c
@@ -0,0 +1,76 @@
+/*
+** $Id: $
+** Auxiliar functions for building Lua libraries
+** See Copyright Notice in lua.h
+*/
+
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+
+#include "lauxlib.h"
+#include "lua.h"
+#include "luadebug.h"
+
+
+
+void luaL_arg_check(int cond, int numarg, char *extramsg)
+{
+ if (!cond) {
+ char *funcname;
+ lua_getobjname(lua_stackedfunction(0), &funcname);
+ if (funcname == NULL)
+ funcname = "???";
+ if (extramsg == NULL)
+ luaL_verror("bad argument #%d to function `%.50s'", numarg, funcname);
+ else
+ luaL_verror("bad argument #%d to function `%.50s' (%.100s)",
+ numarg, funcname, extramsg);
+ }
+}
+
+char *luaL_check_string (int numArg)
+{
+ lua_Object o = lua_getparam(numArg);
+ luaL_arg_check(lua_isstring(o), numArg, "string expected");
+ return lua_getstring(o);
+}
+
+char *luaL_opt_string (int numArg, char *def)
+{
+ return (lua_getparam(numArg) == LUA_NOOBJECT) ? def :
+ luaL_check_string(numArg);
+}
+
+double luaL_check_number (int numArg)
+{
+ lua_Object o = lua_getparam(numArg);
+ luaL_arg_check(lua_isnumber(o), numArg, "number expected");
+ return lua_getnumber(o);
+}
+
+
+double luaL_opt_number (int numArg, double def)
+{
+ return (lua_getparam(numArg) == LUA_NOOBJECT) ? def :
+ luaL_check_number(numArg);
+}
+
+void luaL_openlib (struct luaL_reg *l, int n)
+{
+ int i;
+ for (i=0; i<n; i++)
+ lua_register(l[i].name, l[i].func);
+}
+
+
+void luaL_verror (char *fmt, ...)
+{
+ char buff[500];
+ va_list argp;
+ va_start(argp, fmt);
+ vsprintf(buff, fmt, argp);
+ va_end(argp);
+ lua_error(buff);
+}
diff --git a/lauxlib.h b/lauxlib.h
@@ -0,0 +1,29 @@
+/*
+** $Id: $
+** Auxiliar functions for building Lua libraries
+** See Copyright Notice in lua.h
+*/
+
+
+#ifndef auxlib_h
+#define auxlib_h
+
+
+#include "lua.h"
+
+
+struct luaL_reg {
+ char *name;
+ lua_CFunction func;
+};
+
+void luaL_openlib (struct luaL_reg *l, int n);
+void luaL_arg_check(int cond, int numarg, char *extramsg);
+char *luaL_check_string (int numArg);
+char *luaL_opt_string (int numArg, char *def);
+double luaL_check_number (int numArg);
+double luaL_opt_number (int numArg, double def);
+void luaL_verror (char *fmt, ...);
+
+
+#endif