[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: [CODE] Requesting help with lua and C
- From: "Shane Lee" <shaneplee@...>
- Date: Sat, 16 Jun 2007 22:12:07 -0500
Generally, I would hesitate to unlurk on a mailing list with what
seems to be a newbie problem. However, I am relatively new to Lua and
even even though I have the manual and have read quite a bit of the
"Programming in Lua" online help I am still unable to find the aswer
to my problem. Perhaps there isn't a real answer. What I am hoping to
avoid is a generic answer or RTFM, which I was able to find all over
the internet via google searches and wiki studies.
Here is what I have thus far, and the comments should explain my problem:
-------------Begin Psuedo-Code--------------------
Lua:
--Simple string stored in a table
t = { [[And this is from the Lua script!]] }
print(t[1])
--End of script
C code:
struct user_data {
int uuid; /* User's unique ID num */
char inbuf[8192]; /* Users's input buffer control */
char outbuf[8192]; /* Socket's output buffer control */
};
/*
* c_to_user:
* Psuedo function that takes a variable (txt) and stores it in the
* "user's" outbuf for later processing.
*/
void c_to_user(struct user_data *usr, char *txt) {
/* Do some basic error checking... */
if (!usr || !txt || txt[0] == '\0') { return; }
/* Use 'sprintf' to store the input to the user's outbuf */
sprintf(usr->outbuf, "%s", txt);
return;
}
/*
* lua_to_user:
* Run a lua script and send the output to c_to_user.
*/
void lua_to_user(struct user_data *usr, char *txt, lua_State *L) {
const char *s = NULL;
char buf[8192];
memset(buf, '\0', 8192);
c_to_user(usr, "This is stored in C.");
/* "txt" would be a !validated! path to the Lua script */
luaL_dostring(L, txt);
/* At this point my knowledge breaks down and I run out of ideas,
* however this is the place I would call "lua_to_user" with the
* script's output.
*/
return;
}
------------- End Psuedo-Code--------------------
If anyone out there is able to figure out my problem, I would greatly
appreciate their response.
Thanks in advance,
-Shane