*** empty log message ***

master
mark 21 years ago
parent d16e151b56
commit 0abc74ed14

@ -2,4 +2,6 @@ CFLAGS = $(WARNINGS) $(DEFINES) $(INCLUDES)
DEFINES = -D_XOPEN_SOURCE=600 DEFINES = -D_XOPEN_SOURCE=600
INCLUDES = -I${LUA}/src INCLUDES = -I${LUA}/src
WARNINGS = -W -Wall WARNINGS = -W -Wall
LUA = /home/mark/src/lang/lua/lua-5.0.2 LUA = /home/mark/src/lang/lua/lua-5.1-rc1
lu.so: lu.o; $(CC) -shared -o $@ lu.o

@ -1,39 +0,0 @@
local getmetatable, setmetatable = getmetatable, setmetatable
local rawget, rawset, type = rawget, rawset, type
local getenv, setenv, unsetenv = os.getenv, os.setenv, os.unsetenv
local mt = getmetatable(os)
if not mt then
mt = {}
setmetatable(os, mt)
end
module "os"
-- metatable for os
function mt:__index(k)
if k == "environ" then
local environ = {}
-- This function needs to be written in C.
for k,v in getenvs() do
e[k] = v
end
rawset(os, "environ", environ)
end
end
-- metatable for os.environ
mt = {}
function mt:__newindex(name, value)
if type(name) ~= "string" then
error("Expected a string key", 2)
end
if value == nil then
unsetenv(name)
elseif typeof(value) == "string" then
setenv(name, value, true)
else
error("Expected a string value", 2)
end
rawset(self,name,value)
end
environ = setmetatable({}, e)

@ -1,2 +0,0 @@
#include <stdio.h>

@ -4,10 +4,11 @@ require "ex"
--print"os.sleep" --print"os.sleep"
--os.sleep(2); --os.sleep(2);
print"os.setenv"
assert(os.setenv("foo", "42")) assert(os.setenv("foo", "42"))
print("expect foo= 42")
print("foo=", os.getenv("foo")) print("foo=", os.getenv("foo"))
assert(os.unsetenv("foo")) assert(os.unsetenv("foo"))
print("expect foo= nil")
print("foo=", os.getenv("foo")) print("foo=", os.getenv("foo"))

@ -1,29 +0,0 @@
#include <stdio.h>
#include <assert.h>
#include <windows.h>
#include <io.h>
#include <fcntl.h>
int main(void)
{
HANDLE h;
FILE *f;
h = CreateFile("NUL", GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
assert(h != INVALID_HANDLE_VALUE);
f = _fdopen(_open_osfhandle(h, _O_RDONLY), "r");
assert(f != 0);
assert(fgetc(f) == EOF);
fclose(f);
#if 0
{
char buf[20];
DWORD len;
fprintf(stderr, "read: %d\n", ReadFile(h, buf, sizeof buf, &len, 0));
fprintf(stderr, "error: %lu\n", GetLastError());
fprintf(stderr, "len: %lu\n", len);
}
#endif
fprintf(stderr, "%d\n", CloseHandle(h));
fprintf(stderr, "error: %lu\n", GetLastError());
return 0;
}
Loading…
Cancel
Save