Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 21 Jun 2014 21:29:12 GMT
From:      pedrosouza@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r269831 - soc2014/pedrosouza/lua_loader/head/sys/boot/lua
Message-ID:  <201406212129.s5LLTCsI053350@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: pedrosouza
Date: Sat Jun 21 21:29:11 2014
New Revision: 269831
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=269831

Log:
  Added getenv function to lua

Modified:
  soc2014/pedrosouza/lua_loader/head/sys/boot/lua/lutils.c

Modified: soc2014/pedrosouza/lua_loader/head/sys/boot/lua/lutils.c
==============================================================================
--- soc2014/pedrosouza/lua_loader/head/sys/boot/lua/lutils.c	Sat Jun 21 19:29:40 2014	(r269830)
+++ soc2014/pedrosouza/lua_loader/head/sys/boot/lua/lutils.c	Sat Jun 21 21:29:11 2014	(r269831)
@@ -112,6 +112,22 @@
 	return 0;
 }
 
+int lua_getenv(lua_State * L)
+{
+	char * ev;
+	int n = lua_gettop(L);
+	if (n == 1)
+	{
+		ev = getenv(lua_tostring(L, 1));
+		if (ev != NULL)
+			lua_pushstring(L, ev);
+		else
+			lua_pushnil(L);
+	} else
+		lua_pushnil(L);
+	return 1;
+}
+
 void *
 lua_realloc(void *ud, void *ptr, size_t osize, size_t nsize)
 {
@@ -149,7 +165,7 @@
 	data_chunk ds;
 	ds.data = (void*)str;
 	ds.size = size;
-	res = lua_load(L, read_chunk, &ds, "do_string_", 0);
+	res = lua_load(L, read_chunk, &ds, "do_string", 0);
 	res = lua_pcall(L, 0, LUA_MULTRET, 0);
 	return res;
 }
@@ -246,6 +262,7 @@
 			{lua_perform, "loader", "perform"},
 			{lua_delay, "loader", "delay"},
 			{lua_include, "loader", "include"},
+			{lua_getenv, "loader", "getenv"},
 			{lua_strchar, "string", "byte"},
 			{lua_charstr, "string", "char"},
 			{lua_getchar, "io", "getchar"},



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201406212129.s5LLTCsI053350>