Commit Graph

94 Commits

Author SHA1 Message Date
Matthias Clasen
48876d7fb5 Fix PLT issues 2006-09-30 14:06:45 +00:00
Matthias Clasen
c699743eca Don't call va_end on caller-provided va_args. (#353584, Chris Wilson)
2006-08-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
	va_end on caller-provided va_args.  (#353584, Chris Wilson)
2006-08-30 19:07:54 +00:00
Matthias Clasen
c4d88c74c8 Small optimizations 2006-05-29 00:57:22 +00:00
Matthias Clasen
f4f6480042 Add a GMarkupParseFlags flag for treating CDATA as text.
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.
2006-05-29 00:08:30 +00:00
Matthias Clasen
b58fb2bdb5 Move short_month_names and long_month_names to bss.
2006-04-04  Matthias Clasen  <mclasen@redhat.com>

        * glib/gdate.c: Move short_month_names and long_month_names
        to bss.

        * glib/gspawn-win32.c (g_spawn_error_quark):
        * glib/gspawn.c (g_spawn_error_quark):
        * glib/gshell.c (g_shell_error_quark):
        * glib/gmarkup.c (g_markup_error_quark):
        * glib/goption.c (g_option_error_quark):
        * glib/gkeyfile.c (g_key_file_error_quark):
        * glib/giochannel.c (g_io_channel_error_quark):
        * glib/gfileutils.c (g_file_error_quark):
        * glib/gconvert.c (g_convert_error_quark):
        * glib/gbookmarkfile.c (g_bookmark_file_error_quark):
        * glib/gthread.c (g_thread_error_quark): No point in making
        the error path fast by caching quarks.

        * glib/gbookmarkfile.c: Make the parser struct const.
2006-04-04 04:37:39 +00:00
Matthias Clasen
9414478982 Doc addition
2005-10-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c (g_markup_escape_text): Doc addition
2005-10-05 20:11:25 +00:00
Matthias Clasen
047558bc21 Clarify docs.
2005-09-12  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c (g_markup_escape_text): Clarify docs.
2005-09-12 18:23:43 +00:00
Matthias Clasen
608a31b98e Make PLT-reduction work with gcc4, and don't include everything in
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-03-14 04:26:57 +00:00
Matthias Clasen
0d0698b9cc Fix error reporting in gmarkup 2005-03-06 20:26:28 +00:00
Matthias Clasen
39a681995c Add a test with a long entity name.
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)
2005-01-24 17:25:37 +00:00
Matthias Clasen
8f0d5d169e Define empty for gcc 2.95.
2004-11-29  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmacros.h (G_GNUC_MALLOC): Define empty for gcc 2.95.

	* glib/gmarkup.c (unescape_text_state_after_charref_hash):
	Avoid a strndup() here, noticed by Morten Welinder.
2004-11-29 14:50:47 +00:00
Matthias Clasen
18651f45d0 Remove leftover noinline attributes. (is_name_start_char, is_name_char):
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-11-29 06:51:16 +00:00
Matthias Clasen
75942393f5 Remove leftover noinline attributes.
2004-11-29  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c: Remove leftover noinline attributes.
2004-11-29 06:32:38 +00:00
Matthias Clasen
86c78552ec Optimizations; don't scan the entire text in find_current_text_end(),
2004-11-28  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c: Optimizations; don't scan the entire text
	in find_current_text_end(), split unescape_text() into multiple
	functions.  (#159001, Havoc Pennington)
2004-11-28 05:40:10 +00:00
Matthias Clasen
dafdffd751 Implement the same PLT reduction technique used in GTK+:
Thu Sep 16 02:03:15 2004  Matthias Clasen  <maclas@gmx.de>

	Implement the same PLT reduction technique used in GTK+:
2004-09-16 06:05:53 +00:00
Matthias Clasen
889096b1ea Tests for handling of whitespace inside tags.
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)
2004-07-28 15:00:59 +00:00
Matthias Clasen
dfce076fe4 Fix an off-by-one error in g_markup_parse_context_parse(). (#142794,
Tue Jun  1 21:56:31 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gmarkup.c (advance_char): Fix an off-by-one error
	in g_markup_parse_context_parse().  (#142794, Morten Welinder)
2004-06-02 02:02:31 +00:00
Matthias Clasen
fce9dce6b3 Document as 2.4 additions. (unescape_text): Implement newline and
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.
2003-10-08 21:44:04 +00:00
Owen Taylor
2f4c3d8a6d Add g_markup_printf_escaped(), g_markup_vprintf_escaped().
Thu Sep 11 20:11:05 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmarkup.c: Add g_markup_printf_escaped(),
        g_markup_vprintf_escaped().

        * tests/markup-escape-test.c (main): Test for
        g_markup_escape_text(), g_markup_printf_escaped().
2003-09-12 00:17:02 +00:00
Matthias Clasen
6710fd6e06 Optimize the common cases (init == NULL or init == "") a bit. replace uses
2003-03-30  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_new): Optimize the common cases
	(init == NULL or init == "") a bit.
	* glib/gmarkup.c, glib/gmessages.c, glib/gscanner.c,
	glib/gshell.c, glib/gspawn-win32-helper.c, glib/gspawn-win32.c,
	glib/gspawn.c, gobject/gvaluetransform.c: replace uses of
	g_string_new ("") by g_string_new (NULL).  (#106973, Morten Welinder)
2003-03-30 22:02:20 +00:00
Owen Taylor
bbbd329ff5 Patch from Sven Neumann to make the include order consistent. (#71704)
Tue Dec  3 20:22:27 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/*.c: Patch from Sven Neumann to make the
        include order consistent. (#71704)
2002-12-04 01:27:44 +00:00
Matthias Clasen
a69dc4b65d Mark 2.2 API additions. 2002-11-28 00:15:45 +00:00
Matthias Clasen
e7d3a38f48 Use g_return_val_if_fail, no g_return_if_fail.
* glib/gmarkup.c (g_markup_parse_context_get_element):
	Use g_return_val_if_fail, no g_return_if_fail.
2002-08-07 22:15:43 +00:00
Matthias Clasen
0a064bd795 New function to get the currently open element. (#70448)
* glib/gmarkup.h:
	* glib/gmarkup.c (g_markup_parse_context_get_element): New
	function to get the currently open element.  (#70448)
2002-07-15 21:33:18 +00:00
Matthias Clasen
60f59976d9 New testcases.
2002-05-18  Matthias Clasen  <maclas@gmx.de>

	* tests/markups/fail-36.gmarkup:
	* tests/markups/fail-35.gmarkup:
	* tests/markups/valid-8.gmarkup:
	* tests/markups/valid-7.gmarkup:
	* tests/markups/valid-6.gmarkup:
	* tests/markups/valid-5.gmarkup: New testcases.

	* tests/markup-test.c (passthrough_handler):
	(text_handler): Don't ignore the text_len parameter.

	* glib/gmarkup.c (find_current_text_end): Don't hang on embedded
	nuls.  (#81977)
	(g_markup_parse_context_parse): Fix passthrough handling to
	correctly skip processing instructions, comments, doctype
	declarations and CDATA marked sections.  (#81977)
2002-05-18 22:06:54 +00:00
Matthias Clasen
6853c2b880 Report unfinished entity references as errors rather than running into an
* glib/gmarkup.c (unescape_text): Report unfinished entity
	references as errors rather than running into an assert.  (#80441)
2002-05-07 21:45:21 +00:00
Owen Taylor
57d9c0926a 1.3.14
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)
2002-02-17 23:28:43 +00:00
Darin Adler
e507791c85 New. (skip_spaces): g_unichar_isspace -> xml_isspace isspace ->
* glib/gmarkup.c: (xml_isspace): New.
	(skip_spaces): g_unichar_isspace -> xml_isspace
	* glib/gstrfuncs.c: (g_ascii_strtod): isspace -> g_ascii_isspace
	isxdigit -> g_ascii_isxdigit, isdigit -> g_ascii_isdigit
2002-02-10 05:56:06 +00:00
Matthias Clasen
b08db9f35e Test attribute value delimiters.
* 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-02-09 22:08:10 +00:00
Matthias Clasen
fc0aea182c Change the order in which some error conditions are checked to improve
* glib/gmarkup.c (g_markup_parse_context_parse): Change the
        order in which some error conditions are checked to improve
        error messages. (#69646)
2002-01-30 22:14:16 +00:00
Havoc Pennington
3370260a13 NULL-terminate context->attr_values so g_strfreev() is safe. Would
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
2002-01-29 03:42:23 +00:00
Kjartan Maraas
2fe3a9d756 Fix a typo.
2001-06-27  Kjartan Maraas  <kmaraas@gnome.org>

	* glib/gmarkup.c: Fix a typo.
2001-06-27 19:18:07 +00:00
Owen Taylor
f5c28ce4ab Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane.
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 **.
2001-06-23 13:55:09 +00:00
CEST 2001 Paolo Molaro
477106292a back out change by mitch@convergence.de and apply patch in bug id #52067
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-24 19:30:40 +00:00
Michael Natterer
05f143a808 don't g_strdup()/g_free() all parsed attributes and their values twice but
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().
2001-05-18 12:38:32 +00:00
Owen Taylor
b8796462fb Add gettext support.
Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>

        * configure.in acconfig.h glibintl.h gutils.c
	po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
	support.

	* glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
	some more and put them in this file, though they also need
	to be included in acinclude.m4 due to the brokeness of
	aclocal.

	* gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
	gshell.c: Remove dummy _() #defines, include glibintl.m4.
2001-01-16 02:24:24 +00:00
Elliot Lee
61c2307387 touchups.
touchups.
2000-11-29 16:25:36 +00:00
Elliot Lee
790a7bd3be Fix warnings.
* gmarkup.c: Fix warnings.

* guniprop.c, gunidecomp.c: Make warnings go away by using
GPOINTER_TO_INT() instead of (int).

* gcompletion.[ch]: Add g_completion_set_compare(),
to allow (for example) using case-insensitive completion.

* gobject/gsignal.c: Fix warnings about possible use of uninitialized
variables, and fix logic that would leave 'node' unset in cases
that it might be used in.

* gobject/glib-genmarshal.c: Fix warning about printf format.
2000-11-28 23:44:21 +00:00
Tor Lillqvist
55c7329d51 Patches by Hans Breuer:
2000-11-28  Tor Lillqvist  <tml@iki.fi>

	Patches by Hans Breuer:

	* gspawn-win32.c: Move the code for gspawn-win32-helper to its own
	file.

	* makefile.{mingw,msc}.in: Change accordingly.

	* gspawn-win32-helper.c: New file.

	* Makefile.am (EXTRA_DIST): Add it.

	* gmarkup.c (find_current_text_end): Fix assertion not to check an
	uninitialised variable.

	* gboxed.c: Include <string.h> for memset ().
2000-11-28 20:04:08 +00:00
Havoc Pennington
96b9935a7c Handle a long stream of bytes containing no UTF-8 character starts
2000-11-11  Havoc Pennington  <hp@pobox.com>

* gmarkup.c (g_markup_parse_context_parse): Handle a long stream
of bytes containing no UTF-8 character starts
2000-11-11 17:09:15 +00:00
Havoc Pennington
14c4da8cdd rename G_MARKUP_FOO to G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
2000-11-05  Havoc Pennington  <hp@pobox.com>

* gmarkup.h: rename G_MARKUP_FOO to
G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG

* gmarkup.c: don't start doc comments with "Returns"

2000-11-05  Havoc Pennington  <hp@pobox.com>

* glib/tmpl/markup.sgml: Write docs
2000-11-05 18:38:08 +00:00
Havoc Pennington
194ae56882 inline docs (unescape_text): properly check strtoul for failure.
2000-11-05  Havoc Pennington  <hp@pobox.com>

* gmarkup.c: inline docs
(unescape_text): properly check strtoul for failure.

* gerror.c (g_propagate_error): Free the src error if the dest
location is NULL - I'm pretty sure that's what this function was
supposed to do.
2000-11-05 18:09:16 +00:00
Havoc Pennington
110c6cbac8 Added
2000-11-05  Havoc Pennington  <hp@pobox.com>

        * glib/tmpl/spawn.sgml, glib/tmpl/markup.sgml,
	glib/tmpl/fileutils.sgml: Added

	* glib/Makefile.am: Add new files

	* glib/glib-sections.txt: Add stuff from -unused

2000-11-05  Havoc Pennington  <hp@pobox.com>

* gutils.c (g_find_program_in_path): cleanup docs, sync param
names to those in the header

* gfileutils.c (g_mkstemp): clean up docs

* gshell.h: sync param names with param names in .c file

* gfileutils.h (enum GFileTest): remove trailing comma from last
member, confuses gtk-doc

* gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
convention
2000-11-05 16:38:16 +00:00
Havoc Pennington
32ef70d4b2 New module to parse a simple markup language
2000-10-24  Havoc Pennington  <hp@pobox.com>

        * gmarkup.h, gmarkup.c: New module to parse a simple
	markup language

	* Makefile.am: add gmarkup.h, gmarkup.c

	* tests/Makefile.am: add markup-test

	* gstring.h (g_string_new_len): new function to create a string
	with a length
	(g_string_new): avoid a gratuitous realloc
2000-10-27 02:46:04 +00:00