diff options
| author | Anders Betts <anders.betts@gmail.com> | 2026-09-20 21:55:04 +0200 |
|---|---|---|
| committer | Anders Betts <anders.betts@gmail.com> | 2026-09-20 22:02:57 +0200 |
| commit | ceff3d26732a7fde2f66df0270269d3bebcfabf7 (patch) | |
| tree | 4ad6677617cae9de4aa4b5b42352a7a8cf29a3e9 /src/cmd_util.c | |
| parent | 10a535ace098144980d0ffd1593f6384c39cc221 (diff) | |
| download | bokf-ceff3d26732a7fde2f66df0270269d3bebcfabf7.tar.gz bokf-ceff3d26732a7fde2f66df0270269d3bebcfabf7.zip | |
commands: shared DB-error helpers
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Diffstat (limited to 'src/cmd_util.c')
| -rw-r--r-- | src/cmd_util.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/cmd_util.c b/src/cmd_util.c index 747f836..5347d48 100644 --- a/src/cmd_util.c +++ b/src/cmd_util.c @@ -198,6 +198,24 @@ yyjson_mut_val *failf(struct req *r, const char *code, const char *fmt, ...) return NULL; } +yyjson_mut_val *db_error(struct req *r) +{ + return fail(r, "INTERNAL", "database error"); +} + +yyjson_mut_val *db_sqlite_error(struct req *r) +{ + return fail(r, "INTERNAL", sqlite3_errmsg(r->db)); +} + +void bind_text_or_null(sqlite3_stmt *st, int idx, const char *s) +{ + if (s) + sqlite3_bind_text(st, idx, s, -1, SQLITE_TRANSIENT); + else + sqlite3_bind_null(st, idx); +} + int mkdir_p(const char *path, mode_t mode) { char tmp[4096]; |
