diff options
author | Werner Koch <wk@gnupg.org> | 2017-11-28 16:36:12 +0100 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 2017-11-28 16:36:12 +0100 |
commit | 513415c71781ab400ebb01f6b4cf2984ec6b1757 (patch) | |
tree | 6f9cb0358004276c092d97423c615428579fdef1 /gpgscm | |
parent | 930d27ba6b1205395add0c79139e62355a1d5b62 (diff) | |
download | libgpg-error-513415c71781ab400ebb01f6b4cf2984ec6b1757.tar.gz |
core: Change new functions to return gpg_err_code_t.
* src/gpg-error.h.in (gpgrt_sentenv, gpgrt_mkdir, gpgrt_chdir): Change
return type to gpg_err_code_t.
* src/sysutils.c (_gpgrt_setenv): Implement that.
(_gpgrt_mkdir): Ditto.
(_gpgrt_chdir): Ditto.
* gpgscm/ffi.c (do_setenv, do_mkdir): Adjust for this change.
--
The functions are already a bit different and thus it is useful to let
them return a gpg-error style error code and don't let the user
implement that for each call.
Signed-off-by: Werner Koch <wk@gnupg.org>
Diffstat (limited to 'gpgscm')
-rw-r--r-- | gpgscm/ffi.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gpgscm/ffi.c b/gpgscm/ffi.c index 51de63f..2f3e2f7 100644 --- a/gpgscm/ffi.c +++ b/gpgscm/ffi.c @@ -243,6 +243,7 @@ static pointer do_setenv (scheme *sc, pointer args) { FFI_PROLOG (); + gpg_err_code_t ec; char *name; char *value; int overwrite; @@ -250,8 +251,8 @@ do_setenv (scheme *sc, pointer args) FFI_ARG_OR_RETURN (sc, char *, value, string, args); FFI_ARG_OR_RETURN (sc, int, overwrite, bool, args); FFI_ARGS_DONE_OR_RETURN (sc, args); - if (gpgrt_setenv (name, value, overwrite)) - FFI_RETURN_ERR (sc, gpg_error_from_syserror ()); + if ((ec = gpgrt_setenv (name, value, overwrite))) + FFI_RETURN_ERR (sc, ec); FFI_RETURN (sc); } @@ -490,13 +491,15 @@ static pointer do_mkdir (scheme *sc, pointer args) { FFI_PROLOG (); + gpg_err_code_t ec; char *name; char *mode; FFI_ARG_OR_RETURN (sc, char *, name, string, args); FFI_ARG_OR_RETURN (sc, char *, mode, string, args); FFI_ARGS_DONE_OR_RETURN (sc, args); - if (gpgrt_mkdir (name, mode) == -1) - FFI_RETURN_ERR (sc, gpg_error_from_syserror ()); + ec = gpgrt_mkdir (name, mode); + if (ec) + FFI_RETURN_ERR (sc, ec); FFI_RETURN (sc); } |