mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpgscm: Improve robustness and compatibility.
* tests/gpgscm/ffi.c (do_getenv): Avoid gccism. (do_mkdtemp): Handle errors. Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
b70d08827d
commit
f26fe4f73e
@ -219,9 +219,11 @@ do_getenv (scheme *sc, pointer args)
|
||||
{
|
||||
FFI_PROLOG ();
|
||||
char *name;
|
||||
char *value;
|
||||
FFI_ARG_OR_RETURN (sc, char *, name, string, args);
|
||||
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||
FFI_RETURN_STRING (sc, getenv (name) ?: "");
|
||||
value = getenv (name);
|
||||
FFI_RETURN_STRING (sc, value ? value : "");
|
||||
}
|
||||
|
||||
static pointer
|
||||
@ -313,6 +315,7 @@ do_mkdtemp (scheme *sc, pointer args)
|
||||
FFI_PROLOG ();
|
||||
char *template;
|
||||
char buffer[128];
|
||||
char *name;
|
||||
FFI_ARG_OR_RETURN (sc, char *, template, string, args);
|
||||
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||
|
||||
@ -320,7 +323,10 @@ do_mkdtemp (scheme *sc, pointer args)
|
||||
FFI_RETURN_ERR (sc, EINVAL);
|
||||
strncpy (buffer, template, sizeof buffer);
|
||||
|
||||
FFI_RETURN_STRING (sc, gnupg_mkdtemp (buffer));
|
||||
name = gnupg_mkdtemp (buffer);
|
||||
if (name == NULL)
|
||||
FFI_RETURN_ERR (sc, gpg_error_from_syserror ());
|
||||
FFI_RETURN_STRING (sc, name);
|
||||
}
|
||||
|
||||
static pointer
|
||||
|
Loading…
x
Reference in New Issue
Block a user