mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Add the ability to create a log file for debugging output
Especially when asking non-developers for help debugging a problem it can be extremely useful to have debugging output not go to the console but to a log file instead. This just adds the infrastructure to create (and close) such a file. No changes to the debug output are made. All this is of course #ifdef'ed out. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
c4c636fb4f
commit
5305fb152b
2 changed files with 20 additions and 0 deletions
4
dive.h
4
dive.h
|
@ -439,4 +439,8 @@ extern const char *subsurface_default_filename(void);
|
|||
|
||||
#define FRACTION(n,x) ((unsigned)(n)/(x)),((unsigned)(n)%(x))
|
||||
|
||||
#ifdef DEBUGFILE
|
||||
extern char *debugfilename;
|
||||
extern FILE *debugfile;
|
||||
#endif
|
||||
#endif /* DIVE_H */
|
||||
|
|
16
main.c
16
main.c
|
@ -7,6 +7,11 @@
|
|||
#include "dive.h"
|
||||
#include "divelist.h"
|
||||
|
||||
#ifdef DEBUGFILE
|
||||
char *debugfilename;
|
||||
FILE *debugfile;
|
||||
#endif
|
||||
|
||||
struct units output_units;
|
||||
|
||||
/* random helper functions, used here or elsewhere */
|
||||
|
@ -222,6 +227,13 @@ int main(int argc, char **argv)
|
|||
|
||||
init_ui(&argc, &argv);
|
||||
|
||||
#ifdef DEBUGFILE
|
||||
debugfilename = (char *)subsurface_default_filename();
|
||||
strncpy(debugfilename + strlen(debugfilename) - 3, "log", 3);
|
||||
if (g_mkdir_with_parents(g_path_get_dirname(debugfilename), 0664) != 0 ||
|
||||
(debugfile = g_fopen(debugfilename, "w")) == NULL)
|
||||
printf("oh boy, can't create debugfile");
|
||||
#endif
|
||||
for (i = 1; i < argc; i++) {
|
||||
const char *a = argv[i];
|
||||
|
||||
|
@ -256,5 +268,9 @@ int main(int argc, char **argv)
|
|||
|
||||
parse_xml_exit();
|
||||
|
||||
#ifdef DEBUGFILE
|
||||
if (debugfile)
|
||||
fclose(debugfile);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue