Browse Source

bitlib has been deprecated

Roberto Ierusalimschy 11 years ago
parent
commit
282d67d8fc
2 changed files with 28 additions and 2 deletions
  1. 22 1
      lbitlib.c
  2. 6 1
      luaconf.h

+ 22 - 1
lbitlib.c

@@ -1,5 +1,5 @@
 /*
-** $Id: lbitlib.c,v 1.22 2013/07/09 18:31:01 roberto Exp roberto $
+** $Id: lbitlib.c,v 1.23 2014/02/26 12:38:18 roberto Exp roberto $
 ** Standard library for bitwise operations
 ** See Copyright Notice in lua.h
 */
@@ -13,6 +13,9 @@
 #include "lualib.h"
 
 
+#if defined(LUA_COMPAT_BITLIB)		/* { */
+
+
 /* number of bits to consider in a number */
 #if !defined(LUA_NBITS)
 #define LUA_NBITS	32
@@ -213,3 +216,21 @@ LUAMOD_API int luaopen_bit32 (lua_State *L) {
   return 1;
 }
 
+
+#else					/* }{ */
+
+static int b_err (lua_State *L) {
+  return luaL_error(L, "library 'bit32' is deprecated");
+}
+
+
+LUAMOD_API int luaopen_bit32 (lua_State *L) {
+  lua_createtable(L, 0, 1);  /* new table to represent the module */
+  lua_pushvalue(L, -1);
+  lua_setmetatable(L, -2);  /* set it as its own metatable */
+  lua_pushcfunction(L, b_err);
+  lua_setfield(L, -2, "__index");  /* metatable.__index = b_errret */
+  return 1;
+}
+
+#endif					/* } */

+ 6 - 1
luaconf.h

@@ -1,5 +1,5 @@
 /*
-** $Id: luaconf.h,v 1.190 2014/02/26 15:27:56 roberto Exp roberto $
+** $Id: luaconf.h,v 1.191 2014/03/06 16:15:18 roberto Exp roberto $
 ** Configuration file for Lua
 ** See Copyright Notice in lua.h
 */
@@ -247,6 +247,11 @@
 */
 #if defined(LUA_COMPAT_ALL)	/* { */
 
+/*
+@@ LUA_COMPAT_BITLIB controls the presence of library 'bit32'.
+*/
+#define LUA_COMPAT_BITLIB
+
 /*
 @@ LUA_COMPAT_UNPACK controls the presence of global 'unpack'.
 ** You can replace it with 'table.unpack'.