aboutsummaryrefslogtreecommitdiff
path: root/src/gpg.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2007-08-21 19:01:41 +0000
committerSergey Poznyakoff <gray@gnu.org.ua>2007-08-21 19:01:41 +0000
commit708a28a2f5bd2384e4c254a47d069ec4d9ef697e (patch)
tree72a6e227fbbf75cc04d5b4e5c560cb58964761b3 /src/gpg.c
parent5d2f6b08d164d0106ef2377ceb01393226eeafef (diff)
downloadwydawca-708a28a2f5bd2384e4c254a47d069ec4d9ef697e.tar.gz
wydawca-708a28a2f5bd2384e4c254a47d069ec4d9ef697e.tar.bz2
Implement archiving and backups
git-svn-id: file:///svnroot/wydawca/trunk@282 6bb4bd81-ecc2-4fd4-a2d4-9571d19c0d33
Diffstat (limited to 'src/gpg.c')
-rw-r--r--src/gpg.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/gpg.c b/src/gpg.c
index a327f4c..7da4f5b 100644
--- a/src/gpg.c
+++ b/src/gpg.c
@@ -189,7 +189,7 @@ verify_directive_signature (struct file_register *reg,
}
FILE *
-start_prog (int argc, char **argv, pid_t *ppid)
+start_prog (int argc, const char **argv, pid_t *ppid)
{
int p[2];
FILE *fp;
@@ -212,7 +212,7 @@ start_prog (int argc, char **argv, pid_t *ppid)
for (i = getmaxfd (); i > 2; i--)
close (i);
- execv (argv[0], argv);
+ execvp (argv[0], (char**) argv);
logmsg (LOG_CRIT, "cannot run %s: %s", argv[0], strerror (errno));
exit (1);
@@ -232,7 +232,7 @@ start_prog (int argc, char **argv, pid_t *ppid)
return fp;
}
-static void
+void
log_output (int prio, const char *prog, FILE *fp)
{
size_t size = 0;
@@ -250,7 +250,7 @@ verify_detached_signature (struct file_register *reg,
struct directory_pair *dpair)
{
gpgme_engine_info_t info;
- char *argv[5];
+ const char *argv[5];
FILE *fp;
pid_t pid, npid;
int status;
@@ -292,6 +292,7 @@ verify_detached_signature (struct file_register *reg,
logmsg (LOG_CRIT,
"cannot verify detached signature for %s: "
"waitpid failed: %s", reg->name, strerror (errno));
+ fclose (fp);
return 1;
case 0:
@@ -300,6 +301,7 @@ verify_detached_signature (struct file_register *reg,
"process %s did not respond within 5 seconds: %s",
reg->name, argv[0], strerror (errno));
kill (pid, SIGKILL);
+ fclose (fp);
return 1;
default:

Return to:

Send suggestions and report system problems to the System administrator.