From 41dd5e004e8f12422d03443b22e17d2f993e09f2 Mon Sep 17 00:00:00 2001 From: Michael Hohn Date: Mon, 29 Jun 2020 17:20:05 -0700 Subject: [PATCH] Add simple logging --- README.org | 8 ++++++-- add-user.c | 19 +++++++++++++++++-- build.sh | 2 +- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/README.org b/README.org index 13b531d..2c63a7b 100644 --- a/README.org +++ b/README.org @@ -6,12 +6,16 @@ ./admin create-db ./admin show-db + # Add regular user interactively + ./add-user 2>> users.log + ./admin show-db + # Regular user - echo "sample user" | ./add-user + echo "sample user" | ./add-user 2>> users.log ./admin show-db # Johnny Droptable - echo "Johnny'); DROP TABLE users; -- " | ./add-user + echo "Johnny'); DROP TABLE users; -- " | ./add-user 2>> users.log ./admin show-db diff --git a/add-user.c b/add-user.c index 019d745..8740813 100644 --- a/add-user.c +++ b/add-user.c @@ -3,6 +3,22 @@ #include #include #include +#include + +void write_log(const char* fmt, ...) { + time_t t; + char tstr[26]; + va_list args; + + va_start(args, fmt); + t = time(NULL); + ctime_r(&t, tstr); + tstr[24] = 0; /* no \n */ + fprintf(stderr, "[%s] ", tstr); + vfprintf(stderr, fmt, args); + va_end(args); + fflush(stderr); +} void abort_on_error(int rc, sqlite3 *db) { if( rc ) { @@ -59,8 +75,7 @@ void write_info(int id, char* info) { /* Format query */ snprintf(query, bufsize, "INSERT INTO users VALUES (%d, '%s')", id, info); - printf("%s\n", query); - fflush(stdout); + write_log("query: %s\n", query); /* Write info */ rc = sqlite3_exec(db, query, NULL, 0, &zErrMsg); diff --git a/build.sh b/build.sh index 42bd89a..7281840 100755 --- a/build.sh +++ b/build.sh @@ -1,2 +1,2 @@ #!/bin/bash -clang add-user.c -lsqlite3 -o add-user +clang -Wall add-user.c -lsqlite3 -o add-user