struct stat statbuf;
if (stat (path, &statbuf) != 0)
{
+ int errsv = errno;
g_set_error (error,
G_IO_ERROR,
- g_io_error_from_errno (errno),
+ g_io_error_from_errno (errsv),
_("Error when getting information for directory “%s”: %s"),
path,
- g_strerror (errno));
+ g_strerror (errsv));
g_free (path);
path = NULL;
goto out;
G_IO_ERROR_FAILED,
_("Permissions on directory “%s” are malformed. Expected mode 0700, got 0%o"),
path,
- statbuf.st_mode & 0777);
+ (guint) (statbuf.st_mode & 0777));
g_free (path);
path = NULL;
goto out;
#endif
#endif
}
- goto out;
+ goto out;
}
if (g_mkdir (path, 0700) != 0)
{
+ int errsv = errno;
g_set_error (error,
G_IO_ERROR,
- g_io_error_from_errno (errno),
+ g_io_error_from_errno (errsv),
_("Error creating directory “%s”: %s"),
path,
- g_strerror (errno));
+ g_strerror (errsv));
g_free (path);
path = NULL;
goto out;
gchar **tokens;
gchar *endp;
gint line_id;
- guint64 line_when;
if (line[0] == '\0')
continue;
goto out;
}
- line_when = g_ascii_strtoll (tokens[1], &endp, 10);
- line_when = line_when; /* To avoid -Wunused-but-set-variable */
+ (void)g_ascii_strtoll (tokens[1], &endp, 10); /* do not care what the timestamp is */
if (*endp != '\0')
{
g_set_error (error,
gchar *lock;
gint ret;
guint num_tries;
+#ifdef EEXISTS
guint num_create_tries;
+#endif
+ int errsv;
g_return_val_if_fail (path != NULL, FALSE);
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
* real locking implementations are still flaky on network filesystems
*/
- num_create_tries = 0;
#ifdef EEXISTS
+ num_create_tries = 0;
again:
#endif
num_tries = 0;
*/
if (g_unlink (lock) != 0)
{
+ errsv = errno;
g_set_error (error,
G_IO_ERROR,
- g_io_error_from_errno (errno),
+ g_io_error_from_errno (errsv),
_("Error deleting stale lock file “%s”: %s"),
lock,
- g_strerror (errno));
+ g_strerror (errsv));
goto out;
}
_log ("Deleted stale lock file '%s'", lock);
0,
#endif
0700);
+ errsv = errno;
if (ret == -1)
{
#ifdef EEXISTS
/* EEXIST: pathname already exists and O_CREAT and O_EXCL were used. */
- if (errno == EEXISTS)
+ if (errsv == EEXISTS)
{
num_create_tries++;
if (num_create_tries < 5)
goto again;
}
#endif
- num_create_tries = num_create_tries; /* To avoid -Wunused-but-set-variable */
g_set_error (error,
G_IO_ERROR,
- g_io_error_from_errno (errno),
+ g_io_error_from_errno (errsv),
_("Error creating lock file “%s”: %s"),
lock,
- g_strerror (errno));
+ g_strerror (errsv));
goto out;
}
lock = g_strdup_printf ("%s.lock", path);
if (close (lock_fd) != 0)
{
+ int errsv = errno;
g_set_error (error,
G_IO_ERROR,
- g_io_error_from_errno (errno),
+ g_io_error_from_errno (errsv),
_("Error closing (unlinked) lock file “%s”: %s"),
lock,
- g_strerror (errno));
+ g_strerror (errsv));
goto out;
}
if (g_unlink (lock) != 0)
{
+ int errsv = errno;
g_set_error (error,
G_IO_ERROR,
- g_io_error_from_errno (errno),
+ g_io_error_from_errno (errsv),
_("Error unlinking lock file “%s”: %s"),
lock,
- g_strerror (errno));
+ g_strerror (errsv));
goto out;
}
g_strfreev (tokens);
goto out;
}
- line_when = line_when; /* To avoid -Wunused-but-set-variable */
/* D-Bus spec says: