mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 15:06:14 +01:00
Bug 555311 – format not a string literal and no format arguments
svn path=/trunk/; revision=7597
This commit is contained in:
parent
6eb38fb4db
commit
630f89fb1a
@ -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
|
||||
|
@ -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,
|
||||
|
115
glib/gmarkup.c
115
glib/gmarkup.c
@ -242,28 +242,14 @@ static void set_error (GMarkupParseContext *context,
|
||||
...) G_GNUC_PRINTF (4, 5);
|
||||
|
||||
static void
|
||||
set_error (GMarkupParseContext *context,
|
||||
GError **error,
|
||||
GMarkupError code,
|
||||
const gchar *format,
|
||||
...)
|
||||
set_error_literal (GMarkupParseContext *context,
|
||||
GError **error,
|
||||
GMarkupError code,
|
||||
const gchar *message)
|
||||
{
|
||||
GError *tmp_error;
|
||||
gchar *s;
|
||||
gchar *s_valid;
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
s = g_strdup_vprintf (format, args);
|
||||
va_end (args);
|
||||
|
||||
/* 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);
|
||||
|
||||
g_free (s);
|
||||
g_free (s_valid);
|
||||
tmp_error = g_error_new_literal (G_MARKUP_ERROR, code, message);
|
||||
|
||||
g_prefix_error (&tmp_error,
|
||||
_("Error on line %d char %d: "),
|
||||
@ -275,6 +261,30 @@ set_error (GMarkupParseContext *context,
|
||||
g_propagate_error (error, tmp_error);
|
||||
}
|
||||
|
||||
static void
|
||||
set_error (GMarkupParseContext *context,
|
||||
GError **error,
|
||||
GMarkupError code,
|
||||
const gchar *format,
|
||||
...)
|
||||
{
|
||||
gchar *s;
|
||||
gchar *s_valid;
|
||||
va_list args;
|
||||
|
||||
va_start (args, format);
|
||||
s = g_strdup_vprintf (format, args);
|
||||
va_end (args);
|
||||
|
||||
/* 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);
|
||||
set_error_literal (context, error, code, s);
|
||||
|
||||
g_free (s);
|
||||
g_free (s_valid);
|
||||
}
|
||||
|
||||
static void
|
||||
propagate_error (GMarkupParseContext *context,
|
||||
GError **dest,
|
||||
@ -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:
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user