aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2012-01-03 16:08:01 +0000
committerMarcus Brinkmann <[email protected]>2012-01-03 16:08:01 +0000
commit0dce26778ef8abd4fc40de689d7ec9b720d26430 (patch)
treed0431d510183fac4fe72a7908a8ac6c3f01e3f43
parentFix last change: Only set gcrypt thread callback for older versions. (diff)
downloadgnupg-0dce26778ef8abd4fc40de689d7ec9b720d26430.tar.gz
gnupg-0dce26778ef8abd4fc40de689d7ec9b720d26430.zip
Fix compiler warnings.
* 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.
-rw-r--r--common/dotlock.c30
-rw-r--r--g13/g13.c1
-rw-r--r--scd/scdaemon.c2
3 files changed, 24 insertions, 9 deletions
diff --git a/common/dotlock.c b/common/dotlock.c
index b4734b99f..58a3d0f2a 100644
--- a/common/dotlock.c
+++ b/common/dotlock.c
@@ -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))
{
diff --git a/g13/g13.c b/g13/g13.c
index bc05977c5..0f7309490 100644
--- 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:
diff --git a/scd/scdaemon.c b/scd/scdaemon.c
index 6f8d01049..e26beba13 100644
--- a/scd/scdaemon.c
+++ b/scd/scdaemon.c
@@ -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;