diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-12-17 14:46:37 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2018-12-17 14:46:37 -0200 |
commit | 063d4e4543088e7a21965bda8ee5a0f952a9029e (patch) | |
tree | 6c3f2f8e98c26f071a94a32f9f2754396a66a9de /testes/libs | |
parent | e354c6355e7f48e087678ec49e340ca0696725b1 (diff) | |
download | lua-5.3.5.tar.gz lua-5.3.5.tar.bz2 lua-5.3.5.zip |
Lua 5.3.5 ported to gitv5.3.5
This is the first commit for the branch Lua 5.3. All source files
were copied from the official distribution of 5.3.5 in the Lua site.
The test files are the same of 5.3.4. The manual came from the
previous RCS repository, revision 1.167.1.2.
Diffstat (limited to '')
-rw-r--r-- | testes/libs/lib1.c | 44 | ||||
-rw-r--r-- | testes/libs/lib11.c | 10 | ||||
-rw-r--r-- | testes/libs/lib2.c | 23 | ||||
-rw-r--r-- | testes/libs/lib21.c | 10 | ||||
-rw-r--r-- | testes/libs/makefile | 26 |
5 files changed, 113 insertions, 0 deletions
diff --git a/testes/libs/lib1.c b/testes/libs/lib1.c new file mode 100644 index 00000000..56b6ef41 --- /dev/null +++ b/testes/libs/lib1.c | |||
@@ -0,0 +1,44 @@ | |||
1 | #include "lua.h" | ||
2 | #include "lauxlib.h" | ||
3 | |||
4 | static int id (lua_State *L) { | ||
5 | return lua_gettop(L); | ||
6 | } | ||
7 | |||
8 | |||
9 | static const struct luaL_Reg funcs[] = { | ||
10 | {"id", id}, | ||
11 | {NULL, NULL} | ||
12 | }; | ||
13 | |||
14 | |||
15 | /* function used by lib11.c */ | ||
16 | LUAMOD_API int lib1_export (lua_State *L) { | ||
17 | lua_pushstring(L, "exported"); | ||
18 | return 1; | ||
19 | } | ||
20 | |||
21 | |||
22 | LUAMOD_API int onefunction (lua_State *L) { | ||
23 | luaL_checkversion(L); | ||
24 | lua_settop(L, 2); | ||
25 | lua_pushvalue(L, 1); | ||
26 | return 2; | ||
27 | } | ||
28 | |||
29 | |||
30 | LUAMOD_API int anotherfunc (lua_State *L) { | ||
31 | luaL_checkversion(L); | ||
32 | lua_pushfstring(L, "%d%%%d\n", (int)lua_tointeger(L, 1), | ||
33 | (int)lua_tointeger(L, 2)); | ||
34 | return 1; | ||
35 | } | ||
36 | |||
37 | |||
38 | LUAMOD_API int luaopen_lib1_sub (lua_State *L) { | ||
39 | lua_setglobal(L, "y"); /* 2nd arg: extra value (file name) */ | ||
40 | lua_setglobal(L, "x"); /* 1st arg: module name */ | ||
41 | luaL_newlib(L, funcs); | ||
42 | return 1; | ||
43 | } | ||
44 | |||
diff --git a/testes/libs/lib11.c b/testes/libs/lib11.c new file mode 100644 index 00000000..377d0c48 --- /dev/null +++ b/testes/libs/lib11.c | |||
@@ -0,0 +1,10 @@ | |||
1 | #include "lua.h" | ||
2 | |||
3 | /* function from lib1.c */ | ||
4 | int lib1_export (lua_State *L); | ||
5 | |||
6 | LUAMOD_API int luaopen_lib11 (lua_State *L) { | ||
7 | return lib1_export(L); | ||
8 | } | ||
9 | |||
10 | |||
diff --git a/testes/libs/lib2.c b/testes/libs/lib2.c new file mode 100644 index 00000000..bc9651ee --- /dev/null +++ b/testes/libs/lib2.c | |||
@@ -0,0 +1,23 @@ | |||
1 | #include "lua.h" | ||
2 | #include "lauxlib.h" | ||
3 | |||
4 | static int id (lua_State *L) { | ||
5 | return lua_gettop(L); | ||
6 | } | ||
7 | |||
8 | |||
9 | static const struct luaL_Reg funcs[] = { | ||
10 | {"id", id}, | ||
11 | {NULL, NULL} | ||
12 | }; | ||
13 | |||
14 | |||
15 | LUAMOD_API int luaopen_lib2 (lua_State *L) { | ||
16 | lua_settop(L, 2); | ||
17 | lua_setglobal(L, "y"); /* y gets 2nd parameter */ | ||
18 | lua_setglobal(L, "x"); /* x gets 1st parameter */ | ||
19 | luaL_newlib(L, funcs); | ||
20 | return 1; | ||
21 | } | ||
22 | |||
23 | |||
diff --git a/testes/libs/lib21.c b/testes/libs/lib21.c new file mode 100644 index 00000000..a39b683d --- /dev/null +++ b/testes/libs/lib21.c | |||
@@ -0,0 +1,10 @@ | |||
1 | #include "lua.h" | ||
2 | |||
3 | |||
4 | int luaopen_lib2 (lua_State *L); | ||
5 | |||
6 | LUAMOD_API int luaopen_lib21 (lua_State *L) { | ||
7 | return luaopen_lib2(L); | ||
8 | } | ||
9 | |||
10 | |||
diff --git a/testes/libs/makefile b/testes/libs/makefile new file mode 100644 index 00000000..9925fb00 --- /dev/null +++ b/testes/libs/makefile | |||
@@ -0,0 +1,26 @@ | |||
1 | # change this variable to point to the directory with Lua headers | ||
2 | # of the version being tested | ||
3 | LUA_DIR = ../../ | ||
4 | |||
5 | CC = gcc | ||
6 | |||
7 | # compilation should generate Dynamic-Link Libraries | ||
8 | CFLAGS = -Wall -std=gnu99 -O2 -I$(LUA_DIR) -fPIC -shared | ||
9 | |||
10 | # libraries used by the tests | ||
11 | all: lib1.so lib11.so lib2.so lib21.so lib2-v2.so | ||
12 | |||
13 | lib1.so: lib1.c | ||
14 | $(CC) $(CFLAGS) -o lib1.so lib1.c | ||
15 | |||
16 | lib11.so: lib11.c | ||
17 | $(CC) $(CFLAGS) -o lib11.so lib11.c | ||
18 | |||
19 | lib2.so: lib2.c | ||
20 | $(CC) $(CFLAGS) -o lib2.so lib2.c | ||
21 | |||
22 | lib21.so: lib21.c | ||
23 | $(CC) $(CFLAGS) -o lib21.so lib21.c | ||
24 | |||
25 | lib2-v2.so: lib2.so | ||
26 | mv lib2.so ./lib2-v2.so | ||