97 Commits

Author SHA1 Message Date
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
Jeffrey Stedfast
b23c1064bc If g_convert fails, set bytes_written to 0 and close the iconv descriptor
2002-01-21  Jeffrey Stedfast  <fejj@ximian.com>

	* glib/gconvert.c (g_convert_with_fallback): If g_convert fails,
	set bytes_written to 0 and close the iconv descriptor that was
	opened a few lines above. On a successful return, calculate
	bytes_written to be outp - dest instead of outp - str.
2002-01-21 20:53:18 +00:00
Owen Taylor
f317049727 SGML doc fix.
Wed Dec 19 23:09:07 2001  Owen Taylor  <otaylor@redhat.com>
        * glib/gconvert.c (g_iconv_open): SGML doc fix.
2001-12-20 04:49:44 +00:00
Matthias Clasen
a3d7806b6d Revert mistaken change: it is UNIX, not Unix.
* glib/tmpl/completion.sgml, glib/tmpl/date.sgml,
        glib/tmpl/fileutils.sgml, glib/tmpl/iochannels.sgml,
        glib/tmpl/macros.sgml, glib/tmpl/memory.sgml,
        glib/tmpl/misc_utils.sgml, glib/tmpl/warnings.sgml,
        glib/tmpl/windows.sgml: Revert mistaken change: it is UNIX, not Unix.

        * glib/tmpl/memory_chunks.sgml,
        glib/tmpl/date.sgml, glib/tmpl/threads.sgml,
        glib/tmpl/gtype.sgml: Trivial markup fixes.

        * glib/gconvert.c, glib/giochannel.c, glib/gmain.c,
        glib/gwin32.c: Revert mistaken change: it is UNIX, not Unix.
2001-12-13 22:24:18 +00:00
Matthias Clasen
3fa33317b7 Documentation fixes.
* glib/gconvert.c, glib/grand.c, glib/ghash.c,
        glib/gthreadpool.c, glib/gtree.c: Documentation fixes.

        * glib/tmpl/allocators.sgml, glib/tmpl/arrays.sgml,
        glib/tmpl/arrays_byte.sgml, glib/tmpl/arrays_pointer.sgml,
        glib/tmpl/caches.sgml, glib/tmpl/completion.sgml,
        glib/tmpl/conversions.sgml,
        glib/tmpl/datalist.sgml, glib/tmpl/date.sgml,
        glib/tmpl/error_reporting.sgml, glib/tmpl/fileutils.sgml,
        glib/tmpl/hash_tables.sgml,
        glib/tmpl/hooks.sgml, glib/tmpl/macros.sgml,
        glib/tmpl/macros_misc.sgml, glib/tmpl/main.sgml, glib/tmpl/markup.sgml,
        glib/tmpl/memory.sgml, glib/tmpl/memory_chunks.sgml,
        glib/tmpl/messages.sgml, glib/tmpl/misc_utils.sgml,
        glib/tmpl/modules.sgml, glib/tmpl/numerical.sgml,
        glib/tmpl/patterns.sgml, glib/tmpl/queue.sgml,
        glib/tmpl/shell.sgml, glib/tmpl/spawn.sgml,
        glib/tmpl/string_utils.sgml, glib/tmpl/thread_pools.sgml,
        glib/tmpl/threads.sgml, glib/tmpl/timers.sgml,
        glib/tmpl/trees-binary.sgml, glib/tmpl/trees-nary.sgml,
        glib/tmpl/type_conversion.sgml, glib/tmpl/unicode.sgml,
        glib/tmpl/warnings.sgml, glib/tmpl/windows.sgml:
        Improve markup of examples, general consistency improvements.
2001-12-12 20:32:07 +00:00
Hidetoshi Tajima
5641d7107e Fix a typo: to_codeset => from_codeset. (#58195, #55152)
* glib/gconvert.c (g_iconv_open):
	Fix a typo: to_codeset => from_codeset.
	(#58195, #55152)
2001-10-17 16:58:26 +00:00
Alex Larsson
5c75cc9617 Convert G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI and
2001-10-01  Alex Larsson  <alexl@redhat.com>

	* glib/gconvert.[ch]:
	Convert G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI and
	G_CONVERT_ERROR_INVALID_URI to G_CONVERT_ERROR_BAD_URI.

	* tests/uri-test.c:
	Update tests
2001-10-01 20:40:05 +00:00
Sven Neumann
7282810dd9 glib/gconvert.c glib/gspawn-win32.c some minor documentation fixes.
2001-10-01  Sven Neumann  <sven@gimp.org>

	* glib/gconvert.c
	* glib/gspawn-win32.c
	* glib/gspawn.c: some minor documentation fixes.
2001-10-01 17:35:18 +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
545a6a7616 glib/gconvert.c (g_filename_from_uri): Replace `is contains'
by `contains' in two error messages. (#60395)
2001-09-14 19:29:35 +00:00
Darin Adler
ee2712c487 Updated name of error from G_CONVERT_ERROR_NOT_LOCAL_FILE to
* glib/gconvert.h:
	* glib/gconvert.c: (g_filename_from_uri):
	Updated name of error from G_CONVERT_ERROR_NOT_LOCAL_FILE to
	G_CONVERT_ERROR_NOT_ABSOLUTE_FILE_URI.

	* tests/.cvsignore:
	* tests/uri-test.c:
	Added a lot more test for the new URI functions, including a
	number that seem to indicate some minor bugs.
2001-08-27 18:01:08 +00:00
Alex Larsson
4e11203c54 New functions to convert between local pahtnames and file: uris.
2001-08-26  Alex Larsson  <alexl@redhat.com>

	* glib/gconvert.[ch] (g_filename_from_uri,
	g_filename_to_uri): New functions to convert
	between local pahtnames and file: uris.

	* tests/Makefile.am:
	* tests/uri-test.c:
	Tests for the new functions.
2001-08-26 21:39:47 +00:00
Alexander Larsson
1424212c3f New function, doing the same as g_convert but taking a GIConv argument.
2001-08-24  Alexander Larsson  <alla@lysator.liu.se>

	* glib/gconvert.[ch] (g_convert_with_iconv):
	New function, doing the same as g_convert but taking
	a GIConv argument. The old g_convert is just
	a call to this with a newly opened GIConv.
2001-08-25 03:22:16 +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
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
Tor Lillqvist
5c00c34972 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.

	* 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.
2001-03-09 21:18:33 +00:00
Havoc Pennington
a8786011f3 don't overwrite errors
2001-02-09  Havoc Pennington  <hp@redhat.com>

	* gconvert.c (g_convert): don't overwrite errors

	* gerror.c (g_set_error): improve warning message if an error is
	overwritten
	(g_propagate_error): ditto
2001-02-13 18:20:13 +00:00
Kjartan Maraas
59ce63340a Fix typo. Same here.
2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>

	* gconvert.c: Fix typo.
	* gfileutils.c: Same here.
2001-01-19 08:32: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
Tor Lillqvist
deb68e1592 Get len using strlen() if arg is negative in the Win32 code, too.
2001-01-06  Tor Lillqvist  <tml@iki.fi>

	* gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
	strlen() if arg is negative in the Win32 code, too.

	* giowin32.c: Changes necessary to be able to run
	mainloop-test. We can't close the fd that our (internal) reader
	thread is sitting doing a blocking read() from. We must terminate
	the thread first. Keep track of thread handle, and close it when
	thread is dying. Start reader thread with the lower-level
	CreateThread() instead of _beginthreadex() from the C runtime, in
	order to be able to use TerminateThread(). Hopefuly this isn't
	harmful.

	* glib.def: Update.

	* tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
	unicode-encoding.

	* tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
	on Win32.

	* tests/unicode-encoding.c (process): Add missing "line" argument
	to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
	converts to UTF-16BE if we ask for unspecific UTF-16.
	(main) Handle also '\r'.
2001-01-06 03:09:46 +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
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
Tor Lillqvist
50c62ba8a9 Add USE_LIBICONV.
2000-11-13  Tor Lillqvist  <tml@iki.fi>

	* config.h.win32.in: Add USE_LIBICONV.

	* gconvert.c: Check G_OS_WIN32 only after including glib.h.

	* glib.def: Update.
2000-11-13 18:03:57 +00:00
Owen Taylor
292152dae2 Create wrapper functions for iconv() so that we can transparently use the
Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gconvert.[ch]: Create wrapper functions for iconv()
	so that we can transparently use the native iconv,
	libiconv, or (in the future) a mini-iconv included
	with glib.

	* glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@

	* INSTALL: Added note about libiconv.

	* configure.in: Add checks for libiconv from pango. If
	EILSEQ is not defined in errno.h add define for it into
	glibconfig.h so g_iconv can use it. (Note, recompiling
	from a system without EILSEQ to a system with EILSEQ
	will break binary compatibility)
2000-11-12 23:44:28 +00:00
Robert Brady
8bda01029f Remove g_filename_{to,from}_utf8
2000-11-12  Robert Brady  <robert@suse.co.uk>

	* gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8

	* gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
	g_locale_{to.from}_utf8.  The locale_ variant honours
	nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
	asked otherwise.

	(g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
	!= length and no bytesread pointer passed.
2000-11-12 21:23:55 +00:00
Owen Taylor
1bfc515a37 Change ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h convert.c (g_convert_with_fallback): Change
	ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().

	* docs/reference/glib/glib-sections.txt
	docs/reference/glib/glib-docs.sgml Update for g_convert,
	g_unicode_validate.
2000-10-19 15:21:04 +00:00
Havoc Pennington
349eaa6a25 fix indentation (GConvertError): generic error is conventionally called
2000-09-28  Havoc Pennington  <hp@pobox.com>

* glib.h (GThreadPriority): fix indentation
(GConvertError): generic error is conventionally called
_FAILED rather than _OTHER, at least at the moment,
according to GError docs in docs/reference.

* gconvert.c: s/_OTHER/_FAILED/
2000-09-29 02:56:43 +00:00
Elliot Lee
86ce799cdf Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com> Define g_alloca() as an
Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
	* glib.h configure.in: Define g_alloca() as an alloca-that-works-anywhere.
	* gconvert.c: Fix warnings which could have caused problems on 64-bit platforms.
2000-09-17 22:18:48 +00:00
Owen Taylor
a212f93df2 Havoc Pennington's implementation of convenient character set conversion
Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h gconvert.c (g_convert): Havoc Pennington's implementation
	of convenient character set conversion using iconv, with
	the addition of GError. We probably need a fallback that
	just does conversions between, say UTF-8,16,32 and ISO-8859-1
	for targets without iconv at all.

	Also add g_convert_with_fallback() to take care of conversions
	where we accept some loss going to the target encoding.
2000-09-11 03:03:18 +00:00