Software /
code /
prosody
Annotate
util-src/windows.c @ 9073:a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 01 Aug 2018 10:26:08 +0100 |
parent | 7889:b8d694646597 |
child | 10921:6eb5d2bb11af |
rev | line source |
---|---|
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
1 /* Prosody IM |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
4 -- |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
5 -- This project is MIT/X11 licensed. Please see the |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
6 -- COPYING file in the source package for more information. |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
7 -- |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
8 */ |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
9 |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
10 /* |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
11 * windows.c |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
12 * Windows support functions for Lua |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
13 */ |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
14 |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
15 #include <stdio.h> |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
16 #include <windows.h> |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
17 #include <windns.h> |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
18 |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
19 #include "lua.h" |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
20 #include "lauxlib.h" |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
21 |
6789
6b180e77c97a
util-src/*.c: Invert Lua 5.2 compat to be 5.2+ by default and a macro to support 5.1
Kim Alvefur <zash@zash.se>
parents:
6615
diff
changeset
|
22 #if (LUA_VERSION_NUM == 501) |
6b180e77c97a
util-src/*.c: Invert Lua 5.2 compat to be 5.2+ by default and a macro to support 5.1
Kim Alvefur <zash@zash.se>
parents:
6615
diff
changeset
|
23 #define luaL_setfuncs(L, R, N) luaL_register(L, NULL, R) |
6413
a552f4170aed
util-src/*.c: Add macro for compiling with Lua 5.2
Kim Alvefur <zash@zash.se>
parents:
6412
diff
changeset
|
24 #endif |
a552f4170aed
util-src/*.c: Add macro for compiling with Lua 5.2
Kim Alvefur <zash@zash.se>
parents:
6412
diff
changeset
|
25 |
7889
b8d694646597
util-src/*.c: Attach pointer * to name instead of type
Kim Alvefur <zash@zash.se>
parents:
7818
diff
changeset
|
26 static int Lget_nameservers(lua_State *L) { |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
27 char stack_buffer[1024]; // stack allocated buffer |
7889
b8d694646597
util-src/*.c: Attach pointer * to name instead of type
Kim Alvefur <zash@zash.se>
parents:
7818
diff
changeset
|
28 IP4_ARRAY *ips = (IP4_ARRAY *) stack_buffer; |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
29 DWORD len = sizeof(stack_buffer); |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
30 DNS_STATUS status; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
31 |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
32 status = DnsQueryConfig(DnsConfigDnsServerList, FALSE, NULL, NULL, ips, &len); |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
33 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
34 if(status == 0) { |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
35 DWORD i; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
36 lua_createtable(L, ips->AddrCount, 0); |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
37 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
38 for(i = 0; i < ips->AddrCount; i++) { |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
39 DWORD ip = ips->AddrArray[i]; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
40 char ip_str[16] = ""; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
41 sprintf_s(ip_str, sizeof(ip_str), "%d.%d.%d.%d", (ip >> 0) & 255, (ip >> 8) & 255, (ip >> 16) & 255, (ip >> 24) & 255); |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
42 lua_pushstring(L, ip_str); |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
43 lua_rawseti(L, -2, i + 1); |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
44 } |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
45 |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
46 return 1; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
47 } else { |
4128
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
48 lua_pushnil(L); |
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
49 lua_pushfstring(L, "DnsQueryConfig returned %d", status); |
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
50 return 2; |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
51 } |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
52 } |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
53 |
7889
b8d694646597
util-src/*.c: Attach pointer * to name instead of type
Kim Alvefur <zash@zash.se>
parents:
7818
diff
changeset
|
54 static int lerror(lua_State *L, char *string) { |
4128
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
55 lua_pushnil(L); |
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
56 lua_pushfstring(L, "%s: %d", string, GetLastError()); |
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
57 return 2; |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
58 } |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
59 |
7889
b8d694646597
util-src/*.c: Attach pointer * to name instead of type
Kim Alvefur <zash@zash.se>
parents:
7818
diff
changeset
|
60 static int Lget_consolecolor(lua_State *L) { |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
61 HWND console = GetStdHandle(STD_OUTPUT_HANDLE); |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
62 WORD color; |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
63 DWORD read_len; |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
64 |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
65 CONSOLE_SCREEN_BUFFER_INFO info; |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
66 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
67 if(console == INVALID_HANDLE_VALUE) { |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
68 return lerror(L, "GetStdHandle"); |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
69 } |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
70 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
71 if(!GetConsoleScreenBufferInfo(console, &info)) { |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
72 return lerror(L, "GetConsoleScreenBufferInfo"); |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
73 } |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
74 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
75 if(!ReadConsoleOutputAttribute(console, &color, 1, info.dwCursorPosition, &read_len)) { |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
76 return lerror(L, "ReadConsoleOutputAttribute"); |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
77 } |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
78 |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
79 lua_pushnumber(L, color); |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
80 return 1; |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
81 } |
7889
b8d694646597
util-src/*.c: Attach pointer * to name instead of type
Kim Alvefur <zash@zash.se>
parents:
7818
diff
changeset
|
82 static int Lset_consolecolor(lua_State *L) { |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
83 int color = luaL_checkint(L, 1); |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
84 HWND console = GetStdHandle(STD_OUTPUT_HANDLE); |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
85 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
86 if(console == INVALID_HANDLE_VALUE) { |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
87 return lerror(L, "GetStdHandle"); |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
88 } |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
89 |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
90 if(!SetConsoleTextAttribute(console, color)) { |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
91 return lerror(L, "SetConsoleTextAttribute"); |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
92 } |
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
93 |
4128
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
94 lua_pushboolean(L, 1); |
b6d072a3668d
windows.c: Return nil,err from functions instead of throwing errors.
Waqas Hussain <waqas20@gmail.com>
parents:
3748
diff
changeset
|
95 return 1; |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
96 } |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
97 |
6615
8e4572a642cb
util-src/*.c: astyle --indent=tab --brackets=attach --indent-switches --break-blocks --pad-oper --unpad-paren --add-brackets --align-pointer=type --lineend=linux
Kim Alvefur <zash@zash.se>
parents:
6413
diff
changeset
|
98 static const luaL_Reg Reg[] = { |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
99 { "get_nameservers", Lget_nameservers }, |
3748
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
100 { "get_consolecolor", Lget_consolecolor }, |
2237796ba228
util-src/windows.c: Added get_consolecolor, set_consolecolor.
Waqas Hussain <waqas20@gmail.com>
parents:
2924
diff
changeset
|
101 { "set_consolecolor", Lset_consolecolor }, |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
102 { NULL, NULL } |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
103 }; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
104 |
7889
b8d694646597
util-src/*.c: Attach pointer * to name instead of type
Kim Alvefur <zash@zash.se>
parents:
7818
diff
changeset
|
105 LUALIB_API int luaopen_util_windows(lua_State *L) { |
7818
54669df178c2
util-src: Make C modules assert that the Lua runtime matches what it was compiled for
Kim Alvefur <zash@zash.se>
parents:
6789
diff
changeset
|
106 #if (LUA_VERSION_NUM > 501) |
54669df178c2
util-src: Make C modules assert that the Lua runtime matches what it was compiled for
Kim Alvefur <zash@zash.se>
parents:
6789
diff
changeset
|
107 luaL_checkversion(L); |
54669df178c2
util-src: Make C modules assert that the Lua runtime matches what it was compiled for
Kim Alvefur <zash@zash.se>
parents:
6789
diff
changeset
|
108 #endif |
6411
6c8f6364bc48
util-src/*.c: Don't create globals when loaded
Kim Alvefur <zash@zash.se>
parents:
5864
diff
changeset
|
109 lua_newtable(L); |
6789
6b180e77c97a
util-src/*.c: Invert Lua 5.2 compat to be 5.2+ by default and a macro to support 5.1
Kim Alvefur <zash@zash.se>
parents:
6615
diff
changeset
|
110 luaL_setfuncs(L, Reg, 0); |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
111 lua_pushliteral(L, "-3.14"); |
6412
0e94f89d0e62
util-src/*.c: Use the more concise lua_setfield
Kim Alvefur <zash@zash.se>
parents:
6411
diff
changeset
|
112 lua_setfield(L, -2, "version"); |
2924
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
113 return 1; |
8dc4e2e00129
util.windows: Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
2923
diff
changeset
|
114 } |