90 } |
90 } |
91 |
91 |
92 for (p = 2; p <= n; p++) { |
92 for (p = 2; p <= n; p++) { |
93 int i = p - 1; |
93 int i = p - 1; |
94 |
94 |
95 if (lua_isnil(L, p)) { |
95 int type = lua_type(L, p); |
96 if (sqlite3_bind_null(statement->stmt, i) != SQLITE_OK) { |
96 |
97 err = 1; |
97 switch(type) { |
98 } |
98 case LUA_TNIL: |
99 } else if (lua_isnumber(L, p)) { |
99 err = sqlite3_bind_null(statement->stmt, i) != SQLITE_OK; |
100 if (sqlite3_bind_double(statement->stmt, i, luaL_checknumber(L, p)) != SQLITE_OK) { |
100 break; |
101 err = 1; |
101 case LUA_TNUMBER: |
102 } |
102 err = sqlite3_bind_double(statement->stmt, i, lua_tonumber(L, p)) != SQLITE_OK; |
103 } else if (lua_isstring(L, p)) { |
103 break; |
104 if (sqlite3_bind_text(statement->stmt, i, luaL_checkstring(L, p), -1, SQLITE_STATIC) != SQLITE_OK) { |
104 case LUA_TSTRING: |
105 err = 1; |
105 err = sqlite3_bind_text(statement->stmt, i, lua_tostring(L, p), -1, SQLITE_STATIC) != SQLITE_OK; |
106 } |
106 break; |
107 } |
107 case LUA_TBOOLEAN: |
|
108 err = sqlite3_bind_int(statement->stmt, i, lua_toboolean(L, p)) != SQLITE_OK; |
|
109 break; |
|
110 default: |
|
111 /* |
|
112 * Unknown/unsupported value type |
|
113 */ |
|
114 err = 1; |
|
115 } |
|
116 |
108 |
117 |
109 if (err) |
118 if (err) |
110 break; |
119 break; |
111 } |
120 } |
112 |
121 |