diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-21 19:01:41 +0000 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2007-08-21 19:01:41 +0000 |
commit | 708a28a2f5bd2384e4c254a47d069ec4d9ef697e (patch) | |
tree | 72a6e227fbbf75cc04d5b4e5c560cb58964761b3 /src/gpg.c | |
parent | 5d2f6b08d164d0106ef2377ceb01393226eeafef (diff) | |
download | wydawca-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.c | 10 |
1 files changed, 6 insertions, 4 deletions
@@ -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: |