Bug 555311 – format not a string literal and no format arguments
authorChristian Persch <chpe@src.gnome.org>
Mon, 13 Oct 2008 12:43:37 +0000 (12:43 +0000)
committerChristian Persch <chpe@src.gnome.org>
Mon, 13 Oct 2008 12:43:37 +0000 (12:43 +0000)
svn path=/trunk/; revision=7597

ChangeLog
gio/gsimpleasyncresult.c
glib/gmarkup.c
glib/gshell.c

index 221d51c233c688df1260afc2c55c3145850de3dd..2183326da83501c8d7a67cb1ad52d5887789db9f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-10-13  Christian Persch <chpe@gnome.org>
+
+       Bug 555311 – format not a string literal and no format arguments
+
+       * glib/gmarkup.c:
+       * glib/gshell.c: Use literal errors where appropriate.
+
 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
 
        Bug 551355 – [PATCH] Make glib build with libtool 2.2
index d4cc05e3dede74d0b329f2cef857abf337aa6e41..2d20f7807fac479bcb72a5e1c06f758ab666aa67 100644 (file)
@@ -609,8 +609,7 @@ run_in_thread (GIOSchedulerJob *job,
     g_simple_async_result_set_error (simple,
                                      G_IO_ERROR,
                                      G_IO_ERROR_CANCELLED,
-                                     "%s",
-                                     _("Operation was cancelled"));
+                                     "%s", _("Operation was cancelled"));
   else
     data->func (simple,
                 simple->source_object,
index 4c1ed39f2b7d19d0190738fb6f899554af495b89..ccc7626537de8c0e487d389622dc7a13ad6f6fa5 100644 (file)
@@ -241,6 +241,26 @@ static void set_error (GMarkupParseContext *context,
                       const gchar         *format,
                       ...) G_GNUC_PRINTF (4, 5);
 
+static void
+set_error_literal (GMarkupParseContext *context,
+                   GError             **error,
+                   GMarkupError         code,
+                   const gchar         *message)
+{
+  GError *tmp_error;
+
+  tmp_error = g_error_new_literal (G_MARKUP_ERROR, code, message);
+
+  g_prefix_error (&tmp_error,
+                  _("Error on line %d char %d: "),
+                  context->line_number,
+                  context->char_number);
+
+  mark_error (context, tmp_error);
+
+  g_propagate_error (error, tmp_error);
+}
+
 static void
 set_error (GMarkupParseContext *context,
            GError             **error,
@@ -248,7 +268,6 @@ set_error (GMarkupParseContext *context,
            const gchar         *format,
            ...)
 {
-  GError *tmp_error;
   gchar *s;
   gchar *s_valid;
   va_list args;
@@ -257,22 +276,13 @@ set_error (GMarkupParseContext *context,
   s = g_strdup_vprintf (format, args);
   va_end (args);
 
-  /* Make sure that the GError message is valid UTF-8 even if it is 
+  /* Make sure that the GError message is valid UTF-8 even if it is
    * complaining about invalid UTF-8 in the markup: */
   s_valid = _g_utf8_make_valid (s);
-  tmp_error = g_error_new_literal (G_MARKUP_ERROR, code, s_valid);
+  set_error_literal (context, error, code, s);
 
   g_free (s);
   g_free (s_valid);
-
-  g_prefix_error (&tmp_error,
-                  _("Error on line %d char %d: "),
-                  context->line_number,
-                  context->char_number);
-
-  mark_error (context, tmp_error);
-
-  g_propagate_error (error, tmp_error);
 }
 
 static void
@@ -1047,11 +1057,10 @@ g_markup_parse_context_parse (GMarkupParseContext *context,
               /* The leftover char portion is too big to be
                * a UTF-8 character
                */
-              set_error (context,
-                         error,
-                         G_MARKUP_ERROR_BAD_UTF8,
-                         "%s",
-                         _("Invalid UTF-8 encoded text - overlong sequence"));
+              set_error_literal (context,
+                                 error,
+                                 G_MARKUP_ERROR_BAD_UTF8,
+                                 _("Invalid UTF-8 encoded text - overlong sequence"));
             }
           
           goto finished;
@@ -1076,11 +1085,10 @@ g_markup_parse_context_parse (GMarkupParseContext *context,
    */
   if ((*context->current_text & 0xc0) == 0x80) /* not a char start */
     {
-      set_error (context,
-                 error,
-                 G_MARKUP_ERROR_BAD_UTF8,
-                 "%s",
-                 _("Invalid UTF-8 encoded text - not a start char"));
+      set_error_literal (context,
+                         error,
+                         G_MARKUP_ERROR_BAD_UTF8,
+                         _("Invalid UTF-8 encoded text - not a start char"));
       goto finished;
     }
 
@@ -1154,11 +1162,10 @@ g_markup_parse_context_parse (GMarkupParseContext *context,
                 }
               else
                 {
-                  set_error (context,
-                             error,
-                             G_MARKUP_ERROR_PARSE,
-                             "%s",
-                             _("Document must begin with an element (e.g. <book>)"));
+                  set_error_literal (context,
+                                     error,
+                                     G_MARKUP_ERROR_PARSE,
+                                     _("Document must begin with an element (e.g. <book>)"));
                 }
             }
           break;
@@ -1847,8 +1854,8 @@ g_markup_parse_context_end_parse (GMarkupParseContext *context,
 
   if (context->document_empty)
     {
-      set_error (context, error, G_MARKUP_ERROR_EMPTY, "%s",
-                 _("Document was empty or contained only whitespace"));
+      set_error_literal (context, error, G_MARKUP_ERROR_EMPTY,
+                         _("Document was empty or contained only whitespace"));
       return FALSE;
     }
   
@@ -1861,8 +1868,8 @@ g_markup_parse_context_end_parse (GMarkupParseContext *context,
       break;
 
     case STATE_AFTER_OPEN_ANGLE:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly just after an open angle bracket '<'"));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly just after an open angle bracket '<'"));
       break;
 
     case STATE_AFTER_CLOSE_ANGLE:
@@ -1883,33 +1890,33 @@ g_markup_parse_context_end_parse (GMarkupParseContext *context,
       break;
 
     case STATE_INSIDE_OPEN_TAG_NAME:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly inside an element name"));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly inside an element name"));
       break;
 
     case STATE_INSIDE_ATTRIBUTE_NAME:
     case STATE_AFTER_ATTRIBUTE_NAME:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly inside an attribute name"));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly inside an attribute name"));
       break;
 
     case STATE_BETWEEN_ATTRIBUTES:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly inside an element-opening "
-                   "tag."));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly inside an element-opening "
+                           "tag."));
       break;
 
     case STATE_AFTER_ATTRIBUTE_EQUALS_SIGN:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly after the equals sign "
-                   "following an attribute name; no attribute value"));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly after the equals sign "
+                           "following an attribute name; no attribute value"));
       break;
 
     case STATE_INSIDE_ATTRIBUTE_VALUE_SQ:
     case STATE_INSIDE_ATTRIBUTE_VALUE_DQ:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly while inside an attribute "
-                   "value"));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly while inside an attribute "
+                           "value"));
       break;
 
     case STATE_INSIDE_TEXT:
@@ -1929,9 +1936,9 @@ g_markup_parse_context_end_parse (GMarkupParseContext *context,
       break;
 
     case STATE_INSIDE_PASSTHROUGH:
-      set_error (context, error, G_MARKUP_ERROR_PARSE, "%s",
-                 _("Document ended unexpectedly inside a comment or "
-                   "processing instruction"));
+      set_error_literal (context, error, G_MARKUP_ERROR_PARSE,
+                         _("Document ended unexpectedly inside a comment or "
+                           "processing instruction"));
       break;
 
     case STATE_ERROR:
index c68364fa2cd25d593774ed05ef6dcc8e96abc44b..711cdee09224352111fb29093529e30d50026fe7 100644 (file)
@@ -64,10 +64,10 @@ unquote_string_inplace (gchar* str, gchar** end, GError** err)
   
   if (!(*s == '"' || *s == '\''))
     {
-      if (err)
-        *err = g_error_new_literal (G_SHELL_ERROR,
-                                    G_SHELL_ERROR_BAD_QUOTING,
-                                    _("Quoted text doesn't begin with a quotation mark"));
+      g_set_error_literal (err,
+                           G_SHELL_ERROR,
+                           G_SHELL_ERROR_BAD_QUOTING,
+                           _("Quoted text doesn't begin with a quotation mark"));
       *end = str;
       return FALSE;
     }
@@ -154,10 +154,10 @@ unquote_string_inplace (gchar* str, gchar** end, GError** err)
 
   *dest = '\0';
   
-  if (err)
-    *err = g_error_new_literal (G_SHELL_ERROR,
-                                G_SHELL_ERROR_BAD_QUOTING,
-                                _("Unmatched quotation mark in command line or other shell-quoted text"));
+  g_set_error_literal (err,
+                       G_SHELL_ERROR,
+                       G_SHELL_ERROR_BAD_QUOTING,
+                       _("Unmatched quotation mark in command line or other shell-quoted text"));
   *end = s;
   return FALSE;
 }