dbd/common.h

Sun, 23 Nov 2008 04:12:04 +0000

author
nrich@ii.net
date
Sun, 23 Nov 2008 04:12:04 +0000
changeset 2
c4f02fc67e5a
parent 1
408291a6eb3e
child 4
c50b0e6f25d6
permissions
-rw-r--r--

Cleanup and commenting

1
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
1 #include <string.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
2 #include <stdio.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
3 #include <stdlib.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
4
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
5 #include <lua.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
6 #include <lauxlib.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
7 #include <lualib.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
8
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
9 #if !defined(LUA_VERSION_NUM) || (LUA_VERSION_NUM < 501)
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
10 #include <compat-5.1.h>
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
11 #endif
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
12
2
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
13 /*
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
14 *
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
15 * Table construction helper functions
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
16 *
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
17 * LUA_PUSH_ATTRIB_* creates string indexed (hashmap)
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
18 * LUA_PUSH_ATTRIB_* creates integer indexed (array)
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
19 *
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
20 */
1
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
21
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
22 #define LUA_PUSH_ATTRIB_INT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
23 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
24 lua_pushinteger(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
25 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
26
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
27 #define LUA_PUSH_ATTRIB_FLOAT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
28 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
29 lua_pushnumber(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
30 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
31
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
32 #define LUA_PUSH_ATTRIB_STRING(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
33 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
34 lua_pushstring(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
35 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
36
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
37 #define LUA_PUSH_ATTRIB_BOOL(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
38 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
39 lua_pushboolean(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
40 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
41
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
42 #define LUA_PUSH_ATTRIB_NIL(n) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
43 lua_pushstring(L, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
44 lua_pushnil(L); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
45 lua_rawset(L, -3);
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
46
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
47
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
48
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
49 #define LUA_PUSH_ARRAY_INT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
50 lua_pushinteger(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
51 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
52 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
53
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
54 #define LUA_PUSH_ARRAY_FLOAT(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
55 lua_pushnumber(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
56 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
57 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
58
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
59 #define LUA_PUSH_ARRAY_STRING(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
60 lua_pushstring(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
61 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
62 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
63
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
64 #define LUA_PUSH_ARRAY_BOOL(n, v) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
65 lua_pushboolean(L, v); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
66 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
67 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
68
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
69 #define LUA_PUSH_ARRAY_NIL(n) \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
70 lua_pushnil(L); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
71 lua_rawseti(L, -2, n); \
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
72 n++;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
73
2
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
74 /*
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
75 *
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
76 * Describes SQL to Lua API conversions
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
77 *
c4f02fc67e5a Cleanup and commenting
nrich@ii.net
parents: 1
diff changeset
78 */
1
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
79
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
80 typedef enum lua_push_type {
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
81 LUA_PUSH_NIL = 0,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
82 LUA_PUSH_INTEGER,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
83 LUA_PUSH_NUMBER,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
84 LUA_PUSH_STRING,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
85 LUA_PUSH_BOOLEAN,
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
86
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
87 LUA_PUSH_MAX
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
88 } lua_push_type_t;
408291a6eb3e Initial import.
nrich@ii.net
parents:
diff changeset
89

mercurial