Commit Graph

132 Commits

Author SHA1 Message Date
Mikhail Zabaluev
69efeee287 Made g_utf8_to_ucs4_fast() even faster
https://bugzilla.gnome.org/show_bug.cgi?id=619435
2011-06-03 22:31:39 -04:00
Dan Winship
bdc23c44e8 Fix compiler warnings 2011-05-02 11:50:23 -04:00
Emmanuele Bassi
08f0a31289 Revert "Remove all uses of G_CONST_RETURN"
This reverts commit 36741245cc.

The removal has not been discussed, except on Bugzilla:

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-03-15 09:03:28 +00:00
Ryan Lortie
36741245cc Remove all uses of G_CONST_RETURN
Just use 'const'.
2011-03-15 01:32:22 -04:00
Emmanuele Bassi
82db1446b3 Add missing gstrfuncs.h include
For g_strdup() and friends.
2010-09-04 17:22:18 +01:00
Matthias Clasen
9471902d4d Remove redundant header inclusions 2010-09-03 20:01:55 -04:00
Ryan Lortie
7791fce38a Fix some glib docs warnings
Remove some symbols from glib-sections.txt that gtk-doc has no idea
about.

Add proper callback typedefs for GTester (gtk-doc dislikes inline
function types).

Fix some other minor issues.
2010-07-12 16:56:52 -04:00
Ryan Lortie
2e53e50244 glib/: fully remove galias hacks 2010-07-07 19:34:35 -04:00
Mikhail Zabaluev
c3bc0f4f8f Optimized the overlong sequence check in g_utf8_get_char_extended()
Rather make it branch to get the due sequence length for the resulting
character code, we can as well get the minimum code value in the initial
branching.
2010-05-27 14:00:12 -04:00
Matthias Clasen
42f042d5fb Minor doc clarification
Spell out that g_utf8_strlen() behaves like strlen() wrt. to
termination. Bug 612040.
2010-03-08 00:05:07 -05:00
Colin Walters
5047fd7f68 [gutf8.c] Add a bit of documentation to UNICODE_VALID 2010-02-19 16:39:26 -05:00
Matthias Clasen
442dadf311 Improve docs for g_utf16_to_utf8
Document that g_utf16_to_utf8 does not validate the resulting
UTF-8 string. See bug 596314.
2009-09-29 20:39:39 -04:00
Matthias Clasen
79ef3d3264 Correct g_utf8_to_utf16 docs
As pointed out in bug 580932, len is counting bytes here.
2009-05-02 22:44:52 -04:00
Paolo Borelli
e1b7a25342 sanity check the input paramter.
2009-02-23  Paolo Borelli  <pborelli@katamail.com>

	* glib/gutf8.c (_g_utf8_make_valid):
	sanity check the input paramter. 

svn path=/trunk/; revision=7902
2009-02-23 14:38:20 +00:00
Mathias Hasselmann
cf01757ba0 Add note about g_utf8_offset_to_pointer() not checking string
boundaries.

* glib/gutf8.c (g_utf8_offset_to_pointer()): See summary.

svn path=/trunk/; revision=7861
2009-02-13 14:20:17 +00:00
Behdad Esfahbod
8b4e4a13d8 Bug 547200 – g_utf8_find_next_char() issues
2008-08-11  Behdad Esfahbod  <behdad@gnome.org>

        Bug 547200 – g_utf8_find_next_char() issues

        * glib/gutf8.c: Improve wording about @end arguments in str funcs.


svn path=/trunk/; revision=7337
2008-08-11 19:03:04 +00:00
Behdad Esfahbod
ae6300bd09 Fix docs to use "nul-terminated" consistently.
2008-08-10  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gutf8.c: Fix docs to use "nul-terminated" consistently.


svn path=/trunk/; revision=7334
2008-08-10 20:24:32 +00:00
Christian Persch
9c17697b56 Use g_set_error_literal where appropriate. Patch from bug #535947.
svn path=/trunk/; revision=7051
2008-06-16 16:53:58 +00:00
Tor Lillqvist
b60f5cf11b glib/gutf8.c (g_get_charset) glib/gconvert.c (g_locale_from_utf8) Clarify
2008-02-21  Tor Lillqvist  <tml@novell.com>
	
	* glib/gutf8.c (g_get_charset)
	* glib/gconvert.c (g_locale_from_utf8)
	* docs/reference/glib/running.sgml: Clarify character set
	issues on Windows.


svn path=/trunk/; revision=6551
2008-02-21 13:07:49 +00:00
Matthias Clasen
137fdf9089 Document limitations of this function. (#487909, Peter Moulder)
2008-01-27  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutf8.c (g_utf8_strreverse): Document limitations
        of this function.  (#487909, Peter Moulder)



svn path=/trunk/; revision=6391
2008-01-28 03:15:23 +00:00
Behdad Esfahbod
9df1f4fcc7 Fix warnings from sparse. (#487491, Kjartan Maraas)
2007-10-21  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gdate.c (g_date_strftime):
        * glib/gmain.c (g_main_context_check):
        * glib/gregex.c (g_match_info_fetch_all), (g_regex_split_full):
        * glib/gthread.c (g_once_init_enter_impl), (g_once_init_leave):
        * glib/gthread.h:
        * glib/gutf8.c (g_utf16_to_utf8), (g_utf16_to_ucs4):
        * tests/errorcheck-mutex-test.c (lock_locked_mutex),
        (trylock_locked_mutex), (unlock_unlocked_mutex),
        (free_locked_mutex), (wait_on_unlocked_mutex),
        (wait_on_otherwise_locked_mutex), (timed_wait_on_unlocked_mutex),
        (timed_wait_on_otherwise_locked_mutex):
        Fix warnings from sparse. (#487491, Kjartan Maraas)


svn path=/trunk/; revision=5792
2007-10-21 17:01:29 +00:00
15:07:28 Tim Janik
63828ea746 applied fix for bug #476840.
2007-09-14 15:07:28  Tim Janik  <timj@gtk.org>

        * glib/gutf8.c (g_utf8_strreverse): applied fix for bug #476840.

        * tests/utf8-pointer.c (test_misc): added test for g_utf8_strreverse().



svn path=/trunk/; revision=5757
2007-09-14 13:28:07 +00:00
Behdad Esfahbod
ed6b059bc2 Add not to g_utf8_get_char_validated() about nul-terminated strings.
2007-06-05  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gutf8.c: Add not to g_utf8_get_char_validated() about
        nul-terminated strings.


svn path=/trunk/; revision=5536
2007-06-05 17:52:04 +00:00
Paolo Borelli
e51854dd5d remove unneeded checks.
2007-03-19  Paolo Borelli  <pborelli@katamail.com>

	* glib/gutf8.c (fast_validate_len): remove unneeded checks.


svn path=/trunk/; revision=5427
2007-03-18 23:20:35 +00:00
Matthias Clasen
df3dd538e5 Define G_GNUC_INTERNAL for Sun Studio as __hidden. (#342981, Brian
2007-01-26  Matthias Clasen <mclasen@redhat.com>

        * configure.in: Define G_GNUC_INTERNAL for Sun Studio
        as __hidden.  (#342981, Brian Cameron)

        * glib/gconvert.c:
        * glib/gutf8.c: Move G_GNUC_INTERNAL uses to the right
        spot.

2

svn path=/trunk/; revision=5317
2007-01-27 03:34:48 +00:00
Matthias Clasen
ffabd954ee Clarify the behaviour is max_len is zero. (#400044, Benjamin Dauvergne)
2007-01-23  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutf8.c (g_utf8_get_char_validated): Clarify
        the behaviour is max_len is zero.  (#400044,
        Benjamin Dauvergne)



svn path=/trunk/; revision=5311
2007-01-24 04:38:57 +00:00
Matthias Clasen
3ab1139aef Add hints for locale-dependent interfaces. Add hints for locale-dependent
2006-12-26  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutf8.c: Add hints for locale-dependent interfaces.
        * glib/gconvert.c: Add hints for locale-dependent interfaces.
2006-12-27 05:09:48 +00:00
Matthias Clasen
48876d7fb5 Fix PLT issues 2006-09-30 14:06:45 +00:00
Matthias Clasen
8f05c1da81 Fix the pthread compiler flag detection.
2006-08-25  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Fix the pthread compiler flag detection.

	* glib/gunicode.h:
	* glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
	from gconvert.c, move it to gutf8.c, and export it privately.

	* glib/gconvert.c (g_filename_display_name): Adjust callers.

	* glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
	places to ensure error messages are valid UTF-8.  (#351853,
	Simon Budig)
2006-08-26 03:44:45 +00:00
Sebastian Wilhelmi
307391459d Use canonical include form for internal headers. config.h is always there.
2006-05-09  Sebastian Wilhelmi  <wilhelmi@google.com>

	* glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c,
	gthread/gthread-impl.c, gthread/gthread-posix.c,
	gthread/gthread-win32.c: Use canonical include form for internal
	headers. config.h is always there.
2006-05-09 23:07:27 +00:00
Matthias Clasen
b7420e0847 Match the prototype in gconvert.c to fix build problems in NetBSD.
2006-03-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutf8.c (_g_charset_get_aliases): Match the prototype
	in gconvert.c to fix build problems in NetBSD.  (#333651,
	Julio M. Merino Vidal)
2006-03-07 16:32:38 +00:00
Matthias Clasen
8b3b3adb6d Add tests for g_utf8_strlen().
2006-02-24  Matthias Clasen  <mclasen@redhat.com>

        * tests/utf8-pointer.c: Add tests for g_utf8_strlen().

        * glib/gutf8.c: Fix boundary cases in g_utf8_strlen().
        (#332435)
2006-02-24 13:56:58 +00:00
Kang Jeong-Hee
3afc87dd62 p in str, not str in p 2006-02-17 18:06:17 +00:00
Matthias Clasen
c9387d9069 Documentation updates. (#323291, Morten Welinder)
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutf8.c: Documentation updates.  (#323291, Morten Welinder)
2005-12-05 19:09:00 +00:00
Matthias Clasen
f59aac306d Prepare for 2.9.0 2005-11-17 21:33:07 +00:00
Matthias Clasen
1ee0917984 Unit tests for g_utf8_pointer_to_offset and g_utf8_offset_to_pointer.
2005-11-17  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am:
	* tests/utf8-pointer.c: Unit tests for g_utf8_pointer_to_offset
	and g_utf8_offset_to_pointer.

	* glib/gutf8.c (g_utf8_pointer_to_offset)
	(g_utf8_offset_to_pointer): Handle negative offsets, and use
	"stutter stepping" for going backwards. (#320638, Larry
	Ewing)
2005-11-17 15:50:31 +00:00
Behdad Esfahbod
8bd94d0eb8 Use bit hacks instead when checking a general category value against
2005-11-09  Behdad Esfahbod  <behdad@gnome.org>

        * glib/guniprop.c: Use bit hacks instead when checking a general
        category value against multiple values.

        * glib/gutf8.c: Change ISO10646 to Unicode in docs.
2005-11-10 01:15:11 +00:00
Matthias Clasen
3a042a8959 Add some tests for conversions between UTF-8, UCS-4 and UTF-16.
2005-10-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/convert-test.c: Add some tests for conversions between
	UTF-8, UCS-4 and UTF-16.

	* glib/gutf8.c (g_utf8_to_ucs4, g_utf8_to_utf16): Fix handling
	of len == -1, noticed by Morten Welinder.
2005-10-30 03:05:21 +00:00
Matthias Clasen
79fa3efec2 Fix 319806 2005-10-26 13:10:55 +00:00
Ross Burton
efa05f88ef Optimise single-character insertions 2005-08-18 09:30:24 +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
40fb4cff10 Replace g_utf8_validate() with an optimized version, and clarify the docs
2004-11-24  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutf8.c: Replace g_utf8_validate() with an
	optimized version, and clarify the docs a bit.  (#159131,
	Owen Taylor)
2004-11-24 17:58:21 +00:00
Matthias Clasen
a4026b4cbf Add a note explaining how to convert UTF-16 byte stream of ambiguous
Mon Sep 20 00:35:14 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gutf8.c (g_utf16_to_utf8): Add a note explaining how to
	convert UTF-16 byte stream of ambiguous endianness.  (#152954,
	Linus Walleij)
2004-09-20 04:38:38 +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
a412fb1654 Remove some explicit Docbook markup which is no longer necessary
since gtk-doc does the right thing.
2003-07-25 21:32:47 +00:00
Matthias Clasen
b205c9267b Work around gtk-doc stupidity.
2003-07-25  Matthias Clasen  <maclas@gmx.de>

	* glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity.
2003-07-24 23:07:29 +00:00
Noah Levitt
bc76e98174 Fix typo in UNICODE_VALID (related to #107427).
2003-05-23  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gutf8.c: Fix typo in UNICODE_VALID (related to #107427).
2003-05-23 21:18:32 +00:00
Matthias Clasen
048002c8f7 Warn if p == NULL && max != 0. (#110087)
2003-04-07  Matthias Clasen  <maclas@gmx.de>

	* glib/gutf8.c (g_utf8_strlen): Warn if p == NULL && max != 0.
	(#110087)
2003-04-06 22:16:59 +00:00
Matthias Clasen
cb0e4de11c 2003-03-a30 Matthias Clasen <maclas@gmx.de>
* glib/gutf8.c (UNICODE_VALID): Update to Unicode 3.1 and optimize
	a bit.  (#107427, Noah Lewitt)
2003-03-30 21:51:30 +00:00
Owen Taylor
ceb35b237b Break _g_locale_charset() into two pieces - a fast "raw" piece, and a slow
Sat Dec 14 20:11:41 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/libcharset/{localcharset.[ch] libcharset-glib.patch}
        glib/gutf8.c: Break _g_locale_charset() into two pieces
        - a fast "raw" piece, and a slow "unalias pieces".
        Always call the "raw" piece, and call the unalias bit
        if it changes. Use a per-thread cache. (#79529)
2002-12-15 01:35:07 +00:00
Matthias Clasen
a69dc4b65d Mark 2.2 API additions. 2002-11-28 00:15:45 +00:00
Matthias Clasen
1bb885b3b2 New function to revert a utf8 string. Gone, replaced by g_utf8_strreverse.
* glib/gunicode.h:
	* glib/gutf8.c (g_utf8_strreverse): New function to revert
	a utf8 string.
	* glib/gpattern.c (g_utf8_reverse): Gone, replaced by
	g_utf8_strreverse.  (#87725)
2002-07-26 19:48:02 +00:00
Sven Neumann
0ad49d56c1 removed an empty line in the inline documentation that confused gtk-doc.
2002-01-24  Sven Neumann  <sven@gimp.org>

	* glib/gutf8.c (g_utf8_to_utf16): removed an empty line in the
	inline documentation that confused gtk-doc.
2002-01-24 14:02:58 +00:00
Daniel Elstner
f344cb2cc2 In order to avoid infinite loops on invalid UTF-8 strings, change the skip
2001-11-28  Daniel Elstner  <daniel.elstner@gmx.net>
* glib/gutf8.c (utf8_skip_data): In order to avoid infinite loops on invalid UTF-8 strings, change the skip count for 0xfe and 0xff from 0 to 1.
2001-11-28 21:23:32 +00:00
Owen Taylor
b5fa5b9867 Fixes for #58195, based on some ideas from Hidetosh Tajima.
Wed Sep 26 22:34:12 2001  Owen Taylor  <otaylor@redhat.com>

        Fixes for #58195, based on some ideas from Hidetosh Tajima.

        * aclibcharset.m4 glib/libcharset: Add Bruno Haible's
        portable-current charset detection code from libiconv.

        * glib/gutf8.c (g_utf8_get_charset_internal): Rewrite
        to use _g_locale_charset().

        * glib/gutf8.c (_g_charset_get_aliases): Private functions
        to get aliases from libcharset for a particular canonical
        name.

        * glib/gconvert.c: If loading a charset fails, try
        aliases to look for fallbacks.
2001-09-27 02:49:05 +00:00
Matthias Clasen
50d0ad9803 glib/gutf8.c, glib/gunibreak.c, glib/gunicollate.c,
glib/gunidecomp.c, glib/guniprop.c: Inline doc consistency fixes.
2001-09-24 21:28:57 +00:00
Owen Taylor
16fc3b22c0 Doc fixes.
Mon Sep 10 11:42:58 2001  Owen Taylor  <otaylor@redhat.com>

        * glib/gutf8.c glib/gstring.c glib/gfileutils.c glib/gmain.c:
        Doc fixes.
2001-09-10 15:50:26 +00:00
Owen Taylor
49fb6c6cc2 Replace some uses of isspace() with g_ascii_isspace().
Sun Sep  2 13:05:53 2001  Owen Taylor  <otaylor@redhat.com>

        * glib/gstrfuncs.c (g_strchomp): Replace some uses
        of isspace() with g_ascii_isspace().

        * glib/gutf8.c glib/gunicode.h glib/gstrfuncs.[ch]: Add
        extra indirections to g_utf8_skip and g_ascii_table to
        avoid great whopping copy relocs.
2001-09-02 17:14:23 +00:00
Christopher James Lahey
149a0fb2bd Made g_utf8_find_prev_char able to return the first character of a string.
2001-08-01  Christopher James Lahey  <clahey@ximian.com>

	* glib/gutf8.c (g_utf8_find_prev_char): Made g_utf8_find_prev_char
	able to return the first character of a string.
2001-08-03 05:52:28 +00:00
Owen Taylor
6d7ee81303 s/size_t/gsize/ to match prototypes.
Fri Jul 20 14:11:29 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gutf8.c glib/gunidecomp.c: s/size_t/gsize/ to match
	prototypes.
2001-07-20 18:12:10 +00:00
Owen Taylor
f37c13dbde Add functions to insert a unichar as UTF-8, since this is reasonably
Fri Jul 13 19:20:06 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gstring.c (g_string_insert/append/prepend_unichar):
	Add functions to insert a unichar as UTF-8, since this
	is reasonably common.

	* glib/gutf8.c glib/gunicode.h (g_utf8_get_char_validated):
	New function exposing iterating through possibly invalid/incomplete
	UTF-8 to unicode to the outside world.

	* glib/gutf8.c (g_utf8_get_char_extended): Fix max_len argument
	to be gssize, not gsize.
2001-07-19 14:35:48 +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
Alex Larsson
106fb627f1 Added new functions g_strstr_len, g_strrstr and g_strrstr_len
2001-06-08  Alex Larsson  <alexl@redhat.com>

	* gstrfuncs.[ch]:
	Added new functions g_strstr_len, g_strrstr and g_strrstr_len

	* tests/strfunc-test.c:
	Add some tests for the new functions.

	* gunicode.h:
	* gutf8.c:
	Add length argument to g_utf8_strchr and g_utf8_strrchr.
2001-06-08 23:14:03 +00:00
Havoc Pennington
94b8df8ca0 add glibintl.h
2001-05-19  Havoc Pennington  <hp@pobox.com>

	* glib/Makefile.am (IGNORE_HFILES): add glibintl.h

	* glib/tmpl/*.sgml: fix various missing docs
2001-05-19 05:32:50 +00:00
Havoc Pennington
ebec3d7ce7 fix docs; they said we validated the UTF-8, but we can't possibly detect
2001-05-14  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_utf8_get_char): fix docs; they said we validated
	the UTF-8, but we can't possibly detect partial chars since
	there's no length arg here, so trying to use this function
	on invalid UTF-8 is a bad idea.
2001-05-15 19:18:08 +00:00
Owen Taylor
d4e0ae748a Fix read past end of the string. (#50404, fix from Jonas Borgström)
Wed May  2 11:10:22 2001  Owen Taylor  <otaylor@redhat.com>

	* gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
	(#50404, fix from Jonas Borgström)
2001-05-02 15:19:55 +00:00
Havoc Pennington
4eab875811 docs
2001-04-16  Havoc Pennington  <hp@redhat.com>

        * gqsort.c: docs

        * gfileutils.c: docs

        * gwin32.c: docs fixes

        * gconvert.c: docs

        * guniprop.c: docs

        * gutf8.c: docs
2001-04-16 20:05:25 +00:00
Havoc Pennington
767800fcb3 rewrite, based on bug #52328 from Anders
2001-03-20  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
	Anders
2001-03-20 21:30:40 +00:00
Havoc Pennington
fad8693b76 added this function
2001-03-19  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_unichar_validate): added this function
2001-03-20 00:55:44 +00:00
Tor Lillqvist
754d8ddad8 Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	Cygwin support contributed by Stefan Ondrejicka
	<ondrej@idata.sk>. Hopefully I got it all in while simultaneously
	adding support for auto*/libtool for mingw.

	* Makefile.am: Changes for auto* support on Cygwin and Win32. Do
	still distribute the hand-written makefiles and *.win32.in files,
	though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
	Use -no-undefined. Pass -export-symbols glib.def to libtool.

	* configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
	and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
	calls for Cygwin and mingw support.  Check for %I64u guint64
	format (in MS C library). Set G_MODULE_IMPL on mingw and
	Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
	and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
	automake conditional on Win32.

	* glib.h: Include gwin32.h also on Cygwin.

	* gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
	Unix) for Cygwin's sake.

	* gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().

	* gconvert.c
	* gthread.c
	* gutf8.c
	* gutils.c: For code needed both on Cygwin and native Win32,
	test for G_PLATFORM_WIN32.

	* gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.

	* gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
	in case compiling a static library on Win32 or Cygwin.

	* gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
	dirent emulation on Cygwin.
	(get_package_directory_from_module) Convert return value from
	GetModuleFileName() to POSIX path on Cygwin.

	* tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
	and libgmodule as appropriate. Use -no-undefined.

	* gbacktrace.c: Move #ifdefs around a bit on Win32.

	* gshell.c (unquote_string_inplace): Make static.

	* testglib.c: Make some vars static. Add Cygwin path tests.
2001-03-09 21:31:21 +00:00
Tor Lillqvist
8a0df0a71c Socket support rewritten. It was utterly broken, and untested in fact. We
2001-01-25  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c: Socket support rewritten. It was utterly broken, and
	untested in fact. We still do use a thread for each socket being
	watched, but instead of blocking in recv() (which of course was
	plain stupid for sockets being liste()ed on), we block in
	select(). The read method for sockets calls recv(). It is now
	possible for the application to call accept(), recv() or send() in
	the callback, just like on Unix. Tested with code kindly provided
	by Andrew Lanoix.

	Rename g_io_channel_win32_new_stream_socket() to
	g_io_channel_win32_new_socket() as it isn't restricted to stream
	sockets.

	* gmain.c (g_poll): Related changes in the Win32 version of
	g_poll(). When polling for messages, always do a PeekMessage()
	first. We used to miss messages if several were posted between
	calls to g_poll().

	* giochannel.h: Improve Win32-related comments.

	* gutf8.c: (Win32) Include <stdio.h> for sprintf.

	* tests/gio-test.c: (Win32) Add tests for polling for Windows
	messages.

	* tests/makefile.mingw.in: Remove superfluous compilation command
	line.
2001-01-25 21:16:46 +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
Owen Taylor
956f00ed96 move $enable_debug down below checks for GCC to avoid setting CFLAGS
Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (PACKAGE): move $enable_debug down below
	checks for GCC to avoid setting CFLAGS prematurely,
	change checks to avoid adding -g twice.

	* gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
	0 termination.

	* gutf8.c (g_utf8_to_ucs4): Terminate result with 0.

	* tests/mainloop-test.c (main): Fix uses of
	g_main_loop_destroy().

	* tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
	Tests for unicode-conversion code.

	* gconvert.c (g_convert, g_convert_with_fallback): work around
	a couple of GNU libc bugs.

	* gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
	arguments to match g_convert(). Document.

	* gunicode.[ch]:
	  - Implement conversion functions to and from UTF-16
	  - Standardize unicode conversion functions on prototype like
	    g_convert.
	  - Add a lot of error checking to unicode conversion functions.

	* gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
	variant of g_utf8_to_ucs4.

	* gutf8.c (g_utf8_validate):
	 - add g_return_if_fail (str != NULL).
	 - add checks for overlong strings, non-valid Unicode characters (>= 110000)
	   and single surrogates.
2001-01-05 21:22:47 +00:00
Tor Lillqvist
4f9e04c1d7 Use GetACP to get the current ANSI codepage.
2000-12-17  Tor Lillqvist  <tml@iki.fi>

	* gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
	the current ANSI codepage.

	* gunicode.h: Add comment that the static string g_get_charset
	sets the parameter to point to should be copied in case the
	charset might be changed later in the program.
2000-12-17 18:43:57 +00:00
Havoc Pennington
b0baf3db03 make static
2000-12-13  Havoc Pennington  <hp@redhat.com>

	* gconvert.c (open_converter): make static

	* gutf8.c (g_utf8_validate): Simplify logic a bit, maybe
	speeding it up - now we just return FALSE if we had to bail out
	for any reason before getting to the end of the string, as defined
	by a nul byte if len was -1, defined by the len otherwise. This
	also fixes a bug where nul bytes were not treated as invalid
	when the length was specified.
2000-12-13 23:54:51 +00:00
Owen Taylor
ddbb2ea440 Implement g_ucs4_to_utf8 which was in
Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>

	* gutf8.c: Implement g_ucs4_to_utf8 which was in
2000-09-18 14:55:24 +00:00
Havoc Pennington
49c937fcbb Add this function.
2000-09-10  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_utf8_validate): Add this function.
2000-09-11 00:09:31 +00:00
Owen Taylor
da765af2bc Some inline docs fixes.
Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>

	* guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
2000-09-06 14:42:13 +00:00
Owen Taylor
37e7118821 Fix stray character
Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gunicode.h: Fix stray character

	* gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
	which case we just compute the length.
2000-07-31 18:52:11 +00:00
Tim Janik
c9bd7542e1 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

        * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.
2000-07-26 11:02:02 +00:00
Owen Taylor
9608683328 Fix up to correspond to configure.in checks.
Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gutf8.c (g_utf8_get_charset_internal): Fix up
	to correspond to configure.in checks.
2000-07-03 22:01:58 +00:00
Owen Taylor
0891c64816 Initial pass at adding unicode support functions. A few things still need
Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>

	* gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
	Makefile.am glib.h: Initial pass at adding unicode support
	functions. A few things still need to be implemented, a bit
	of cleanup needs to be done, tests need to be added, and
	the docs need to be finished, but this should allow replacing
	most or all use of libunicode.
2000-06-21 16:11:21 +00:00