]> skyeroc.xyz Git - dgamelaunch/commitdiff
Write error messages to dgldebug.log
authorRon Nazarov <ron@noisytoot.org>
Mon, 25 Nov 2024 19:41:18 +0000 (19:41 +0000)
committerRon Nazarov <ron@noisytoot.org>
Mon, 25 Nov 2024 20:55:47 +0000 (20:55 +0000)
dgamelaunch.c
dgamelaunch.h
dgl-common.c

index 48b4806e77b34ec7a104fb4f95f8429f22dbac58..2a6dfd88bbf131dde0a0a9d9bfd3c8097dbca175 100644 (file)
@@ -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);
       }
 
index 0402d2683c4e4b20a33f64b2b7a8ce2f2a8aaf2d..d07dab30e786c8b5fece1ca57948bffcda41823d 100644 (file)
@@ -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
index aa2368110ba5828a4e6de2bc9114dac5edbc7548..ead97b9fb1bff5f634348071ec2614f1577d3169 100644 (file)
@@ -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 */