{
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) {
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);
}
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);
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);
}
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);
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);
}
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);
}
#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 */