From aa593b41beedea008561785dd764b9ffb3426cbe Mon Sep 17 00:00:00 2001 From: Luna Date: Fri, 1 Apr 2022 19:36:20 -0300 Subject: only use sqlite3_error_offset if compatible --- sqlite.zig | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'sqlite.zig') diff --git a/sqlite.zig b/sqlite.zig index 8a70568..f6632b6 100644 --- a/sqlite.zig +++ b/sqlite.zig @@ -283,10 +283,17 @@ fn getDetailedErrorFromResultCode(code: c_int) DetailedError { }; } +fn getErrorOffset(db: *c.sqlite3) i32 { + if (comptime c.SQLITE_VERSION_NUMBER >= 3038000) { + return c.sqlite3_error_offset(db); + } + return -1; +} + fn getLastDetailedErrorFromDb(db: *c.sqlite3) DetailedError { return .{ .code = @intCast(usize, c.sqlite3_extended_errcode(db)), - .near = @intCast(i32, c.sqlite3_error_offset(db)), + .near = getErrorOffset(db), .message = blk: { const msg = c.sqlite3_errmsg(db); break :blk mem.sliceTo(msg, 0); -- cgit v1.2.3