From eca5a6e491f5f85ba1f06afcea3177c3442ae557 Mon Sep 17 00:00:00 2001 From: Stef Walter Date: Tue, 9 Jul 2013 12:24:40 +0200 Subject: trust: Fix the 'p11-kit extract' command This is supposed to call over to 'trust extract' and wasn't working correctly. --- p11-kit/Makefile.am | 1 + p11-kit/p11-kit.c | 22 ++++++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) (limited to 'p11-kit') diff --git a/p11-kit/Makefile.am b/p11-kit/Makefile.am index 72dc2ff..9802b23 100644 --- a/p11-kit/Makefile.am +++ b/p11-kit/Makefile.am @@ -9,6 +9,7 @@ AM_CPPFLAGS = \ -I$(top_srcdir) \ -I$(COMMON) \ -DSRCDIR=\"$(srcdir)\" \ + -DBINDIR=\"$(bindir)\" \ -DPRIVATEDIR=\"$(privatedir)\" \ -DP11_KIT_FUTURE_UNSTABLE_API \ $(NULL) diff --git a/p11-kit/p11-kit.c b/p11-kit/p11-kit.c index ecee1ff..28c6f4a 100644 --- a/p11-kit/p11-kit.c +++ b/p11-kit/p11-kit.c @@ -80,7 +80,7 @@ p11_kit_external (int argc, return_val_if_fail (path != NULL, 1); argv[argc] = NULL; - execvp (path, argv); + execv (path, argv); /* At this point we have no command */ p11_message ("'%s' is not a valid command. See 'p11-kit --help'", argv[0]); @@ -91,7 +91,25 @@ int p11_kit_extract (int argc, char *argv[]) { - return p11_kit_external (argc, argv); + char *path; + char **args; + + args = calloc (argc + 2, sizeof (char *)); + return_val_if_fail (args != NULL, 1); + + args[0] = "trust"; + memcpy (args + 1, argv, sizeof (char *) * argc); + args[argc + 1] = NULL; + + /* Add our libexec directory to the path */ + path = p11_path_build (BINDIR, args[0], NULL); + return_val_if_fail (path != NULL, 1); + + execv (path, args); + + /* At this point we have no command */ + p11_message ("'%s' is not a valid command. See 'p11-kit --help'", argv[0]); + return 2; } int -- cgit v1.1