[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[cinvoke-svn] r42 - trunk/cinvoke/bindings/lua
From: |
will |
Subject: |
[cinvoke-svn] r42 - trunk/cinvoke/bindings/lua |
Date: |
24 Jun 2006 14:36:31 -0400 |
Author: will
Date: 2006-06-24 14:36:30 -0400 (Sat, 24 Jun 2006)
New Revision: 42
Modified:
trunk/cinvoke/bindings/lua/cinvoke_lua.c
Log:
added new function
Modified: trunk/cinvoke/bindings/lua/cinvoke_lua.c
===================================================================
--- trunk/cinvoke/bindings/lua/cinvoke_lua.c 2006-06-24 04:59:37 UTC (rev 41)
+++ trunk/cinvoke/bindings/lua/cinvoke_lua.c 2006-06-24 18:36:30 UTC (rev 42)
@@ -809,8 +809,27 @@
lua_setfield(l, -2, name);
}
+int _cinv_string_to_chararray(lua_State *l) {
+ size_t len, i;
+ const char *s;
+ if (lua_gettop(l) != 1) {
+ lua_pushstring(l, "usage: cinv.string_to_chararray(string)");
+ lua_error(l);
+ }
+ s = lua_tolstring(l, 1, &len);
+
+ lua_newtable(l);
+ for (i = 0; i <= len; i++) {
+ lua_pushinteger(l, i + 1);
+ lua_pushlstring(l, s + i, 1);
+ lua_settable(l, 1);
+ }
+
+ return 1;
+}
+
int _cinv_chararray_to_string(lua_State *l) {
- size_t len, i = 0;
+ size_t len, i;
if (lua_gettop(l) != 1) {
lua_pushstring(l, "usage: cinv.chararray_to_string(carray)");
lua_error(l);
@@ -826,7 +845,6 @@
lua_error(l);
}
for (i = 0; i < len; i++) {
- const char *s;
lua_pushinteger(l, i + 1);
lua_gettable(l, 1);
@@ -836,8 +854,6 @@
}
ret[i] = lua_tostring(l, -1)[0];
lua_pop(l, 1);
-
- i++;
}
ret[len] = '\0';
@@ -1010,6 +1026,7 @@
lua_newtable(l);
declfunc(l, "array", _cinv_array);
declfunc(l, "chararray_to_string", _cinv_chararray_to_string);
+ declfunc(l, "string_to_chararray", _cinv_string_to_chararray);
declfunc(l, "ptr_to_string", _cinv_ptr_to_string);
declfunc(l, "ptr_to_array", _cinv_ptr_to_array);
declfunc(l, "ptr_to_struct", _cinv_ptr_to_struct);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [cinvoke-svn] r42 - trunk/cinvoke/bindings/lua,
will <=