From: Ron Nazarov Date: Mon, 25 Nov 2024 19:41:18 +0000 (+0000) Subject: Write error messages to dgldebug.log X-Git-Tag: v1.6.1-roc-dev~12 X-Git-Url: https://skyeroc.xyz/gitweb/?a=commitdiff_plain;h=77db89758ececca9d7c1d5a29e7f4bcd9a4ea536;p=dgamelaunch Write error messages to dgldebug.log --- diff --git a/dgamelaunch.c b/dgamelaunch.c index 48b4806..2a6dfd8 100644 --- a/dgamelaunch.c +++ b/dgamelaunch.c @@ -2360,7 +2360,7 @@ readfile (int nolock) { fpl = fopen (globalconfig.lockfile, "r"); if (!fpl) { - debug_write("cannot fopen lockfile"); + debug_write("cannot fopen lockfile: %s: %s", globalconfig.lockfile, strerror(errno)); graceful_exit (106); } if (fcntl (fileno (fpl), F_SETLKW, &fl) == -1) { @@ -2371,7 +2371,7 @@ readfile (int nolock) fp = fopen (globalconfig.passwd, "r"); if (!fp) { - debug_write("cannot fopen passwd file"); + debug_write("cannot fopen passwd file: %s: %s", globalconfig.passwd, strerror(errno)); graceful_exit (106); } @@ -2563,7 +2563,7 @@ userexist (char *cname, int isnew) if (ret != SQLITE_OK) { sqlite3_close(db); - debug_write("sqlite3_exec failed"); + debug_write("sqlite3_exec failed: %s", errmsg); graceful_exit(108); } sqlite3_close(db); @@ -2664,7 +2664,7 @@ writefile (int requirenew) if (!fp) { signals_release(); - debug_write("passwd file fopen failed"); + debug_write("passwd file fopen failed: %s: %s", globalconfig.passwd, strerror(errno)); graceful_exit (99); } @@ -2742,7 +2742,7 @@ writefile (int requirenew) if (ret != SQLITE_OK) { sqlite3_close(db); - debug_write("writefile sqlite3_exec failed"); + debug_write("writefile sqlite3_exec failed: %s", errmsg); graceful_exit(98); } sqlite3_close(db); @@ -2763,7 +2763,7 @@ purge_stale_locks (int game) dir = dgl_format_str(game, me, myconfig[game]->inprogressdir, NULL); if (!(pdir = opendir (dir))) { - debug_write("purge_stale_locks dir open failed"); + debug_write("purge_stale_locks dir open failed: %s: %s", dir, strerror(errno)); graceful_exit (200); } @@ -2799,7 +2799,7 @@ purge_stale_locks (int game) free(inprogdir); if (!(ipfile = fopen (fn, "r"))) { - debug_write("purge_stale_locks fopen inprogressdir fail"); + debug_write("purge_stale_locks fopen inprogressdir fail: %s: %s", fn, strerror(errno)); graceful_exit (202); } diff --git a/dgamelaunch.h b/dgamelaunch.h index 0402d26..d07dab3 100644 --- a/dgamelaunch.h +++ b/dgamelaunch.h @@ -323,7 +323,7 @@ extern void free_populated_games(struct dg_game **games, int len); extern struct dg_game **populate_games(int game, int *l, struct dg_user *me); #ifdef USE_DEBUGFILE -extern void debug_write(char *str); +extern void debug_write(char *str, ...); #else #define debug_write(str) #endif diff --git a/dgl-common.c b/dgl-common.c index aa23681..ead97b9 100644 --- a/dgl-common.c +++ b/dgl-common.c @@ -692,14 +692,17 @@ sort_games (struct dg_game **games, int len, dg_sortmode sortmode) #ifdef USE_DEBUGFILE void -debug_write(char *str) +debug_write(char *fmt, ...) { + va_list args; FILE *fp; fp = fopen("/dgldebug.log", "a"); if (!fp) return; - fprintf(fp, "%s\n", str); + va_start(args, fmt); + vfprintf(fp, fmt, args); + va_end(args); + fputc('\n', fp); fclose(fp); - } #endif /* USE_DEBUGFILE */