Commit Graph

189 Commits

Author SHA1 Message Date
Alex Larsson
3c39c8fcd0 Add g_strtod & co.
2001-10-24  Alex Larsson  <alexl@redhat.com>

	* docs/reference/glib/glib-sections.txt:
	Add g_strtod & co.

	* docs/reference/glib/tmpl/string_utils.sgml:
	Add docs for G_ASCII_DTOSTR_BUF_SIZE.

	* glib/gstrfuncs.[ch]:
	Added g_ascii_strtod, g_ascii_dtostr and g_ascii_formatd.

	* tests/Makefile.am:
	* tests/strtod-test.c:
	Add tests for g_ascii_strtod & co.
2001-10-24 18:00:11 +00:00
Tim Janik
92dfa96114 make struct _GPatternSpec and GMatchType private. (g_pattern_equal): new
Fri Oct 12 18:24:02 2001  Tim Janik  <timj@gtk.org>

        * glib/gpattern.[hc]: make struct _GPatternSpec and GMatchType
        private.
        (g_pattern_equal): new function to return equality of two patterns
        (required because GPatternSpec is private now).
        (g_pattern_spec_new): fix bug wrg wildcard counting which produced
        incorrect pattern specs (discovered by Matthias Clasen).
        optimized code so we just keep one compiled pattern string now.
        correctly canonicalize patterns. reduce string walks, optimize
        decision about MATCH_ALL vs. MATCH_ALL_TAIL.
        (g_pattern_match_string): call just g_pattern_match() with NULL
        reversed string.
        (g_pattern_match): allow NULL reversed strings now, reverse_dup
        strings on demand.

        * tests/patterntest.c (test_compilation): added an extended testcase
        for pattern matching from Matthias Clasen <matthiasc@poet.de>.

Sat Oct 13 06:58:23 2001  Tim Janik  <timj@gtk.org>

        * glib/tmpl/patterns.sgml: amended documentation.
2001-10-13 05:54:10 +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
George Lebl
46aae08e8d cast the string size to gulong and use %lu for printing to avoid 64bit
Sat Sep 29 02:33:14 2001  George Lebl <jirka@5z.com>

	* tests/testglib.c (main): cast the string size to gulong and use %lu
	  for printing to avoid 64bit issues

	* glib/gstrfuncs.[ch] (g_ascii_strncasecmp): Change the 'n' argument
	  to gsize instead guint.
2001-09-29 09:42:20 +00:00
Manish Singh
a002781b6d fix typo (#if->#ifdef) so it compiles again.
*  glib/grand.c (g_rand_new): fix typo (#if->#ifdef) so it compiles again.

-Yosh
2001-09-27 22:22:02 +00:00
Tor Lillqvist
18190575f8 Retract my change earlier today. Don't preset autoconf variables in a try
2001-09-26  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Retract my change earlier today. Don't preset
	autoconf variables in a try to match both mingw and MSVC. Instead,
	he who packages a prebuilt GLib developer distribution for Win32
	runs configure twice: once for mingw, once for MSVC, and then uses
	diff -D on the glibconfig.h files to generate a suitably ifdeffed
	glibconfig.h for distribution that suits both compilers. (Ditto
	for config.h, although that file wouldn't be distributed in a
	developer package, but in a source package for Win32 users who
	want to build GLib but can't use configure.)

	* glibconfig.h.win32.in
	* config.h.win32.in: Generated by using diff -D as described above.

	* tests/makefile.mingw.in (.c.exe): Correct name of gthread (import)
	library.

gthread:
2001-09-26  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Fix couple of typos.

	* gthread.def: Add g_thread_init_with_errorcheck_mutexes.
2001-09-26 20:35:51 +00:00
Tor Lillqvist
1c8de25a5e More Win32 automake macros. For .def files: GLIB_DEF, GMODULE_DEF,
2001-09-25  Tor Lillqvist  <tml@iki.fi>

	* configure.in: More Win32 automake macros. For .def files:
	GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
	files: TESTGMODULE_EXP (for programs that need to export symbols,
	just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
	test whether the Microsoft librarian ("ar") is available to build
	MS import libraries.

	* glib/Makefile.am
	* gmodule/Makefile.am: Use above. New rule to build MS import
	library.

	* glib/makefile.msc.in
	* tests/makefile.msc.in
	* tests/makefile.mingw.in: Use same DLL and import library names as
	libtool.

gmodule:
2001-09-25  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.

	* makefile.msc.in: Use same DLL and import library names as
	libtool.

gobject:
2001-09-25  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use new macros for .def file, and check for
	MS_LIB_AVAILABLE, new rule to build MS import library.

	* makefile.msc.in: Use same DLL and import library names as
	libtool.

gthread:
2001-09-25  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am: Use new macros for .def file, and check for
	MS_LIB_AVAILABLE, new rule to build MS import library.

	* makefile.msc.in: Use same DLL and import library names as
	libtool.
2001-09-25 06:03:23 +00:00
Tor Lillqvist
58f3fdd748 Accept also forward slashes. (But still don't accept them in the other
2001-09-20  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.c (g_path_is_absolute): (Win32:) Accept also forward
	slashes. (But still don't accept them in the other functions
	here. This is a thorny issue. Windows in fact does treat / like \
	on input (at least as local directory separators, dunno about
	server/share separators). But GLib only has the one
	G_DIR_SEPARATOR value, that apps should scan for, and use when
	building pathnames. To properly fix this would require totally
	abstracting pathnames, and don't having any path name scanning and
	building in applications at all. Fat chance.)
	(GLIB_LOCALE_DIR): Redefine only on "pure" Win32, not Cygwin. Use
	subdirectory "share\locale", as on Unix.

	* glib/gwin32.c: Don't need to define those langiage and
	sublanguage constants here, current mingw (w32api) headers have
	them.

	* glib/glib.def: Add a few missing entry points.

	* tests/testglib.c (main): Use same name for DLL as libtool does.
	Use G_DIR_SEPARATOR in g_path_get_basename tests.
2001-09-20 05:41:52 +00:00
Tim Janik
71075ee0db add simple test for g_path_get_basename().
Tue Sep 18 18:19:33 2001  Tim Janik  <timj@gtk.org>

        * tests/testglib.c: add simple test for g_path_get_basename().

        * glib/gfileutils.c (g_file_open_tmp):
        * glib/gstrfuncs.c (g_strerror): scratch erroneous usages
        of "illegal".
2001-09-18 16:33:20 +00:00
Darin Adler
44b8df4370 Change so that it works on platforms where isalpha is a macro only,
* tests/strfunc-test.c: (main): Change so that it works
	on platforms where isalpha is a macro only, without the
	corresponding function that the C standard requires.
	Also eliminate the multiple lists of ctype functions.

	* tests/.cvsignore: Ignore the new test.
2001-09-17 15:27:04 +00:00
Owen Taylor
9393fc899e Add g_build_path(), g_build_filename(), to create separated paths,
Sat Sep  8 17:14:51 2001  Owen Taylor  <otaylor@redhat.com>

        * glib/gfileutils.[ch]: Add g_build_path(),
        g_build_filename(), to create separated paths,
        suppressing duplicate separators, from varargs
        lists.

        * tests/strfunc-test.c: Add tests for g_build_path(),
        g_build_filename().
2001-09-10 13:30:41 +00:00
Tor Lillqvist
07741c07d8 Update. Don't mention pthreads.
2001-09-04  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Update. Don't mention pthreads.

	* build-dll: Remove, moved to the build module.

	* glibconfig.h.win32.in: Don't mention pthreds here, either.

	* glib/gstrfuncs.c: Mark the correct variable for export from DLL.

	* glib/giowin32.c (g_io_win32_msg_create_watch): Owen forgot to
	rename the win32_watch_funcs variable here, too.

	* */makefile.mingw.in: Don't use version number in import library
	name. Use whole version number in DLL name. Use build-dll from the
	build module.
2001-09-04 05:09:35 +00:00
Owen Taylor
0038581ed4 Implement.
Mon Aug 27 14:55:27 2001  Owen Taylor  <otaylor@redhat.com>

	* gsourceclosure.[ch] (g_source_set_closure): Implement.

	* gsourceclosure.[ch]: Add GType's for GIOChannel, GIOCondition.

Mon Aug 27 14:56:12 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gmain.h: Add closure_marshal/closure_callback
	fields to GSourceFuncs for use by g_source_set_closure().

	* glib/gmain.c glib/giounix.c glib/giowin32.c
	  glib/gmain.h: Export the SourceFuncs vtables so GObject
	can use them to figure out closure callbacks/marshallers
	for the default source types.
2001-09-03 22:13:16 +00:00
Tor Lillqvist
74b4d8c22e After being away for about five months, I'm back working on this... For
2001-08-30  Tor Lillqvist  <tml@iki.fi>

	After being away for about five months, I'm back working on
	this...  For now, still using same build setup for Win32. Probably
	will change to not including version numbers in the import library
	names, though. (But the DLL names would still include them,
	possibly even also the micro version number.) That would be more
	Unix-like. Also, will have to check out newest mingw tool versions
	to see if the build-dll script now can be retired.

	* makefile.mingw
	* makefile.msc: New files, no need to generate from .in as
	they don't contain references to automake variables.

	* makefile.mingw.in
	* makefile.msc.in: Removed.

	* glib.rc.in: Remove
	* glib/glib.rc.in: Moved here.

	* Makefile.am
	* glib/Makefile.am: Corresponding changes.

	* glib/glib.def: Fix typo, add new entries.

	* glib/gspawn-win32-helper.c: More debugging. Doesn't work
	currently (or then it never has on Win2k, which I now use?)

	* glib/gstrfuncs.c
	* glib/gstrfuncs.h: Mark g_ascii_table for export/import on Win32.

	* */makefile.mingw.in: Reflect new location of glib library.
2001-08-30 05:09:11 +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
a7a76cfac7 Implement and document g_ascii_isxxx.
2001-08-25  Alexander Larsson  <alla@lysator.liu.se>

	* glib/gstrfuncs.[ch]:
	* docs/reference/glib/glib-overrides.txt:
	* docs/reference/glib/glib-sections.txt:
	* docs/reference/glib/tmpl/string_utils.sgml:
	Implement and document g_ascii_isxxx.

	* tests/strfunc-test.c:
	Add tests for g_ascii_isxxx

	* glib/guniprop.c (g_unichar_ispunct):
	include symbols, not just punctuation.
	(g_unichar_isspace): Vertical tab is not
	considered whitespace.

	* tests/shell-test.c:
	Output errors on stderr
2001-08-25 22:29:40 +00:00
Darin Adler
ed49b882bd Fix bad indenting. I figured I should fix this since I just pointed Alex
* tests/shell-test.c: (check_string_result): Fix bad indenting.
	I figured I should fix this since I just pointed Alex here to
	look at this as an example.
2001-08-24 20:50:56 +00:00
Owen Taylor
78f3f18c46 Patch from Darin Adler to restore Glib-1.2 handling of empty strings, and
Fri Aug 24 11:15:46 2001  Owen Taylor  <otaylor@redhat.com>

        * glib/gstrfuncs.c docs/Changes-2.0.txt: Patch from Darin
        Adler to restore Glib-1.2 handling of empty strings,
        and to fix off-by-one with @max_tokens. (#57663).
        Doc improvements.

        * tests/strfunc-test.c: Change tests to correspond to
        new behavior of g_strsplit().
2001-08-24 15:27:23 +00:00
Darin Adler
6d4342990a Added missing \ character.
* glib/gshell.c: (g_shell_quote): Added missing \ character.

        * tests/shell-test.c: (check_string_result), (test_shell_unquote),
        (main): Added tests for g_shell_quote and g_shell_unquote.
2001-08-19 17:28:07 +00:00
Owen Taylor
dff516edc8 Find test case for srcdir != builddir, miscellaneous cleanups.
Sun Aug 12 10:09:00 2001  Owen Taylor  <otaylor@redhat.com>

        * tests/iochannel-test.c (main): Find test case for
        srcdir != builddir, miscellaneous cleanups.

        * tests/Makefile.am (EXTRA_DIST): Distribute casefold.txt,
        casemap.txt iochannel-test-infile.

        * glib-2.0-uninstalled.pc.in: Fix for move of glib files
        into subdir. (Pointed out by Steve Baker)
2001-08-12 14:12:02 +00:00
Ron Steinke
1ff027aa2d Modified Files: glib/ChangeLog glib/glib/giochannel.c
Modified Files:
	glib/ChangeLog glib/glib/giochannel.c
	glib/tests/iochannel-test.c

        * glib/giochannel.c: Fixed g_io_channel_seek_position()
        so that G_SEEK_CUR can be used with UTF-8 encoding

        * glib/giochannel.c: Changed test to decide whether
        use_buf is encoded_read_buf or read_buf from
        "if (channel->do_encode)" to "if (channel->encoding)" to
        fix bug 58472

        * tests/iochannel-test.c: Fixed so it doesn't output
        double newlines

        * glib/giochannel.c: Fixed g_io_channel_fill_buffer()
        so that encoded_read_buf is created for UTF-8 encoding
2001-08-03 20:42:06 +00:00
Darin Adler
44e7362702 Re-checkin. 2001-08-03 19:27:35 +00:00
Darin Adler
669974f6d7 Improve strfunc test to test the split function in a way that demonstrates
* tests/.cvsignore:
	* tests/strfunc-test.c: (strv_check), (main):
	Improve strfunc test to test the split function in a way that
	demonstrates its idiosyncrasies.
2001-08-03 19:25:53 +00:00
Ron Steinke
ee998b3538 Modified Files: glib/docs/reference/glib/glib-sections.txt
Modified Files:
 	glib/docs/reference/glib/glib-sections.txt
 	glib/tests/iochannel-test.c glib/ChangeLog

        * glib/giochannel.c docs/reference/glib/glib-sections.txt
        tests/iochannel-test.c: removed G_IO_CHANNEL_*_LINE_TERM macros

        * glib/giochannel.c put /*<public>*/ and /*<private>*/ tags in
        the GIOChannel structure
2001-07-30 22:54:08 +00:00
Hans Breuer
35923250d4 intial implementation of new API functions. Not sure if it behaves as
2001-07-21  Hans Breuer  <hans@breuer.org>

	* glib/giowin32.c : intial implementation of new API functions.
	Not sure if it behaves as intended ...

	* glib.def : removed, glib/glib.def is the file used since moved
	* glib/glib.def : updated

	* tests/makefile.msc : added iochannel-test
2001-07-21 13:15:58 +00:00
Ron Steinke
e070fdea39 Modified Files: glib/ChangeLog glib/glib.def glib/glib/giochannel.c
Modified Files:
 	glib/ChangeLog glib/glib.def glib/glib/giochannel.c
 	glib/glib/giochannel.h glib/glib/giounix.c
 	glib/glib/giowin32.c
 	glib/docs/reference/glib/glib-sections.txt
 	glib/tests/iochannel-test.c glib/tests/unicode-collate.c
 	glib/tests/unicode-normalize.c
     Added Files:
 	glib/tests/iochannel-test-infile

        * glib/giochannel.c: API changes, fixes to
        error handling, some internal restructuring
        * glib/giochannel.h: API changes, documentation for
        elements in GIOChannel structure
        * glib/giounix.c: Matched API changes, implemented
        backend to set is_readable, is_writeable, is_seekable
        flags, added a test to catch large values of count
        for which the behavior of write() is undefined
        * glib/giowin32.c: Changed to match new prototypes for
        io_close() and io_seek(), removed references to
        G_IO_STATUS_INTR, set is_seekable flag in channel
        creation functions
        * glib.def: Renamed g_channel_error_quark() and
        g_channel_error_from_errno() to g_io_channel_error_quark() and
        g_io_channel_error_from_errno(); added new functions
        g_io_channel_get_buffered() and g_io_channel_set_buffered()
        * docs/reference/glib/glib-sections.txt: Modified iochannel
        section to reflect new functions and API changes
        * tests/iochannel-test.c: Fixed to work with API changes
        * tests/iochannel-test-infile: New file; input file
        for iochannel-test
        * tests/unicode-collate.c tests/unicode-normalize.c:
        Changed G_IO_FILE_MODE_READ to "r" to match API change
2001-07-20 20:14:37 +00:00
Hans Breuer
847d8e9212 make it compile again
2001-07-20  Hans Breuer  <hans@breuer.org>

	* glib/glib/giowin32.c : make it compile again

	* glib/glib.def : updated exports

	* glib/makefile.msc.in :
	* glib/makefile.mingw.in :
	* tests/makefile.msc.in : reflect glib move

	* tests/mainloop-test.c : #include <io.h> for _pipe()

	* tests/gio-test.c : casts for strict compiler settings

	* makefile.msc.in : new master makefile reflecting the glib
	move. The '.in' isn't really needed anymore, because there
	is no version number in it
2001-07-20 17:13:52 +00:00
Darin Adler
3fa620d4df Add missing const. (g_strsplit): Add g_return_val_if_fail for case of
* glib/gstrfuncs.c: (g_ascii_strdown), (g_ascii_strup): Add
	missing const.
	(g_strsplit): Add g_return_val_if_fail for case of empty
	delimiter, which can result in an infinite loop otherwise.
	* glib/gstrfuncs.h: Add missing const.
	* tests/.cvsignore: Ignore a generated file.

	* tests/array-test.c:
	* tests/dirname-test.c:
	* tests/hash-test.c:
	* tests/list-test.c:
	* tests/node-test.c:
	* tests/relation-test.c:
	* tests/shell-test.c:
	* tests/slist-test.c:
	* tests/spawn-test.c:
	* tests/strfunc-test.c:
	* tests/string-test.c:
	* tests/testglib.c:
	* tests/tree-test.c:
	* tests/type-test.c:
	Add an #undef G_DISABLE_ASSERT so all tests will assert even if
	asserts are disabled inside glib itself.
2001-07-19 20:07:41 +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
Darin Adler
624a3c9689 Add some generated files.
* .cvsignore: Add some generated files.

        * glib/gmain.c: (g_main_context_iterate): Comment out cruft
        after #endif to avoid gcc warning.
        * gmodule/gmodule.c: (g_module_set_error_unduped): Remove
        const from type to avoid gcc warning.
        * gobject/gsignal.c: (g_signal_emitv): ifdef variable used
        only if G_ENABLE_DEBUG to avoid gcc warning.
        * gobject/gtype.c: (type_iface_vtable_init_Wm),
        (type_iface_vtable_finalize_Wm): ifdef call needed only
        if !G_DISABLE_ASSERT to avoid gcc warning.
        * tests/testglib.c: (main): ifdef call needed only if
        !G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
        should make the test to #undef G_DISABLE_ASSERT.
        * tests/unicode-collate.c: Add include of <string.h> to
        avoid gcc warning.
2001-07-11 20:08:50 +00:00
Martin Baulig
39caf76a7f Reflect latest g_io_channel_new_file() API changes, use
2001-07-08  Martin Baulig  <baulig@suse.de>

	* tests/unicode-normalize.c, tests/unicode-collate.c:
	Reflect latest g_io_channel_new_file() API changes, use
	G_IO_FILE_MODE_READ instead of "r".
2001-07-08 13:01:19 +00:00
Owen Taylor
f1f680b68c Add length arguments to g_utf8_{strup,strdown,casefold,collate_key}.
Fri Jul  6 22:34:32 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gunicode.h glib/gunidecomp.c glib/guniprop.c
	  glib/gunicollate.c: Add length arguments to
	g_utf8_{strup,strdown,casefold,collate_key}.

	* glib/gdate.c: Fix for above.
2001-07-07 02:42:49 +00:00
Owen Taylor
7d676fb206 Fix.
Mon Jul  2 16:03:21 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/giochannel.c (g_io_channel_get_buffer_condition): Fix.

	* glib/giunix.c: Fix prepare/check/dispatch for watches.

	* tests/unicode-normalize.c: #include <string.h>
2001-07-02 20:26:38 +00:00
Owen Taylor
4f96a13cba Use G_N_ELEMENTS rather than a custom macro.
Sun Jul  1 20:16:25 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
	rather than a custom macro.

	* glib/gen-unicode-tables.pl: Adapt to changes in table
	formats for Unicode 3.1

	* glib/gunicode.h glib/guniprop.c glib/gunichartables.h
	  glib/gen-unicode-tables.pl: Add case conversion functions
        g_utf8_casefold, g_utf8_strup, g_utf8_strdown.

	* tests/unicode-caseconv.c tests/gen-casefold-txt.pl
	  tests/gen-casemap-txt.pl tests/casefold.txt
	  tests/casemap.txt: Test cases for case conversion.

	* glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
	  glib/gen-unicode-tables.pl: Add function to do Unicode
        normalization g_utf8_normalize().

	* tests/unicode-normalize.c: Test program for case conversion.

	* glib/gunicode.h glib/gunicollate.c: Add collation functions
	g_utf8_collate, g_utf8_collate_key.

	* test/unicode-collate.c: Test program for collation.

	* glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
	variable.

	* glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
	Make work with UTF-8 even if the locale isn't UTF-8 based.
	Still somewhat of broken, if the format string contains
	characters not representable in the current locale, will warn
	and not work.

	* glib/gdate.c: Use UTF-8 normalization and casefolding.
2001-07-02 00:49:21 +00:00
Owen Taylor
8951f96c50 Make some changes to the way that GMainContext works:
Sat Jun 30 15:49:10 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
	Make some changes to the way that GMainContext works:

	 - a GMainContext is no longer associated with a single
	   thread, but any thread can acquire ownership
	   of thread and iterate.

	 - There is a facility g_main_context_wait() for
	   non-owner-threads to wait either for ownership
	   or for a condition to be broadcast.

	 - For efficiency, GMainLoop just piggybacks of
	   of the loops mutex / condition instead of
	   having a separate mutex/condition for each
	   GMainLoop.

	* glib/gthread.[ch]: Remove hacks to store the thread's
	GMainContext in the GThread structures, since we
	no longer have the GMainContext <=> GThread correspondence.

        * glib/gmain.[ch]: Make g_main_context_wakeup() public
	so someone could completely duplicate GMainLoop
	with the public API.

	* tests/mainloop-test: Fix up to the new API. Decidedly
	doesn't work at the moment, but that may be the IO
	channel changes, or preexisting locking problems.
2001-06-30 19:56:47 +00:00
Owen Taylor
55688d6cc6 Patch from Darin Adler (#54166)
Sat Jun 30 12:49:26 2001  Owen Taylor  <otaylor@redhat.com>

        Patch from Darin Adler (#54166)

	* glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
	g_ascii_to[lower/upper], g_ascii_str[down/up],
	g_ascii_is[upper/lower] and deprecate the locale-affected
	versions which break for UTF-8, etc. Make
	g_ascii_strup/strdown duplicating,
	not in-place for consistency with UTF-8 functions.

	* glib/gstring.[ch]: Add ascii-only, locale-insensitive
	g_string_ascii_[down/up], and deprecate the locale-affected
	versions which break for UTF-8, etc.

	* glib/gutils.c glib/gwin32.c test/testglib.c: Use
	the g_ascii_* functions where appropriate.
2001-06-30 16:54:33 +00:00
Owen Taylor
42a23950f5 Jun 29 13:36:39 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstring.[ch] (g_string_set_size): Add function to
        allow setting the length of a string greater than the
        current length (for buffering usage)

        * glib/gstring.[ch]: Expose string->allocated_len, since
        that is useful when using GString simply as a buffer.
        (Renamed from string->alloc)

        * glib/giochannel.[ch] glib/giounix.c glib/giowin32.c:
        Major patch from Hidetoshi Tajima and Ron Steinke
        reworking GIOChannel to have:

         - Buffering
         - Sane and useful error reporting
         - Streaming encoding conversion with iconv
         - Convenience functions to read by lines or
           an entire file.

        Also fix remaining 64 bit cleanliness issues.

        * tests/iochannel-test.c tests/Makefile.am: Test case
        for IO channel streaming conversion. Still needs
        some fixing up.
2001-06-30 15:22:13 +00:00
Owen Taylor
2fd6b001fb Move glib library into a subdirectory, make all GLib include files include
Tue Jun 26 11:43:46 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
	Move glib library into a subdirectory, make all GLib include
	files include as <glib/glist.h>

	* tests/testglib.c tests/testgdate.c tests/testgdateparser.c
	  tests/timeloop.c tests/timeloop-basic.c: Move all tests into
	the tests/ subdirectory.
2001-06-26 16:01:21 +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
Sebastian Wilhelmi
08e47ea9f4 Fix to stupid bug in g_random_boolean, also both functions now return 1 or
2001-05-31  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in
	g_random_boolean, also both functions now return 1 or 0 instead of
	1<<15 or 0.
2001-05-31 08:12:35 +00:00
Sebastian Wilhelmi
b8ece629f1 Add test case for the g_qsort_with_data func. It works. This fixes bug
2001-05-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* tests/Makefile.am, tests/qsort-test.c: Add test case for the
	g_qsort_with_data func. It works. This fixes bug #52605.
2001-05-29 14:55:39 +00:00
Sebastian Wilhelmi
68e002beed Now that we check for a C++ compiler in configure.in anyway, I added a
2001-05-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* tests/Makefile.am, tests/cxx-test.C: Now that we check for a C++
	compiler in configure.in anyway, I added a test, that the GLib
	headers can be inclued into a C++ program. This fixes bug #52605.
2001-05-29 14:17:23 +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
Sebastian Wilhelmi
227d18bc46 Renamed g_thread_create to g_thread_create_full and added macro
2001-05-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c, gthread.h: Renamed g_thread_create to
	g_thread_create_full and added macro g_thread_create, which omits
	'stack_size', 'bound' and 'priority' parameters. Also removed
	'bound' from GThread struct.

	* gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above
	changes. GThreadPool lost the 'priority' and 'bound'
	members. g_thread_pool_new the 'stack_size', 'bound' and
	'priority' parameters.

	* tests/mainloop-test.c, tests/thread-test.c,
	tests/threadpool-test.c: Adapted to the above changes.
2001-05-18 08:44:57 +00:00
Sebastian Wilhelmi
cd00d6e2cc Moved func and arg members from GRealThread to GThread, such that they can
2001-05-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmain.c, gthread.c, gthread.h: Moved func and arg members from
	GRealThread to GThread, such that they can be accessed by the
	user.

	* gthread.c, gthread.h: Due to popular demand (Tim being the
	populus here ;-) threads now have a 'return value', which is
	returned by g_thread_join and is either the return of the topmost
	thread function or the value given to g_thread_exit.

	* gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
	Adapted to the above change.
2001-05-08 08:23:18 +00:00
Dan Winship
655d467602 Add a check for the Darwin dynamic linker. Use AC_TRY_LINK when checking
* configure.in: Add a check for the Darwin dynamic linker. Use
        AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
        "no getpwuid_r" correctly.

        * testglib.c (main): Make template[] bigger to prevent an overrun.
        Remove an unused variable. Initialize error to NULL.

        * tests/gio-test.c (main): Add a cast to prevent a warning when
        size_t is a long.

        * tests/type-test.c (main): Add an #ifdef to prevent a warning
        when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
2001-04-20 17:08:57 +00:00
Owen Taylor
c530e1e1dd Define _GNU_SOURCE for stpcpy
Tue Apr 17 10:43:36 2001  Owen Taylor  <otaylor@redhat.com>

	* gstrfuncs.c: Define _GNU_SOURCE for stpcpy

	* tests/mainloop-test.c (main): Wait for all threads
	to start before beginning tests.
2001-04-17 14:48:11 +00:00
Owen Taylor
c13277dc75 Exit with an error message that you should use pkg-config instead.
Tue Apr  3 12:38:16 2001  Owen Taylor  <otaylor@redhat.com>

	* glib-config-2.0.in: Exit with an error message that you
	should use pkg-config instead.

	* configure.in (PACKAGE): Require pkg-config.

	* tests/Makefile.am (EXTRA_DIST): Add utf8.txt.

	* configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
	leave interface/binary at 0.
2001-04-03 18:27:59 +00:00