Commit Graph

78 Commits

Author SHA1 Message Date
Matthias Clasen
717f3d4abb Enable the endianness test.
2005-08-08  Matthias Clasen  <mclasen@redhat.com>

	* tests/convert-test.c: Enable the endianness test.

	* glib/gconvert.c: Make the caching of iconv descriptors
	optional.

	* configure.in: Add an --enable-iconv-cache option, and
	default to disabling iconv caching on new enough glibc.
	Somebody with access to Solaris systems will need to test
	if opening/closing of iconv descriptors is enough of
	a performance problem to warrant the caching on that
	platform. Note that the caching is causing correctness
	problems in some corner cases, thus turning it off
	is desirable unless it has severe performance implications.
2005-08-08 19:50:38 +00:00
Matthias Clasen
74ff285644 Don't go in an infinite loop if the input text ends in an incomplete
2005-08-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c (g_convert_with_iconv): Don't go in an
	infinite loop if the input text ends in an incomplete multibyte
	character.  (#312402, Sebastian Bacher)
2005-08-02 21:10:16 +00:00
Matthias Clasen
02bc22d1ca Remove accidental documentation redundancies 2005-08-02 15:45:08 +00:00
Matthias Clasen
de298ae712 Cleanup converter state after the conversion. Document streaming
2005-08-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c (g_convert_with_iconv, g_convert_with_fallback):
	Cleanup converter state after the conversion. Document streaming
	conversion pitfalls.  (#311337)
2005-08-02 14:58:20 +00:00
Tor Lillqvist
dc11b4370f Don't call g_set_error() unless the GError pointer is non-NULL. This
2005-04-27  Tor Lillqvist  <tml@novell.com>

	* glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
	call g_set_error() unless the GError pointer is non-NULL. This
	avoids infinite recursion problems in certain rare situations on
	Windows, when g_locale_from_utf8() is called from
	_glib_get_locale_dir() after the change below. It's the
	_glib_gettext() calls to translate error messages that are
	parameters to g_set_error() that cause the recursion, not
	g_set_error() itself.

	* glib/gwin32.c (g_win32_locale_filename_from_utf8): New
	function. Converts a filename to the system codepage, and if a
	straight conversion isn't possible (because the filename contains
	characters not in the system codepage), try looking up the
	filename (which should refer to an existing file for this to
	succeed) with short (8.3) pathname components.

	* glib/gutils.c (_glib_get_locale_dir): No need to cache the
	result, this function is normally called only once. Return the
	path to the locale directory in system codepage, not UTF-8. The
	path is passed to bindtextdomain(), which doesn't use UTF-8 file
	names. Use g_win32_locale_filename_from_utf8(). (#301772)

	Don't do run-time lookup of message catalog directory on
	Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
	we use paths fixed at configure time.
2005-04-27 09:50:09 +00:00
Matthias Clasen
112be25742 Clarify docs in some places. (#172404, Morten Welinder)
2005-04-04  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c: Clarify docs in some places. (#172404,
	Morten Welinder)
2005-04-05 03:56:40 +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
b403b41e15 Don't crash if G_FILENAME_ENCODING is empty. (#164330, Pawel Sakowski)
2005-01-17  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c (g_get_filename_charsets): Don't crash
	if G_FILENAME_ENCODING is empty.  (#164330, Pawel Sakowski)
2005-01-17 15:28:59 +00:00
Tor Lillqvist
8693257c06 Improve docs.
2004-12-20  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c (g_locale_to_utf8, g_filename_to_uri): Improve
	docs.
2004-12-20 22:33:11 +00:00
Alexander Larsson
c839cdff0e Fix spelling Add g_return_val_if_fail.
2004-12-15  Alexander Larsson  <alexl@redhat.com>

	* glib/gconvert.c: (g_filename_display_basename):
	Fix spelling
	Add g_return_val_if_fail.

	* glib/glib.symbols:
	Add g_filename_display_basename
2004-12-15 16:42:28 +00:00
Alexander Larsson
aba9e78ec4 Add g_filename_display_basename.
2004-12-15  Alexander Larsson  <alexl@redhat.com>

	* glib/gconvert.[ch]:
	Add g_filename_display_basename.
2004-12-15 16:34:49 +00:00
Tor Lillqvist
e6da5d082e glib/glib.symbols Implement Windows DLL ABI stability also for
2004-12-12  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.symbols
	* glib/gconvert.[ch]: Implement Windows DLL ABI stability also for
	g_filename_{to,from}_uri().
2004-12-12 20:53:02 +00:00
Tor Lillqvist
3eaeb13a36 Fix typo in doc comment.
2004-11-10  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c (g_get_filename_charsets): Fix typo in doc
	comment.
2004-11-10 14:26:27 +00:00
Tor Lillqvist
912ba0d43c Document that the result is guaranteed to be non-NULL.
2004-11-04  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c (g_filename_display_name): Document that the
	result is guaranteed to be non-NULL.

	* glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
	get_contents_posix, get_contents_win32, g_file_open_tmp,
	g_file_read_link): Use g_filename_display_name() for error
	messages.
	(g_mkstemp): Document that the template should be in the GLib file
	name encoding.
	(g_file_open_tmp): Ditto. Also document that the actual name
	returned is also in the GLib file name encoding.
2004-11-04 00:37:47 +00:00
Matthias Clasen
00ff30a0bc *** empty log message *** 2004-11-02 21:53:23 +00:00
Matthias Clasen
87ad7806a7 New function to convert a filename to a UTF-8 string for display purposes.
2004-11-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c (g_filename_display_name): New function to
	convert a filename to a UTF-8 string for display purposes.
	(g_get_filename_charsets): New function to return the
	encodings which are tried when converting a filename to
	UTF-8.
2004-11-02 21:29:33 +00:00
Matthias Clasen
286d84fcb0 glib/gdebug.h glib/gutils.c gobject/gtype.c gthread/gthread-posix.c
2004-11-01  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c:
	* glib/gdebug.h
	* glib/gutils.c
	* gobject/gtype.c
	* gthread/gthread-posix.c
	* tests/timeloop-closure.c
	* tests/timeloop.c: Fix sparse warnings.  (#157014, Kjartan Maraas)
2004-11-01 18:47:12 +00:00
Matthias Clasen
8a7eecd7c6 Introduce the idea of a filename encoding, which is *literally* the
2004-10-27  Matthias Clasen  <mclasen@redhat.com>

	Introduce the idea of a filename encoding, which is
	*literally* the filename encoding on Unix. On windows,
	use the Unicode name converted to UTF-8. (#156325,
	Tor Lillqvist, Owen Taylor)

	* glib/gdir.[hc]:
	* glib/gconvert.[hc]:
	* glib/gfileutils.[hc]:
	* glib/gutils.[hc]:
	* glib/giowin32.c: On Windows, keep old ABI versions
	of GLib pathname api for DLL ABI stability. Use different
	names for the new-style UTF-8 versions. Hide this through
	a #define.

	* glib/gstdio.[hc]: New files containing wrappers for
	POSIX pathname api.

	* glib/glib.symbols: Add new symbols.

	* glib/makegalias.pl: Drop Win32 specific .def syntax,
	include gstdio.h
2004-10-27 16:46:29 +00:00
Matthias Clasen
8df27c8dd5 Add some uri list tests.c.
2004-10-22  Matthias Clasen  <mclasen@redhat.com>

	* tests/uri-test.c (run_uri_list_tests): Add some
	uri list tests.c.

	* glib/gconvert.h:
	* glib/gconvert.c (g_uri_list_extract_uris): New function to
	split a text/uri-list data into individual uris and strip comments.
2004-10-22 19:51:29 +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
f1024215a4 Add a G_GNUC_INTERNAL macro to mark function declarations as internal and
2004-08-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
	declarations as internal and avoid PLT indirections for
	them.  (#145465, Arjan van de Ven)

	* glib/gunicodeprivate.h:
	* glib/gthreadinit.h:
	* glib/gmessages.h:
	* glib/gdebug.h:
	* glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
	_g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
	_g_messages_thread_init(), _g_convert_thread_init(),
	_g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
	_g_mem_thread_private_init(), _g_messages_thread_private_init(),
	_g_utf8_normalize_wc() and _g_unichar_combining_class().

	* glib/gatomic.c: Include gthreadinit.h here to see the declaration
	for _g_atomic_thread_init().
2004-08-02 15:34:30 +00:00
Matthias Clasen
0611985dd9 Don't validate for UTF-8 here. (#148420, Robert Ögren)
2004-07-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c (g_unescape_uri_string): Don't validate
	for UTF-8 here.  (#148420, Robert Ögren)

	* tests/uri-test.c (run_roundtrip_tests): Add tests for
	roundtrip compatibility. Going from filename to uri and
	back should always give you the same filename back.
2004-07-30 19:00:01 +00:00
Federico Mena Quintero
6fa064ec62 Fixes #140532.
2004-06-07  Federico Mena Quintero  <federico@ximian.com>

	Fixes #140532.

	* glib/gconvert.c (is_asciialphanum): Renamed from
	is_escalphanum(); ensures that this is an ASCII character.
	(is_asciiescalpha): Renamed from is_escalpha().
	(hostname_validate): Use the two functions above.
	(g_filename_to_uri): Don't convert the filename to UTF-8.
	(g_filename_from_uri): Don't convert the filename from UTF-8.
2004-06-08 03:27:03 +00:00
Matthias Clasen
5a28aa724b Quote the file scheme to mark it as untranslatable. String change.
Wed May  5 23:35:44 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gconvert.c (g_filename_from_uri): Quote the file
	scheme to mark it as untranslatable. String change.
	(#133144, Danilo Segan)
2004-05-06 03:36:48 +00:00
Matthias Clasen
b26e8861c1 Don't call g_strerror() here, since it can lead to infinite recursion.
2004-04-23  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.c (open_converter): Don't call g_strerror() here,
	since it can lead to infinite recursion.  (#139133, Piotr Klaban)
2004-04-23 14:12:54 +00:00
Hans Breuer
35a6cff869 get_filename_charset() needs to return false for filenames not encoded in
2003-12-13  Hans Breuer  <hans@breuer.org>

	* glib/gconvert.c : get_filename_charset() needs to
	return false for filenames not encoded in utf-8,
	which is always true on win32

	* glibconfig.h.win32.in : (u)int64 modifier isn't the
	gcc 'll' but always the msvcrt one 'I64'

	* glib/glib.def : updated
2003-12-13 14:38:18 +00:00
Mark McLoughlin
57f22f15be re-work to retain a copy of the cached charset rather than the actual
2003-11-07  Mark McLoughlin  <mark@skynet.ie>

        * glib/gconvert.c: (get_filename_charset): re-work to
        retain a copy of the cached charset rather than the
        actual return value from g_get_charset (which may
        change). Also, re-initialize the cache if it does
        change. See bug #126454.
2003-11-09 13:17:23 +00:00
Matthias Clasen
42f0cca05a Replacement for have_broken_filenames() which consults the environment
Thu Nov  6 00:04:46 2003  Matthias Clasen  <maclas@gmx.de>

	* glib/gconvert.c (get_filename_charset): Replacement for
	have_broken_filenames() which consults the environment variable
	G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
	* glib/gconvert.c (g_filename_from_utf8):
	* glib/gconvert.c (g_filename_to_utf8):
	* glib/gconvert.c (_g_convert_thread_init): Use
	get_filename_charset() instead of have_broken_filenames().
2003-11-05 23:05:49 +00:00
Tor Lillqvist
5d097b8591 Force shared library (DLL) only on Windows. (I don't think that is
2003-10-24  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Force shared library (DLL) only on Windows.
	(I don't think that is controversial?) Remove unnecessary
	AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
	Win32, it is not used by mingw or MSVC headers.

	* config.h.win32.in
	* glibconfig.h.win32.in: Match what configure produces.

	* glib/gconvert.c
	* glib/gutils.c: Mark a couple of functions and variables that
	aren't public as static.

	* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
	it potentially differently, to silence compiler.

	* glib/glib.def: Add some missing entries.

	* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
	libtestgobject.

	* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
	to g_object_set() and _get().
2003-10-24 03:41:22 +00:00
Tor Lillqvist
2b553df50d Drop the Win32-specific implementation. It used WideCharToMultiByte(),
2003-08-12  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
	implementation. It used WideCharToMultiByte(), which is broken as
	it stores unconvertable characters as fallback characters
	(question marks) in the destination string without being able to
	tell how much of the conversion succeeded. Using g_convert() like
	on Unix is better and simpler. (#117872)

	(g_locale_to_utf8): No need for the Win32-specific implementation
	here, either.

	(have_broken_filenames): Define as TRUE on Win32.

	(g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
	have_broken_filenames() now is defined TRUE on Win32, works as
	before.
2003-08-13 00:13:02 +00:00
Matthias Clasen
cf9779628e Use gchar, gint, gsize instead of char, int, size_t in the interface for
2003-07-29  Matthias Clasen  <maclas@gmx.de>

	* glib/gqsort.[hc] (g_qsort_with_data):
	* glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri):
	* glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar, gint, gsize instead of char, int, size_t
	in the interface for consistency.  (#118567)
2003-07-29 18:59:23 +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
Abigail Brady
5c903d283b Use C99 style \uxxxx and \Uxxxxyyyy escapes instead for fallback instead
2003-06-25  Abigail Brady  <morwen@evilmagic.org>

 	* glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx
 	and \Uxxxxyyyy escapes instead for fallback instead of perl-style
 	\X{xxxx} ones, fixing bug #114284.
2003-06-25 18:03:38 +00:00
Matthias Clasen
306d5e2b6b Get rid of UNSAFE_DOS_PATH. (acceptable): Align with RFC2396. (#59653)
2003-03-30  Matthias Clasen  <maclas@gmx.de>

	* glib/gconvert.c (UnsafeCharacterSet): Get rid of
	UNSAFE_DOS_PATH.
	(acceptable): Align with RFC2396.  (#59653)

	* tests/uri-test.c: Adjust to the changes above.
2003-03-30 21:24:58 +00:00
Sebastian Wilhelmi
8e91cf9eb9 Fixes for #101264 and #99372:
2003-02-14  Sebastian Wilhelmi  <seppi@seppi.de>

	Fixes for #101264 and #99372:

	* glib/gconvert.h, glib/gmain.c, glib/gmem.c, glib/gmessages.c,
	glib/grand.c: Include gthreadinit.h and rename the thread
	initialization functions a bit and let them start with _, so that
	later we can stop exporting them.

	* glib/gmem.c, glib/gmessages.c: Move the g_private_new() calls to
	new functions. They have to be called after setting
	g_threads_got_initialized to TRUE (see #101264).

	* glib/gthread.c: Include gthreadinit.h. Renamed g_mutex_init() to
	g_thread_init_glib(). Call the thread initialization functions
	(which are not allowed to call g_private_new), then set
	g_threads_got_initialized to TRUE, then call the other thread
	initialization functions (which must not call anything but
	g_private_new()).

	* glib/gthreadinit.h: New private header to cleanly declare all
	thread initialization functions.

	* gthread/gthread-impl.c: Include gthreadinit.h. In
	g_thread_init() just call g_thread_init_glib(), which in turn calls the
	other functions (see #99372).

	* glib/Makefile.am: Added gthreadinit.h.
2003-02-14 15:08:46 +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
bc54ea6edf Include a printf implementation supporting C99 snprintf and SUS
positional parameters:  (#79488)

	* glib/gstrfuncs.c:
	* glib/gspawn-win32.c:
	* glib/gscanner.c:
	* glib/gconvert.c:
	* glib/gbacktrace.c: Use _g_printf wrappers.

	* glib/gutils.c (g_vsnprintf): Simplify, since we can assume C99
	snprintf semantics now.

	* glib/gmessages.c (printf_string_upper_bound): No longer needed,
	since we can assume C99 snprintf semantics now.
	(g_logv): Simplify.

	* acinclude.m4 (AC_FUNC_PRINTF_UNIX98): New macro to check wether
	printf supports SUS positional parameters.

	* configure.in: New option --enable-included-printf to force
	compilation of trio; otherwise trio is compiled if the system
	printf misses either C99 snprintf semantics of SUS positional
	parameters.

	* glib/Makefile.am (SUBDIRS): Conditionally compile trio.
	(libglib_2_0_la_SOURCES): Add gprintf.c and gprintfint.h.
	(glibsubinclude_HEADERS): Add gprintf.h.

	* glib/gprintfint.h: New private wrapping either system printf
	or trio printf variants in _g_printf wrappers for use inside glib.

	* glib/gprintf.h: New public header declaring g_printf variants.
	* glib/gprintf.c: Corresponding implementations.

	* glib/trio/*: New directory, containing the trio-1.9 sources.

	* glib/tmpl/string_utils.sgml: Add note on including gprintf.h,
	move some docs inline.

	* glib/glib-sections.txt: Add g_printf, g_vprintf, g_fprintf,
	g_vfprintf, g_sprintf, g_vsprintf.
2002-11-21 00:35:15 +00:00
Hidetoshi Tajima
ffe04247cc validate 'len' argument properly for the case that input string is not
* glib/gconvert.c (strdup_len): validate 'len' argument properly
	for the case that input string is not null-terminated. (#91222)
2002-08-20 23:03:17 +00:00
Owen Taylor
bedbbabba7 Handle the end of the string properly when max_len is set. (#88545, Morten
Thu Jul 25 19:52:41 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/guniprop.c (real_tolower): Handle the
        end of the string properly when max_len is set.
        (#88545, Morten Welinder.) Rename the next_t
        variable to next_type to make cc-mode happy.

        * glib/gconvert.c (g_iconv_open): Fix missing
        label from previous commit.
2002-07-25 23:58:00 +00:00
Owen Taylor
2658448f76 Document the (GIConv)-1 return value on failure. (#87559, Jarek Dukat)
Thu Jul 25 17:57:07 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gconvert.c (g_iconv_open): Document the
        (GIConv)-1 return value on failure. (#87559,
        Jarek Dukat)

        * glib/gconvert.c (g_iconv_open): Fix potential
        problems with the assumption that (GIConv)(iconv_t)-1
        is the same as (GIConv)-1.
2002-07-25 22:35:17 +00:00
Owen Taylor
36adc08bfd tests/patterntest.c (test_compilation) A couple of 64-bit printf format
Tue Jun 11 17:03:39 2002  Owen Taylor  <otaylor@redhat.com>

        * tests/patterntest.c (test_compilation)
        * glib/gmem.c (profiler_try_realloc): A couple
        of 64-bit printf format fix from George Lebl.

        * glib/gconvert.c (open_converter): Fix gsize/gint
        mixup for g_iconv() arguments.
2002-06-11 21:04:50 +00:00
Owen Taylor
8125388daa Try to work around segfaults on Solaris if NULL is passed for outbuf...
Wed Mar 20 18:20:21 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gconvert.c (open_converter): Try to work around segfaults
        on Solaris if NULL is passed for outbuf... supposedly gchar
        *outbuf = NULL... &outbuf works. (#74336, Lauri Alanko)
2002-03-20 23:24:22 +00:00
Erwann Chenede
738c1cfd6b glib/gconvert.c glib/gen-unicode-tables.pl fixed cast/type problems to
2002-03-13  Erwann Chenede  <erwann.chenede@sun.com>
  * glib/gconvert.c
  * glib/gen-unicode-tables.pl
  * glib/gunidecomp.h : fixed cast/type problems to
    avoid warnings (with forte compiler)
  * gobject/gclosure.c
  * gobject/gobject.c
  * gobject/gsignal.c: fixed cast problems with function pointer
    to avoid warnings (with forte compiler) (#73898)
2002-03-13 15:36:04 +00:00
Alexander Larsson
428704a0b6 Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and use
2002-03-12  Alexander Larsson  <alla@lysator.liu.se>

	* glib/gconvert.c:
	Cache getenv("G_BROKEN_FILENAMES") in have_broken_filenames() and
	use instead. Add g_convert_init() that calls have_broken_filenames()

	* gthread/gthread-impl.c:
	Have g_thread_init call g_convert_init.
2002-03-13 05:01:58 +00:00
Owen Taylor
cef5d28c89 Final updates for 2.0.0
Fri Mar  8 10:20:46 2002  Owen Taylor  <otaylor@redhat.com>

        * NEWS: Final updates for 2.0.0

        * glib/gstrfuncs.c: Convert the results of strerror()
        and strsignal() to UTF-8.

        * glib/gconvert.c glib/gdir.c glib/giochannel.c glib/giounix.c
        glib/giowin32.c: Use g_strerror(), not strerror().
2002-03-08 15:50:54 +00:00
Owen Taylor
7e620ee072 Check for iconv_* in -liconv as well as libiconv_* in -liconv since AIX
Mon Feb 25 23:01:53 2002  Owen Taylor  <otaylor@redhat.com>

        * configure.in acconfig.h config.h.win32.in
        glib/gconvert.c: Check for iconv_* in -liconv
        as well as libiconv_* in -liconv since AIX ships
        the system iconv in a separate library.
        Patch from Miroslaw Dobrzanski-Neumann (#72569)
2002-02-26 04:12:52 +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
4c9d538fc8 Make hostname parameter const char *. Added a new "ASCII must not be
* glib/gconvert.h: Make hostname parameter const char *.
	* glib/gconvert.c: (g_unescape_uri_string): Added a new
	"ASCII must not be escaped" feature, and some missing error
	checking.
	(is_escalphanum): New.
	(is_escalpha): New.
	(hostname_validate): New.
	(g_filename_from_uri): Don't allow hostnames to include
	escaped ASCII, validate hostnames with the new
	hostname_validate.
	(g_filename_to_uri): Validate hostnames with the new
	hostname_validate.

	* tests/uri-test.c: Updated tests to reflect the hostname
	validation changes above.

	* glib/gdate.c: (g_date_fill_parse_tokens): Remove the
	<ctype.h> include and do isdigit -> g_ascii_isdigit.
2002-02-08 19:57:35 +00:00
Jeffrey Stedfast
0751448ad7 Rewritten to cache iconv conversion descriptors. On at least some Unix
2002-01-21  Jeffrey Stedfast  <fejj@ximian.com>

	* glib/gconvert.c (open_converter): Rewritten to cache iconv
	conversion descriptors. On at least some Unix systems like
	Solaris, iconv_open() must dlopen the necessary charset modules in
	order to setup the descriptor. This can take a major toll on
	performace if you are constantly opening and closing conversion
	descriptors for the same charset conversions over and over.
	(g_convert_with_fallback): Use close_converter() rather than
	g_iconv_close() since open_converter() now caches iconv
	descriptors.
2002-01-29 18:25:45 +00:00
Tor Lillqvist
79d4ba9438 Not used on Windows, don't even compile it then.
2002-01-23  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c: (strdup_len): Not used on Windows, don't even
	compile it then.

	(acceptable): Improve comments for the _acceptable_ table: put
	each ASCII char above the hex number for it.

	(g_escape_file_uri): On Windows, turn backslashes in the file name
	into plain ("forward") slashes.

	(g_filename_from_uri): On Windows, don't return the hostname
	"localhost", because we can not be 100% sure it will be recognized
	in all cases anyway, so simpler to turn it into a null
	hostname.

	Change slashes in the filename into backslashes, as that is the
	more canonical separator.

	Recognize drive letters (either followed by a colon or a vertical
	bar, as used by some browsers), and if the filename part starts
	with a such, don't include any (back)slash.

	Don't drop any extra leading slash in the filename on Unix.

	(g_filename_to_uri): On Windows, if the hostname is "localhost",
	don't use it, for consistency with g_filename_from_uri().

	tests/uri-test.c: Change accordingly, so that all tests pass on
	Windows. Unix, too, I hope, though I couldn't check that now.

	(main): Unset the G_BROKEN_FILENAMES environment variable on Unix,
	as some tests require that filenames are in UTF-8. Is unsetenv()
	portable?

	These changes should fix bugs #59387, #59652, #59657 and #59658.
2002-01-23 00:05:30 +00:00