2002-09-02 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Mon, 2 Sep 2002 12:17:51 +0000 (12:17 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Mon, 2 Sep 2002 12:17:51 +0000 (12:17 +0000)
* posix-io.c (_gpgme_io_select): Don't use a non-constant struct initializer.
* version.c (_gpgme_get_program_version): Likewise.
Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.

gpgme/ChangeLog
gpgme/posix-io.c
gpgme/version.c

index abca388..105a713 100644 (file)
@@ -1,5 +1,11 @@
 2002-09-02  Marcus Brinkmann  <marcus@g10code.de>
 
+       * posix-io.c (_gpgme_io_select): Don't use a non-constant struct initializer.
+       * version.c (_gpgme_get_program_version): Likewise.
+       Reported by Dr. Stefan Dalibor <Dr.Stefan.Dalibor@bfa.de>.
+
+2002-09-02  Marcus Brinkmann  <marcus@g10code.de>
+
        * conversion.c (_gpgme_decode_c_string): Set DESTP before modifying DEST.
 
        * conversion.c (_gpgme_decode_c_string): Fix off by one error in last change.
index d0fd5f8..da7c106 100644 (file)
@@ -306,12 +306,14 @@ _gpgme_io_select (struct io_select_fd_s *fds, size_t nfds, int nonblock)
   fd_set readfds;
   fd_set writefds;
   int any, i, max_fd, n, count;
-  struct timeval timeout = { nonblock ? 0 : 1, 0 }; /* Use a 1s timeout.  */
+  struct timeval timeout = { 1, 0 }; /* Use a 1s timeout.  */
   void *dbg_help = NULL;
 
   FD_ZERO (&readfds);
   FD_ZERO (&writefds);
   max_fd = 0;
+  if (nonblock)
+    timeout.tv_sec = 0;
 
   DEBUG_BEGIN (dbg_help, 3, "gpgme:select on [ ");
   any = 0;
index 836a597..6fb0512 100644 (file)
@@ -220,13 +220,14 @@ _gpgme_get_program_version (const char *const path)
   char *mark = NULL;
   int rp[2];
   int nread;
-  char *argv[] = {(char *) path, "--version", 0};
+  char *argv[] = {NULL /* path */, "--version", 0};
   struct spawn_fd_item_s pfd[] = { {0, -1}, {-1, -1} };
   struct spawn_fd_item_s cfd[] = { {-1, 1 /* STDOUT_FILENO */}, {-1, -1} };
   int status;
 
   if (!path)
     return NULL;
+  argv[0] = (char *) path;
 
   if (_gpgme_io_pipe (rp, 1) < 0)
     return NULL;