diff options
| author | Andre Heinecke <[email protected]> | 2018-06-20 07:43:19 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2018-06-20 08:50:17 +0000 | 
| commit | d8beab30c44482fb7a3e445b92cec482792b2ca0 (patch) | |
| tree | 80177793c7fcc28f966689329cf8eaf16eae5003 /src | |
| parent | python bindings: core import statements (diff) | |
| download | gpgme-d8beab30c44482fb7a3e445b92cec482792b2ca0.tar.gz gpgme-d8beab30c44482fb7a3e445b92cec482792b2ca0.zip | |
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.
Diffstat (limited to 'src')
| -rw-r--r-- | src/gpgme-json.c | 18 | 
1 files changed, 16 insertions, 2 deletions
| diff --git a/src/gpgme-json.c b/src/gpgme-json.c index ae878bd0..d7e1cbc6 100644 --- a/src/gpgme-json.c +++ b/src/gpgme-json.c @@ -3617,6 +3617,8 @@ main (int argc, char *argv[])    };    gpgrt_argparse_t pargs = { &argc, &argv}; +  int log_file_set = 0; +    gpgrt_set_strusage (my_strusage);  #ifdef HAVE_SETLOCALE @@ -3653,12 +3655,24 @@ main (int argc, char *argv[])    if (!opt_debug)      { +      /* Handling is similar to GPGME_DEBUG */        const char *s = getenv ("GPGME_JSON_DEBUG"); +      const char *s1; +        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");        char *file = xstrconcat ("socket://", | 
