gio-tool: Fix errors format string

Compiling with clang 3.8.1-18 (debian, x86_64) I ran across this
error:

gio-tool.c:40:31: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
  message = g_strdup_vprintf (format, args);
                              ^~~~~~
gio-tool.c:55:31: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
  message = g_strdup_vprintf (format, args);
                              ^~~~~~
2 errors generated.

To fix the first one, related with the function print_error(), this
patch adds to the function prototype a compiler's attribute.

For the second one, since the usage of that function is to print
one string and the format is already provided, the patch simplifies
the function by no receiving variadic arguments.

https://bugzilla.gnome.org/show_bug.cgi?id=781125
parent 77d00030
......@@ -85,7 +85,7 @@ handle_rename (int argc, char *argv[], gboolean do_help)
if (new_file == NULL)
{
print_error (error->message);
print_error ("%s", error->message);
g_error_free (error);
retval = 1;
}
......
......@@ -105,7 +105,7 @@ save (GFile *file)
if (written == -1)
{
save_res = FALSE;
print_error (error->message);
print_error ("%s", error->message);
g_error_free (error);
goto out;
}
......@@ -116,7 +116,7 @@ save (GFile *file)
else if (res < 0)
{
save_res = FALSE;
print_error (_("Error reading from standard input"));
print_error ("%s", _("Error reading from standard input"));
break;
}
else if (res == 0)
......@@ -129,7 +129,7 @@ save (GFile *file)
if (!close_res)
{
save_res = FALSE;
print_error (error->message);
print_error ("%s", error->message);
g_error_free (error);
}
......
......@@ -192,7 +192,7 @@ handle_set (int argc, char *argv[], gboolean do_help)
G_FILE_QUERY_INFO_NONE,
NULL, &error))
{
print_error (error->message);
print_error ("%s", error->message);
g_error_free (error);
g_object_unref (file);
return 1;
......
......@@ -31,7 +31,7 @@
void
print_error (const char *format, ...)
print_error (const gchar *format, ...)
{
gchar *message;
va_list args;
......@@ -45,21 +45,13 @@ print_error (const char *format, ...)
}
void
print_file_error (GFile *file, const gchar *format, ...)
print_file_error (GFile *file, const gchar *message)
{
gchar *uri;
gchar *message;
va_list args;
va_start (args, format);
message = g_strdup_vprintf (format, args);
va_end (args);
uri = g_file_get_uri (file);
print_error ("%s: %s", uri, message);
g_free (uri);
g_free (message);
}
void
......
......@@ -21,10 +21,9 @@
#define __GIO_TOOL_H__
void print_error (const gchar *format,
...);
...) G_GNUC_PRINTF (1, 2);
void print_file_error (GFile *file,
const gchar *format,
...);
const gchar *message);
void show_help (GOptionContext *context,
const char *message);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment