From 858d2cd9be35a5f6c051b37bfb2a02e920a888b4 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Sun, 12 Jul 2020 14:12:53 -0400 Subject: Use X macro for statements --- server.h | 40 ++++++++++++---------------------------- 1 file changed, 12 insertions(+), 28 deletions(-) (limited to 'server.h') diff --git a/server.h b/server.h index 4a18ef0..fd80278 100644 --- a/server.h +++ b/server.h @@ -99,14 +99,19 @@ enum kcgi_err searchPage(struct kreq *req); extern sqlite3 *db; +#define ENUM_STMTS \ + X(networks, NetworksQuery) \ + X(contexts, ContextsQuery) \ + X(motd, ContextsMOTDQuery) \ + X(topic, EventsTopicQuery) \ + X(eventsAfter, EventsAfterQuery) \ + X(eventsBefore, EventsBeforeQuery) \ + X(search, SearchQuery) + extern struct Statements { - sqlite3_stmt *networks; - sqlite3_stmt *contexts; - sqlite3_stmt *contextsMOTD; - sqlite3_stmt *eventsTopic; - sqlite3_stmt *eventsAfter; - sqlite3_stmt *eventsBefore; - sqlite3_stmt *search; +#define X(name, query) sqlite3_stmt *name; + ENUM_STMTS +#undef X } stmt; static inline void dbPrepare(sqlite3_stmt **stmt, const char *query) { @@ -116,27 +121,6 @@ static inline void dbPrepare(sqlite3_stmt **stmt, const char *query) { if (error) errx(EX_SOFTWARE, "%s: %s", sqlite3_errmsg(db), query); } -static inline void dbPrepareAll(void) { - dbPrepare(&stmt.networks, NetworksQuery); - dbPrepare(&stmt.contexts, ContextsQuery); - dbPrepare(&stmt.contextsMOTD, ContextsMOTDQuery); - dbPrepare(&stmt.eventsTopic, EventsTopicQuery); - dbPrepare(&stmt.eventsAfter, EventsAfterQuery); - dbPrepare(&stmt.eventsBefore, EventsBeforeQuery); - dbPrepare(&stmt.search, SearchQuery); -} - -static inline void dbClose(void) { - sqlite3_finalize(stmt.networks); - sqlite3_finalize(stmt.contexts); - sqlite3_finalize(stmt.contextsMOTD); - sqlite3_finalize(stmt.eventsTopic); - sqlite3_finalize(stmt.eventsAfter); - sqlite3_finalize(stmt.eventsBefore); - sqlite3_finalize(stmt.search); - sqlite3_close(db); -} - static inline int dbParam(sqlite3_stmt *stmt, const char *param) { int index = sqlite3_bind_parameter_index(stmt, param); if (index) return index; -- cgit 1.4.1 15e719a7a0f73bab374&follow=1'>doc/zlib/deflateSetHeader.3 (unfollow)
Commit message (Expand)Author
2021-09-27Update dash autoconf/automake filesJune McEnroe
2021-09-26Add boot commands for serial consoleJune McEnroe
2021-09-26Publish "Installing OpenBSD on Linode"June McEnroe
2021-09-26Use tiny UTF-8-aware col -b replacementJune McEnroe
2021-09-25Install up to cgi-binJune McEnroe
2021-09-25Clean up up (ugh) somewhat againJune McEnroe
2021-09-25Update root path in up.shJune McEnroe
2021-09-25Disable HashKnownHostsJune McEnroe
2021-09-25Add scout to ssh configJune McEnroe
2021-09-25Sandbox up on both FreeBSD and OpenBSDJune McEnroe
2021-09-25Set SO_REUSEADDR in quickJune McEnroe
2021-09-25Revert "Add cat alias using less"June McEnroe
2021-09-24Pledge downgradeJune McEnroe
2021-09-24Set original socket CLOEXECJune McEnroe
2021-09-24Consume request headers using MSG_PEEKJune McEnroe
2021-09-24Set only HTTP_HOSTJune McEnroe
2021-09-23Scroll by single lines in xtermJune McEnroe
2021-09-23Hide htop "function bar"June McEnroe
2021-09-23Allow FocusEvents in xtermJune McEnroe
2021-09-23Use NI_NUMERICSERVJune McEnroe
2021-09-23Make up build away from FreeBSDJune McEnroe
2021-09-23Add quickJune McEnroe
2021-09-23Add The HobbitJune McEnroe
2021-09-22Remove PSF fontsJune McEnroe
2021-09-22Remove Linux-specific utilitiesJune McEnroe
2021-09-22Call sandbox in CGI modeJune McEnroe
2021-09-22Support HTTP PUT in upJune McEnroe
2021-09-22Remove default faviconJune McEnroe
2021-09-21Use Z_FILTERED strategyJune McEnroe
2021-09-21Recalculate various lengths only as neededJune McEnroe
2021-09-21Rewrite pngo, add explicit optionsJune McEnroe
2021-09-16Fix /* **/ comment matchingJune McEnroe
2021-09-15Remove typer, add downgrade to READMEJune McEnroe
2021-09-15Set bot mode on downgradeJune McEnroe
2021-09-15Enter capsicum in downgradeJune McEnroe
2021-09-15Factor out common parts of downgrade messagesJune McEnroe
2021-09-14Add downgrade IRC botJune McEnroe
2021-09-14Sort by title if authors matchJune McEnroe
2021-09-13Swap-remove tags as they're foundJune McEnroe
2021-09-12Replace htagml regex with strncmpJune McEnroe
2021-09-11Also defer printing comment for lone close-parensJune McEnroe
2021-09-10Publish "git-comment"June McEnroe
2021-09-10Add git comment --pretty optionJune McEnroe
2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe
2021-09-08Up default min-repeat to 30 linesJune McEnroe
2021-09-08Handle dirty lines in git-commentJune McEnroe
2021-09-08Document and install git-commentJune McEnroe
2021-09-08Add repeat and all options to git-commentJune McEnroe
2021-09-08Add group threshold to git-commentJune McEnroe