Report unexpected character data as error from the GMarkup parser,
2003-09-17 Matthias Clasen <maclas@gmx.de> * gtk/gtkuimanager.c (text_handler): Report unexpected character data as error from the GMarkup parser, otherwise things like gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error) pass unexpectedly.
This commit is contained in:

committed by
Matthias Clasen

parent
77d23072c2
commit
3044d0f514
@ -1,3 +1,10 @@
|
|||||||
|
2003-09-17 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* gtk/gtkuimanager.c (text_handler): Report unexpected character
|
||||||
|
data as error from the GMarkup parser, otherwise things like
|
||||||
|
gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
|
||||||
|
pass unexpectedly.
|
||||||
|
|
||||||
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||||
|
|
||||||
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2003-09-17 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* gtk/gtkuimanager.c (text_handler): Report unexpected character
|
||||||
|
data as error from the GMarkup parser, otherwise things like
|
||||||
|
gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
|
||||||
|
pass unexpectedly.
|
||||||
|
|
||||||
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||||
|
|
||||||
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2003-09-17 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* gtk/gtkuimanager.c (text_handler): Report unexpected character
|
||||||
|
data as error from the GMarkup parser, otherwise things like
|
||||||
|
gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
|
||||||
|
pass unexpectedly.
|
||||||
|
|
||||||
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||||
|
|
||||||
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2003-09-17 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* gtk/gtkuimanager.c (text_handler): Report unexpected character
|
||||||
|
data as error from the GMarkup parser, otherwise things like
|
||||||
|
gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
|
||||||
|
pass unexpectedly.
|
||||||
|
|
||||||
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||||
|
|
||||||
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2003-09-17 Matthias Clasen <maclas@gmx.de>
|
||||||
|
|
||||||
|
* gtk/gtkuimanager.c (text_handler): Report unexpected character
|
||||||
|
data as error from the GMarkup parser, otherwise things like
|
||||||
|
gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
|
||||||
|
pass unexpectedly.
|
||||||
|
|
||||||
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
Wed Sep 17 02:38:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
|
||||||
|
|
||||||
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
|
||||||
|
@ -1087,21 +1087,51 @@ cleanup (GMarkupParseContext *context,
|
|||||||
gtk_ui_manager_remove_ui (ctx->self, ctx->merge_id);
|
gtk_ui_manager_remove_ui (ctx->self, ctx->merge_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GMarkupParser ui_parser = {
|
|
||||||
start_element_handler,
|
|
||||||
end_element_handler,
|
|
||||||
NULL,
|
|
||||||
NULL,
|
|
||||||
cleanup
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
xml_isspace (char c)
|
xml_isspace (char c)
|
||||||
{
|
{
|
||||||
return c == ' ' || c == '\t' || c == '\n' || c == '\r';
|
return c == ' ' || c == '\t' || c == '\n' || c == '\r';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
text_handler (GMarkupParseContext *context,
|
||||||
|
const gchar *text,
|
||||||
|
gsize text_len,
|
||||||
|
gpointer user_data,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
const gchar *p;
|
||||||
|
const gchar *end;
|
||||||
|
|
||||||
|
p = text;
|
||||||
|
end = text + text_len;
|
||||||
|
while (p != end && xml_isspace (*p))
|
||||||
|
++p;
|
||||||
|
|
||||||
|
if (p != end)
|
||||||
|
{
|
||||||
|
gint line_number, char_number;
|
||||||
|
|
||||||
|
g_markup_parse_context_get_position (context,
|
||||||
|
&line_number, &char_number);
|
||||||
|
g_set_error (error,
|
||||||
|
G_MARKUP_ERROR,
|
||||||
|
G_MARKUP_ERROR_INVALID_CONTENT,
|
||||||
|
_("Unexpected character data on line %d char %d"),
|
||||||
|
line_number, char_number);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static GMarkupParser ui_parser = {
|
||||||
|
start_element_handler,
|
||||||
|
end_element_handler,
|
||||||
|
text_handler,
|
||||||
|
NULL,
|
||||||
|
cleanup
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
static guint
|
static guint
|
||||||
add_ui_from_string (GtkUIManager *self,
|
add_ui_from_string (GtkUIManager *self,
|
||||||
const gchar *buffer,
|
const gchar *buffer,
|
||||||
|
Reference in New Issue
Block a user