Fix compiler warnings.
authorMarcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
Tue, 3 Jan 2012 16:08:01 +0000 (17:08 +0100)
committerMarcus Brinkmann <marcus.brinkmann@ruhr-uni-bochum.de>
Tue, 3 Jan 2012 16:08:01 +0000 (17:08 +0100)
* common/dotlock.c (use_hardlinks_p, dotlock_take_unix): Check return
value of link().
* g13/g13.c: Make sure err is initialized.
* scd/scdaemon.c (main) [!USE_GCRY_THREAD_CBS]: Do not define ERR.

common/dotlock.c
g13/g13.c
scd/scdaemon.c

index b4734b9..58a3d0f 100644 (file)
@@ -583,16 +583,21 @@ use_hardlinks_p (const char *tname)
   strcpy (lname, tname);
   strcat (lname, "x");
 
-  link (tname, lname);
-
-  if (stat (tname, &sb))
-    res = -1;  /* Ooops.  */
-  else if (sb.st_nlink == nlink + 1)
-    res = 0;   /* Yeah, hardlinks are supported.  */
+  res = link (tname, lname);
+  if (res < 0)
+    res = -1;
   else
-    res = 1;   /* No hardlink support.  */
+    {
+      if (stat (tname, &sb))
+       res = -1;  /* Ooops.  */
+      else if (sb.st_nlink == nlink + 1)
+       res = 0;   /* Yeah, hardlinks are supported.  */
+      else
+       res = 1;   /* No hardlink support.  */
+
+      unlink (lname);
+    }
 
-  unlink (lname);
   jnlib_free (lname);
   return res;
 }
@@ -948,6 +953,7 @@ dotlock_destroy (dotlock_t h)
 static int
 dotlock_take_unix (dotlock_t h, long timeout)
 {
+  int res;
   int wtime = 0;
   int sumtime = 0;
   int pid;
@@ -1004,7 +1010,13 @@ dotlock_take_unix (dotlock_t h, long timeout)
     {
       struct stat sb;
 
-      link (h->tname, h->lockname);
+      res = link (h->tname, h->lockname);
+      if (res < 0)
+       {
+          my_error_1 ("lock not made: Oops: link of tmp file failed: %s\n",
+                      strerror (errno));
+         return -1;
+       }
 
       if (stat (h->tname, &sb))
         {
index bc05977..0f73094 100644 (file)
--- a/g13/g13.c
+++ b/g13/g13.c
@@ -686,6 +686,7 @@ main ( int argc, char **argv)
 #endif /*0*/
 
   /* Dispatch command.  */
+  err = 0;
   switch (cmd)
     {
     case aGPGConfList:
index 6f8d010..e26beba 100644 (file)
@@ -382,7 +382,9 @@ main (int argc, char **argv )
 {
   ARGPARSE_ARGS pargs;
   int orig_argc;
+#ifdef USE_GCRY_THREAD_CBS
   gpg_error_t err;
+#endif
   char **orig_argv;
   FILE *configfp = NULL;
   char *configname = NULL;