diff options
Diffstat (limited to '')
| -rw-r--r-- | lang/cpp/src/editinteractor.cpp | 19 | 
1 files changed, 17 insertions, 2 deletions
diff --git a/lang/cpp/src/editinteractor.cpp b/lang/cpp/src/editinteractor.cpp index f7c994a4..36d1be63 100644 --- a/lang/cpp/src/editinteractor.cpp +++ b/lang/cpp/src/editinteractor.cpp @@ -178,10 +178,25 @@ EditInteractor::Private::Private(EditInteractor *qq)        error(),        debug(nullptr)  { - +    const char *debug_env = getenv("GPGMEPP_INTERACTOR_DEBUG"); +    if (!debug_env) { +        return; +    } +    if (!strcmp(debug_env, "stdout")) { +        debug = stdout; +    } else if (!strcmp(debug_env, "stderr")) { +        debug = stderr; +    } else if (debug_env) { +        debug = std::fopen(debug_env, "a+"); +    }  } -EditInteractor::Private::~Private() {} +EditInteractor::Private::~Private() +{ +    if (debug) { +        std::fclose(debug); +    } +}  EditInteractor::EditInteractor()      : d(new Private(this))  | 
