Add simple logging

This commit is contained in:
Michael Hohn
2020-06-29 17:20:05 -07:00
committed by =Michael Hohn
parent 5210f57197
commit 41dd5e004e
3 changed files with 24 additions and 5 deletions

View File

@@ -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

View File

@@ -3,6 +3,22 @@
#include <unistd.h>
#include <ctype.h>
#include <sqlite3.h>
#include <time.h>
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);

View File

@@ -1,2 +1,2 @@
#!/bin/bash
clang add-user.c -lsqlite3 -o add-user
clang -Wall add-user.c -lsqlite3 -o add-user