json: Add file handling for debug output
* src/gpgme-json.c (main): Add possibilty to set log file. -- This is similar to how GPGME_DEBUG works. It takes ; on Windows as seperator and : on linux. Followed by a file name. For Linux it might make sense to use a different seperator to allow setting a socket explicitly. But this is better in line with the current GPGME_DEBUG behavior. The change helps on Windows where we don't have a log socket.
This commit is contained in:
parent
19c5267f86
commit
d8beab30c4
@ -3617,6 +3617,8 @@ main (int argc, char *argv[])
|
|||||||
};
|
};
|
||||||
gpgrt_argparse_t pargs = { &argc, &argv};
|
gpgrt_argparse_t pargs = { &argc, &argv};
|
||||||
|
|
||||||
|
int log_file_set = 0;
|
||||||
|
|
||||||
gpgrt_set_strusage (my_strusage);
|
gpgrt_set_strusage (my_strusage);
|
||||||
|
|
||||||
#ifdef HAVE_SETLOCALE
|
#ifdef HAVE_SETLOCALE
|
||||||
@ -3653,12 +3655,24 @@ main (int argc, char *argv[])
|
|||||||
|
|
||||||
if (!opt_debug)
|
if (!opt_debug)
|
||||||
{
|
{
|
||||||
|
/* Handling is similar to GPGME_DEBUG */
|
||||||
const char *s = getenv ("GPGME_JSON_DEBUG");
|
const char *s = getenv ("GPGME_JSON_DEBUG");
|
||||||
|
const char *s1;
|
||||||
|
|
||||||
if (s && atoi (s) > 0)
|
if (s && atoi (s) > 0)
|
||||||
opt_debug = 1;
|
{
|
||||||
|
opt_debug = 1;
|
||||||
|
s1 = strchr (s, PATHSEP_C);
|
||||||
|
if (s1 && strlen (s1) > 2)
|
||||||
|
{
|
||||||
|
s1++;
|
||||||
|
log_set_file (s1);
|
||||||
|
log_file_set = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (opt_debug)
|
if (opt_debug && !log_file_set)
|
||||||
{
|
{
|
||||||
const char *home = getenv ("HOME");
|
const char *home = getenv ("HOME");
|
||||||
char *file = xstrconcat ("socket://",
|
char *file = xstrconcat ("socket://",
|
||||||
|
Loading…
Reference in New Issue
Block a user