2008-07-10 Ryan Lortie <desrt@desrt.ca>
* docs/reference/glib/glib-sections.txt:
* glib/glib.symbols:
* glib/gmarkup.c:
* glib/gmarkup.h: add functions g_markup_parse_context_{push,pop} in
order to provide some small hooks on which to build easy-to-use
subparsers.
* glib/tests/Makefile: add new test
* glib/tests/markup-subparser.c: new test for subparsers
Fixes bug #337518.
svn path=/trunk/; revision=7174
2008-03-11 Murray Cumming <murrayc@murrayc.com>
Bug 521591 – g_markup_parse_context_parse() creates GError message that
is invalid UTF8.
* glib/gmarkup.c (set_error): Make sure that the GError::message is
valid UTF-8 even if it is complaining about invalid UTF-8 in the
markup text, using _g_utf8_make_valid().
svn path=/trunk/; revision=6680
2007-12-03 Hans Breuer <hans@breuer.org>
* glib/glib.symbols : added glib_gettext (in use by gio)
* makefile.msc : also try building gio
* glib/gmarkup.c : use G_GUINT64_CONSTANT() to avoid
'bad suffix on number'
* glib/gtestutils.c : declare cariable at the beginning of the block,
include <io.h> for G_OS_WIN32
* makefile.msc.in : add gurifuncs and gtestutils
svn path=/trunk/; revision=6028
2007-11-26 Ryan Lortie <desrt@desrt.ca>
Add new function g_markup_collect_attributes (bug #496847).
* glib/glib.symbols: add g_markup_collect_attributes
* docs/reference/glib/glib-sections.txt:
* glib/gmarkup.h:
* glib/gmarkup.c: add g_markup_collect_attributes and new enumerated
type GMarkupCollectType. Add new error code
G_MARKUP_ERROR_MISSING_ATTRIBUTE that is thrown by the attribute
collector.
svn path=/trunk/; revision=5947
006-11-15 Ryan Lortie <desrt@desrt.ca>
* docs/reference/glib/tmpl/markup.sgml:
* glib/gmarkup.h:
* glib/gmarkup.c: new flag G_MARKUP_PREFIX_ERROR_POSITION to cause the
parser to prepend location information (ie: "Error on line %d, char
%d:") to errors generated by the GMarkupParser callbacks.
Closes#496046.
svn path=/trunk/; revision=5860
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gmarkup.[hc] (g_markup_parse_context_get_element_stack):
New function, to get the stack of open elements. (#452887,
Ryan Lortie)
svn path=/trunk/; revision=5816
2007-08-08 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.c (append_escaped_text): Handle restricted
characters by converting them to numeric character
entities. (#464145, Andreas Monitzer)
* tests/markup-escape-test.c: Add tests for restricted
characters and numeric character entities.
svn path=/trunk/; revision=5684
2007-03-06 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.c (g_markup_parse_context_parse): Report
more accurate position for invalid UTF-8. (#350802,
Simon Budig)
svn path=/trunk/; revision=5373
2006-05-28 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.h: Add a GMarkupParseFlags flag for
treating CDATA as text.
* glib/gmarkup.c (g_markup_parse_context_parse):
Implement it here.
2005-03-13 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in galias.h:
* glib/glib.symbols: Group symbols by header and source file.
* glib/makegalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegalias.pl -def
* glib/Makefile.am (galiasdef.c): Add a rule to generate this
file.
* glib/*.c: Include galias.h after the other GLib headers,
include galiasdef.c at the bottom.
2005-01-24 Matthias Clasen <mclasen@redhat.com>
* tests/markups/fail-40.gmarkup: Add a test with a long entity
name.
* glib/gmarkup.c (unescape_text_state_inside_entity_name): Don't
copy the entity name into a short buffer of fixed length. Instead,
compare it in place with strncmp(), and do a full strdup() in the
error path. (#165100, Simon Budig)
2004-11-29 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.c: Remove leftover noinline attributes.
(is_name_start_char, is_name_char): Avoid possible reads
beyond the end of g_ascii_table.
2004-07-28 Matthias Clasen <mclasen@redhat.com>
* tests/markups/valid-{9,10,11}.gmarkup:
* tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
of whitespace inside tags.
* glib/gmarkup.c (enum GMarkupParseState): Add
STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
(g_markup_parse_context_parse): Accept whitespace between
attribute names, '=' and attribute values and between
close tag name and '>'. (#148646, Hiroyuki Ikezoe)
Wed Oct 8 23:40:26 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmarkup.c (g_markup_printf_escaped):
(g_markup_vprintf_escaped): Document as 2.4 additions.
(unescape_text): Implement newline and whitespace normalization
according to the XML specification. (#123919)
(g_markup_escape_text): Document whitespace (non)handling.
Sun Feb 17 11:37:06 2002 Owen Taylor <otaylor@redhat.com>
* 1.3.14
* glib/glibintl.h: Error out of config.h wasn't included
rather than including it, since config.h must be the
first thing included.
* glib/gconvert.c glib/gmarkup.c glib/gshell.c glib/gspawn.c
glib/gunibreak.c glib/gunidecomp.c glib/guniprop.c:
Include config.h as the first thing. (#71704, Morten
Welinder)
* tests/markups/valid-4.gmarkup: Test attribute value delimiters.
* glib/gmarkup.c (g_markup_parse_context_parse): Support
' and " as attribute value delimiters. (#70677)
2002-01-28 Havoc Pennington <hp@pobox.com>
* glib/gmarkup.c (add_attribute): NULL-terminate
context->attr_values so g_strfreev() is safe.
Would previously crash if parsing was ended prior
to ending the start tag.
(g_markup_parse_context_parse): add a couple assertions
Wed Jun 20 12:00:54 2001 Owen Taylor <otaylor@redhat.com>
Changes for 64-bit cleanliness, loosely based on patch
from Mark Murnane.
* gconvert.c (g_convert/g_convert_with_fallback): Remove
workarounds for since-fixed GNU libc bugs. Minor
doc fix.
* gconvert.[ch]: Change gint to gsize/gssize as
appropriate.
* gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
computation of bytes_read / bytes_written.
* gfileutils.[ch] (g_file_get_contents): Make length
out parameter 'gsize *len'.
* ghook.c (g_hook_compare_ids): Don't compare a
and b as 'a - b'.
* gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
GSIZE_TO_POINTER.
* gmain.c (g_timeout_prepare): Rewrite to avoid
overflows. (Fixes bug when system clock skews
backwards more than 24 days.)
* gmarkup.[ch]: Make lengths passed to callbacks
gsize, length for g_markup_parse-context_parse(),
g_markup_escape_text() gssize.
* gmessages.[ch] (g_printf_string_upper_bound): Change
return value to gsize.
* gmessages.c (printf_string_upper_bound): Remove
a ridiculous use of 'inline' on a 300 line function.
* gstring.[ch]: Represent size of string as a gsize,
not gint. Make parameters to functions take gsize,
or gssize where -1 is allowed.
* gstring.c (g_string_erase): Make
g_string_erase (string, pos, -1) a synonym for
g_string_truncate for consistency with other G*
APIs.
* gstrfuncs.[ch]: Make all functions taking a string
length, take a gsize, or gssize if -1 is allowed.
(g_strstr_len, g_strrstr_len). Also fix some boundary
conditions in g_str[r]str[_len].
* gutf8.c tests/unicode-encoding.c: Make parameters that
are byte lengths gsize, gssize as appropriate. Make
character offsets, other counts, glong.
* gasyncqueue.c gcompletion.c
timeloop.c timeloop-basic.c gutils.c gspawn.c.
Small 64 bit cleanliness fixups.
* glist.c (g_list_sort2, g_list_sort_real): Fix functions
that should have been static.
* gdate.c (g_date_fill_parse_tokens): Fix extra
declaration that was shadowing another.
* tests/module-test.c: Include string.h
Mon Jun 18 15:43:29 2001 Owen Taylor <otaylor@redhat.com>
* gutf8.c (g_get_charset): Make argument
G_CONST_RETURN char **.
Thu May 24 21:24:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
* gmarkup.c: back out change by mitch@convergence.de and apply patch in
bug id #52067 that fixes the same problem in a more complete manner.
This fixes also a segfault for a malformed XML file and adds a new
test case.
2001-05-18 Michael Natterer <mitch@convergence.de>
* gmarkup.c: don't g_strdup()/g_free() all parsed attributes and
their values twice but simply copy the string pointers from the
GMarkupAttribute struct to the string arrays before passing them
to start_element().