summary refs log tree commit diff
path: root/litterbox.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-12-27 22:50:01 -0500
committerJune McEnroe <june@causal.agency>2019-12-27 22:50:01 -0500
commitd5ebf6c70e554c0b58a686196b2de58adc0fedd9 (patch)
tree3b76ea08367378f5966ed8e022bd0c489242062d /litterbox.c
parentAdd nick coloring to search query results (diff)
downloadlitterbox-d5ebf6c70e554c0b58a686196b2de58adc0fedd9.tar.gz
litterbox-d5ebf6c70e554c0b58a686196b2de58adc0fedd9.zip
Move querySearch code around
Diffstat (limited to 'litterbox.c')
-rw-r--r--litterbox.c112
1 files changed, 56 insertions, 56 deletions
diff --git a/litterbox.c b/litterbox.c
index c3192ec..8ba0923 100644
--- a/litterbox.c
+++ b/litterbox.c
@@ -190,62 +190,6 @@ static void handleReplyEndOfMOTD(struct Message *msg) {
 	memset(&motd, 0, sizeof(motd));
 }
 
-static void insertContext(const char *context, bool query) {
-	static sqlite3_stmt *stmt;
-	const char *sql = SQL(
-		INSERT OR IGNORE INTO contexts (network, name, query)
-		VALUES (:network, :context, :query);
-	);
-	dbPersist(&stmt, sql);
-	dbBindText(stmt, ":network", network);
-	dbBindText(stmt, ":context", context);
-	dbBindInt(stmt, ":query", query);
-	dbRun(stmt);
-}
-
-static void insertName(const struct Message *msg) {
-	static sqlite3_stmt *stmt;
-	const char *sql = SQL(
-		INSERT OR IGNORE INTO names (nick, user, host)
-		VALUES (:nick, :user, :host);
-	);
-	dbPersist(&stmt, sql);
-	dbBindText(stmt, ":nick", msg->nick);
-	dbBindText(stmt, ":user", msg->user);
-	dbBindText(stmt, ":host", msg->host);
-	dbRun(stmt);
-}
-
-static void insertEvent(
-	const struct Message *msg, enum Type type, const char *context,
-	const char *target, const char *message
-) {
-	static sqlite3_stmt *stmt;
-	const char *sql = SQL(
-		INSERT INTO events (time, type, context, name, target, message)
-		SELECT
-			coalesce(datetime(:time), datetime('now')),
-			:type, context, names.name, :target, :message
-		FROM contexts, names
-		WHERE contexts.network = :network
-			AND contexts.name = :context
-			AND names.nick = :nick
-			AND names.user = :user
-			AND names.host = :host;
-	);
-	dbPersist(&stmt, sql);
-	dbBindText(stmt, ":time", msg->time);
-	dbBindInt(stmt, ":type", type);
-	dbBindText(stmt, ":network", network);
-	dbBindText(stmt, ":context", context);
-	dbBindText(stmt, ":nick", msg->nick);
-	dbBindText(stmt, ":user", msg->user);
-	dbBindText(stmt, ":host", msg->host);
-	dbBindText(stmt, ":target", target);
-	dbBindText(stmt, ":message", message);
-	dbRun(stmt);
-}
-
 static int color(const char *user) {
 	if (*user == '~') user++;
 	uint32_t hash = 0;
@@ -344,6 +288,62 @@ static void querySearch(struct Message *msg) {
 	sqlite3_reset(stmt);
 }
 
+static void insertContext(const char *context, bool query) {
+	static sqlite3_stmt *stmt;
+	const char *sql = SQL(
+		INSERT OR IGNORE INTO contexts (network, name, query)
+		VALUES (:network, :context, :query);
+	);
+	dbPersist(&stmt, sql);
+	dbBindText(stmt, ":network", network);
+	dbBindText(stmt, ":context", context);
+	dbBindInt(stmt, ":query", query);
+	dbRun(stmt);
+}
+
+static void insertName(const struct Message *msg) {
+	static sqlite3_stmt *stmt;
+	const char *sql = SQL(
+		INSERT OR IGNORE INTO names (nick, user, host)
+		VALUES (:nick, :user, :host);
+	);
+	dbPersist(&stmt, sql);
+	dbBindText(stmt, ":nick", msg->nick);
+	dbBindText(stmt, ":user", msg->user);
+	dbBindText(stmt, ":host", msg->host);
+	dbRun(stmt);
+}
+
+static void insertEvent(
+	const struct Message *msg, enum Type type, const char *context,
+	const char *target, const char *message
+) {
+	static sqlite3_stmt *stmt;
+	const char *sql = SQL(
+		INSERT INTO events (time, type, context, name, target, message)
+		SELECT
+			coalesce(datetime(:time), datetime('now')),
+			:type, context, names.name, :target, :message
+		FROM contexts, names
+		WHERE contexts.network = :network
+			AND contexts.name = :context
+			AND names.nick = :nick
+			AND names.user = :user
+			AND names.host = :host;
+	);
+	dbPersist(&stmt, sql);
+	dbBindText(stmt, ":time", msg->time);
+	dbBindInt(stmt, ":type", type);
+	dbBindText(stmt, ":network", network);
+	dbBindText(stmt, ":context", context);
+	dbBindText(stmt, ":nick", msg->nick);
+	dbBindText(stmt, ":user", msg->user);
+	dbBindText(stmt, ":host", msg->host);
+	dbBindText(stmt, ":target", target);
+	dbBindText(stmt, ":message", message);
+	dbRun(stmt);
+}
+
 static void handlePrivmsg(struct Message *msg) {
 	require(msg, true, 2);