# --- T2-COPYRIGHT-BEGIN --- # t2/package/*/lua-sqlite3/hotfix-lua54.patch # Copyright (C) 2025 The T2 SDE Project # SPDX-License-Identifier: GPL-2.0 or patched project license # --- T2-COPYRIGHT-END --- --- lua-sqlite3-0.4.1/libluasqlite3.c.vanilla 2025-06-03 12:37:43.693471540 +0200 +++ lua-sqlite3-0.4.1/libluasqlite3.c 2025-06-03 12:39:25.329000000 +0200 @@ -305,7 +305,7 @@ static void * checkudata(lua_State * L, int narg) { if (!lua_isuserdata(L, narg)) - luaL_typerror(L, narg, "userdata"); + luaL_typeerror(L, narg, "userdata"); return lua_touserdata(L, narg); } @@ -330,7 +330,7 @@ return 0; if (lua_isfunction(L, narg)) return 1; - luaL_typerror(L, narg, "nil, none or function"); + luaL_typeerror(L, narg, "nil, none or function"); return 0; /* never reached, make compiler happy... */ } @@ -348,14 +348,14 @@ FUNC( l_sqlite3_bind_text ) { - lua_pushnumber(L, sqlite3_bind_text(checkstmt_stmt(L, 1), checkint(L, 2), checkstr(L, 3), lua_strlen(L, 3), SQLITE_TRANSIENT) ); + lua_pushnumber(L, sqlite3_bind_text(checkstmt_stmt(L, 1), checkint(L, 2), checkstr(L, 3), lua_rawlen(L, 3), SQLITE_TRANSIENT) ); return 1; } FUNC( l_sqlite3_bind_blob ) { - lua_pushnumber(L, sqlite3_bind_blob(checkstmt_stmt(L, 1), checkint(L, 2), checkstr(L, 3), lua_strlen(L, 3), SQLITE_TRANSIENT) ); + lua_pushnumber(L, sqlite3_bind_blob(checkstmt_stmt(L, 1), checkint(L, 2), checkstr(L, 3), lua_rawlen(L, 3), SQLITE_TRANSIENT) ); return 1; } @@ -420,7 +420,7 @@ break; case LUA_TSTRING: - lua_pushnumber(L, sqlite3_bind_text(stmt, index, lua_tostring(L, 3), lua_strlen(L, 3), SQLITE_TRANSIENT) ); + lua_pushnumber(L, sqlite3_bind_text(stmt, index, lua_tostring(L, 3), lua_rawlen(L, 3), SQLITE_TRANSIENT) ); break; default: @@ -764,7 +764,7 @@ DB * db = checkdb(L, 1); const char * sql = checkstr(L, 2); - int sql_size = lua_strlen(L, 2); + int sql_size = lua_rawlen(L, 2); const char * leftover = 0; sqlite3_stmt * sqlite3_stmt = 0; int error, leftover_size; @@ -898,7 +898,7 @@ if (lua_pcall(L, values ? 3 : 1, 0, 0)) { fprintf(stderr, "libluasqlite3: func_callback_wrapper: Warning: user function error: %s\n", lua_tostring(L, -1)); - sqlite3_result_error(ctx, lua_tostring(L, -1), lua_strlen(L, -1)); + sqlite3_result_error(ctx, lua_tostring(L, -1), lua_rawlen(L, -1)); lua_pop(L, 1); } } @@ -1077,7 +1077,7 @@ FUNC( l_sqlite3_result_error ) { - sqlite3_result_error(checkcontext(L, 1), checkstr(L, 2), lua_strlen(L, 2)); + sqlite3_result_error(checkcontext(L, 1), checkstr(L, 2), lua_rawlen(L, 2)); return 0; } @@ -1111,14 +1111,14 @@ FUNC( l_sqlite3_result_blob ) { - sqlite3_result_blob(checkcontext(L, 1), checkstr(L, 2), lua_strlen(L, 2), SQLITE_TRANSIENT); + sqlite3_result_blob(checkcontext(L, 1), checkstr(L, 2), lua_rawlen(L, 2), SQLITE_TRANSIENT); return 0; } FUNC( l_sqlite3_result_text ) { - sqlite3_result_text(checkcontext(L, 1), checkstr(L, 2), lua_strlen(L, 2), SQLITE_TRANSIENT); + sqlite3_result_text(checkcontext(L, 1), checkstr(L, 2), lua_rawlen(L, 2), SQLITE_TRANSIENT); return 0; } @@ -1161,7 +1161,7 @@ break; case LUA_TSTRING: - sqlite3_result_text(context, lua_tostring(L, 2), lua_strlen(L, 2), SQLITE_TRANSIENT); + sqlite3_result_text(context, lua_tostring(L, 2), lua_rawlen(L, 2), SQLITE_TRANSIENT); break; default: