Commit Graph

255 Commits

Author SHA1 Message Date
Matthias Clasen
78adb5c69a Don't modify errno. (#116617, Balazs Scheidler)
Fri Feb 27 00:46:29 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gstrfuncs.c (g_strerror): Don't modify errno.  (#116617,
	Balazs Scheidler)
2004-02-26 23:43:45 +00:00
Matthias Clasen
326c025205 New function, a cross between g_strsplit() and strtok(). (#88329, Soeren
Wed Jan 28 01:39:21 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gstrfuncs.h:
	* glib/gstrfuncs.c (g_strsplit_set): New function, a cross
	between g_strsplit() and strtok().  (#88329, Soeren Sandmann)

	* tests/strfunc-test.c (main): Add g_strsplit_set() tests.
2004-01-28 00:37:46 +00:00
Tim Janik
5d49a7caf7 handle NULL arguments gracefully.
Thu Nov 27 17:04:08 2003  Tim Janik  <timj@gtk.org>

        * glib/gstrfuncs.c (g_strconcat): handle NULL arguments
        gracefully.

        * glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
        current function (since G_STRLOC and G_GNUC_*FUNCTION became
        unusable with gcc-3.0).
2003-11-27 17:08:58 +00:00
Roozbeh Pournader
6e3b71aec3 Fixed a bad pointer comparison in g_ascii_strtod that came up in fa_IR
Wed Nov 26 16:45:16 2003  Roozbeh Pournader  <roozbeh@sharif.edu>

        * glib/gstrfuncs.c: Fixed a bad pointer comparison in
        g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
        Esfahbod).

        * tests/strtod-test.c: Fixed the tests to catch the above.
2003-11-26 13:22:42 +00:00
Matthias Clasen
2807b4e6eb New headers defining common gettext-support macros.
Wed Nov  5 22:05:19 2003  Matthias Clasen  <maclas@gmx.de>

	* glib/gi18n-lib.h:
	* glib/gi18n.h: New headers defining common gettext-support
	macros.

	* glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
	and gi18n-lib.h.

	* glib/gstrfuncs.h:
	* glib/gstrfuncs.c (g_strip_context): Auxiliary function for
	the implementation of Q_().
2003-11-05 21:07:47 +00:00
Matthias Clasen
8940b82eb4 Move g_strfreev() docs inline.
2003-07-02  Matthias Clasen  <maclas@gmx.de>

	* glib/tmpl/string_utils.sgml: Move g_strfreev() docs inline.
2003-07-01 22:15:54 +00:00
Matthias Clasen
27b3b2c681 Synchronize argument names with headers and docs. (g_vasprintf): An
2003-06-06  Matthias Clasen  <maclas@gmx.de>

	* glib/gprintf.[ch]: Synchronize argument names with headers and docs.
	(g_vasprintf): An implementation of vasprintf(), code was lifted
	from g_strdup_vprintf().  (#112365)

	* glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
2003-06-05 22:47:42 +00:00
Owen Taylor
5baeb21e11 glib/gstrfuncs.c (g_ascii_strncasecmp) Use TOLOWER() macro instead of
Fri May 30 19:23:47 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gstrfuncs.c (g_ascii_strncasecmp)
        * glib/gstrfuncs.c (g_ascii_strcasecmp): Use TOLOWER()
        macro instead of g_ascii_tolower() (#107138)
2003-05-30 23:28:34 +00:00
Matthias Clasen
c868c58694 Use memcpy instead of strcpy. (#106988, Christian Biere)
2003-05-27  Matthias Clasen  <maclas@gmx.de>

	* glib/gstrfuncs.c (g_strdup): Use memcpy instead of
	strcpy. (#106988, Christian Biere)
2003-05-27 21:30:08 +00:00
Matthias Clasen
8e80b63b1a Some doc fixes. (#111805)
2003-05-05  Matthias Clasen  <maclas@gmx.de>

	* glib/gstrfuncs.c (g_ascii_dtostr):
	(g_ascii_formatd):
	(g_ascii_strtod): Some doc fixes.  (#111805)
2003-05-05 18:26:38 +00:00
Matthias Clasen
6f98877728 Use g_strndup, not g_strdup, since we know the length in advance.
2003-02-26  Matthias Clasen  <maclas@gmx.de>

	* glib/gstrfuncs.c (g_strdup_vprintf): Use g_strndup, not
	g_strdup, since we know the length in advance.
2003-02-26 00:12:42 +00:00
Matthias Clasen
4a2fac6031 Add Since and Deprecation info for symbols documented in the templates.
* glib/tmpl/strings.sgml:
	* glib/tmpl/scanner.sgml:
	* glib/tmpl/main.sgml:
	* glib/tmpl/macros_misc.sgml:
	* glib/tmpl/hash_tables.sgml: Add Since and Deprecation info
	for symbols documented in the templates.

	* glib/gstrfuncs.c (g_strncasecmp): Break long deprecation
	info into two paragraphs.
2002-12-05 22:32:20 +00:00
Owen Taylor
bbbd329ff5 Patch from Sven Neumann to make the include order consistent. (#71704)
Tue Dec  3 20:22:27 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/*.c: Patch from Sven Neumann to make the
        include order consistent. (#71704)
2002-12-04 01:27:44 +00:00
Matthias Clasen
847b3c3dd4 It is a 2.2 addition.
* glib/gstrfuncs.c (g_ascii_strtoull): It is a 2.2 addition.
2002-11-29 19:35:10 +00:00
Matthias Clasen
97489993f7 Adjust to changed parameter names.
* glib/gtimer.c (g_time_val_add): Adjust to changed parameter names.

	* glib/gutils.c (g_get_application_name): Mark as 2.2. addition.

	* glib/gstrfuncs.c (g_ascii_strtoull): Mark as 2.0.7 addition.

	* glib/tmpl/main.sgml: Write something about GSourceDummyMarshal.

	* glib/tmpl/date.sgml:
	* glib/tmpl/string_utils.sgml: Remove redundant docs.

	* glib/glib-sections.txt: Add g_ascii_strtoull and
	g_get_application_name.
2002-11-28 23:11:58 +00:00
Matthias Clasen
803bae66a3 Move some docs inline, and add deprecation information. To see the list of
* glib/gutils.c:
	* glib/gtree.c:
	* glib/gstring.c:
	* glib/gstrfuncs.c:
	* glib/giochannel.c: Move some docs inline, and add deprecation
	information. To see the list of affected functions, grep for
	"Deprecated:".

	* glib/tmpl/strings.sgml:
	* glib/tmpl/string_utils.sgml:
	* glib/tmpl/misc_utils.sgml: Move some docs inline.
2002-11-28 20:46:29 +00:00
Matthias Clasen
a69dc4b65d Mark 2.2 API additions. 2002-11-28 00:15:45 +00:00
Owen Taylor
4d059644f5 Avoid non-ANSI pointer comparison. (#54344, Morten Welinder)
Tue Nov 26 09:51:43 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gstrfuncs.c (g_strchomp): Avoid non-ANSI pointer
        comparison. (#54344, Morten Welinder)

        * tests/strfunc-test.c (main): Add tests for strchomp().
2002-11-26 15:04:06 +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
Owen Taylor
17cff0324d Fix strtull/strtoull type in docs (#99012, Morten Welinder.) Add copyright
Tue Nov 19 14:38:18 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gstrfuncs.c (g_ascii_strtoull): Fix
        strtull/strtoull type in docs (#99012, Morten
        Welinder.) Add copyright information for code
        taken from GNU libc.
2002-11-19 19:42:05 +00:00
Matthias Clasen
efd4945d5a Minor doc markup fix. 2002-11-06 22:17:12 +00:00
Tim Janik
f650a78e8b fix comment. (g_ascii_strtoull): new function, acting like strtoull(3) in
Sat Oct 12 21:30:41 2002  Tim Janik  <timj@gtk.org>

        * merged up from glib-2-0:

        * glib/gstrfuncs.c (g_ascii_strtod): fix comment.
        (g_ascii_strtoull): new function, acting like strtoull(3) in the C
        locale.

        * glib/gscanner.[hc]: fix 32bit issues with integer parsing and
        support storing 64bit values in GTokenValue by
        using g_ascii_strtoull().
2002-10-12 19:37:48 +00:00
Alex Larsson
c8bf903639 New functions g_str_has_suffix and g_str_has_prefix.
2002-05-14  Alex Larsson <alexl@redhat.com>

	* glib/gstrfuncs.c:
	* glib/gstrfuncs.h:
	New functions g_str_has_suffix and g_str_has_prefix.

	* tests/string-test.c: (main):
	Test the new functions.
2002-05-14 18:49:50 +00:00
Owen Taylor
90d93042c2 Remove warning about g_print, etc, encoding.
Thu Mar 28 18:22:53 2002  Owen Taylor  <otaylor@redhat.com>

        * README: Remove warning about g_print, etc, encoding.

        * NEWS: Updates.

        * glib/gmessages.c (g_log_default_handler): Use %lu
        (plus a cast) when printing out pid_t arguments.
        (#76770, Morten Welinder)

        * glib/gstrfuncs.c (g_strdup_vprintf): Check the
        result of vasprintf(), return NULL on failure.
        (#76802, Akira Tagoh)

        * tests/testglib.c (TEST): Supress a warning with
        some GCC versions.
2002-03-28 23:24:23 +00:00
Matthias Clasen
3346808702 Add a note about g_strreverse() and UTF-8.
* glib/tmpl/string_utils.sgml: Add a note about g_strreverse() and UTF-8.

	* glib/gstrfuncs.c (g_strtod):
	(g_ascii_strtod):
	(g_ascii_dtostr):
	(g_ascii_formatd): Doc formatting fixes.
2002-03-11 21:38:18 +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
Darin Adler
e507791c85 New. (skip_spaces): g_unichar_isspace -> xml_isspace isspace ->
* glib/gmarkup.c: (xml_isspace): New.
	(skip_spaces): g_unichar_isspace -> xml_isspace
	* glib/gstrfuncs.c: (g_ascii_strtod): isspace -> g_ascii_isspace
	isxdigit -> g_ascii_isxdigit, isdigit -> g_ascii_isdigit
2002-02-10 05:56:06 +00:00
Darin Adler
113d5e1d74 Fix max_tokens == 1 case to match documentation. Add tests.
* glib/gstrfuncs.c: (g_strsplit): Fix max_tokens == 1 case to
	match documentation.
	* tests/strfunc-test.c: (main): Add tests.

	* tests/.cvsignore: Recently-added test.
2001-11-13 00:02:30 +00:00
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
Matthias Clasen
d761fb4b3b documentation update. add documentation. update docs. Remove references to
* glib/gstrfuncs.c, glib/giochannel.c: documentation update.
        * glib/gqueue.c: add documentation.
        * glib/tmpl/iochannel.sgml, glib/tmpl/macros_misc.sgml,
          glib/tmpl/queue.sgml: update docs.
        * glib/tmpl/modules.sgml, glib/tmpl/threads.sgml: Remove
          references to glib-config.
2001-10-02 23:09:51 +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
Owen Taylor
ad813a42f0 Use gssize to match the header. (Reported by Elliot Lee.)
Thu Sep 27 14:26:57 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gstrfuncs.c (g_ascii_strup/down): Use gssize to
	match the header. (Reported by Elliot Lee.)
2001-09-27 19:14:36 +00:00
Owen Taylor
75f13548ea Copy if !g_mem_is_system_malloc, not the other way around. (Found by James
Wed Sep 26 12:41:05 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gstrfuncs.c (g_strdup_vprintf): Copy if
	!g_mem_is_system_malloc, not the other way around.
	(Found by James Antill.)
2001-09-26 16:42:10 +00:00
Owen Taylor
44dfc68e30 Use memset; might be faster if someone used this for a biiig string.
Wed Sep 26 11:00:31 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gstrfuncs.c (g_strnfill): Use memset; might be
	faster if someone used this for a biiig string.
	(Suggestion from Jakub Jelinek)
2001-09-26 15:26:44 +00:00
Owen Taylor
d75fde163d Version 1.3.9 (binary, interface == 0)
Tue Sep 25 11:34:22 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Version 1.3.9 (binary, interface == 0)

	* glib/gstrfuncs.c (g_ascii_strdown): Change g_ascii_strup/strdown
	to take a 'len' argument to match g_utf8_strup/strdown. This
	hopefully will also make it more obvious that they duplicate
	the string rather than acting like g_strup/strdown.
	(Suggestion from Matthias Clasen, #59550)
2001-09-25 15:55:39 +00:00
Owen Taylor
5277fd1e24 Rename g_mem_vtable_is_set() to g_mem_is_system_malloc().
Thu Sep 20 20:33:45 2001  Owen Taylor  <otaylor@redhat.com>

	* Rename g_mem_vtable_is_set() to g_mem_is_system_malloc().
2001-09-21 00:34:12 +00:00
Owen Taylor
5c12c0acf1 Patch from Matthias Clasen (#59806)
Wed Sep 19 14:17:31 2001  Owen Taylor  <otaylor@redhat.com>

	Patch from Matthias Clasen (#59806)

	* configure.in: Check for vasprintf().

	* glib/gmem.[ch]: Add g_mem_vtable_is_set() to be used
	for efficiency hacks to avoid extra copies when not
	needed.

	* glib/gstrfuncs.c: Use vasprintf() to implement
	g_strdup_printf() when available.

	* glib/gmessages.c (g_logv): Avoid using
	printf_string_upper_bound() when we have have vsnprintf.

	* glib/gmessages.c (printf_string_upper_bound): Don't
	segfault when warning about positional parameters.
2001-09-19 18:43:22 +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
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
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
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
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
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
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
Mark Murnane
a0832f025f Changed prototype of printf_string_upper_bound to return gsize. Now
* glib/gmessages.c: Changed prototype of printf_string_upper_bound
to return gsize.  Now matches the actual function body.

* glib/gstrfuncs.c (g_strrstr_len): Changed type of parameter #2
from gint to gssize.  Now matches the prototype in gstrfuncs.h.
2001-07-12 09:23:38 +00:00
Owen Taylor
c88e252950 Try compiling before committing, why don't you? Simple fixes for my stupid
Sat Jun 30 13:18:28 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gstrfuncs.c glib/gstring.h: Try compiling
	before committing, why don't you? Simple fixes
	for my stupid typos.
2001-06-30 17:19:20 +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
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
Owen Taylor
efc2ec72b5 Fix a use of strcat that wasn't replaced with g_stpcpy in the original
Thu Jun 14 14:09:46 2001  Owen Taylor  <otaylor@redhat.com>

	* gstrfuncs.c (g_strconcat): Fix a use of strcat that
	wasn't replaced with g_stpcpy in the original
	stpcpy-for-efficiency patch.
2001-06-15 18:28:06 +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
Owen Taylor
96ba1917d8 to match g_strcasecmp, check if it is lower/upper before converting to
Mon Jun  4 16:02:57 2001  Owen Taylor  <otaylor@redhat.com>

	* gstrfuncs.c (g_strup/strdown): to match g_strcasecmp,
	check if it is lower/upper before converting to upper/lower
	[ not required by ISO... ] (#55682, Jon Trowbridge)
2001-06-04 20:06:14 +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
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
Owen Taylor
b8d7add377 *** empty log message *** 2001-03-26 18:35:34 +00:00
Tor Lillqvist
31c5b1899d 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.
2001-03-09 21:23:33 +00:00
Havoc Pennington
1c391cc698 include string.h
2001-02-17  Havoc Pennington  <hp@pobox.com>

	* gthread.c: include string.h

        Applied patch from Soeren Sandmann:

	* testglib.c: const fixes

	* gwin32.h: format cleanups

	* gutils.c (g_atexit): constify a variable
	(g_find_program_in_path): constification
	(g_basename): G_CONST_RETURN
	(g_path_skip_root): G_CONST_RETURN
	(g_getenv): G_CONST_RETURN
	(g_get_user_name): G_CONST_RETURN
	(g_get_real_name): G_CONST_RETURN
	(g_get_home_dir): G_CONST_RETURN
	(g_get_tmp_dir): G_CONST_RETURN
	(g_get_prgname): G_CONST_RETURN
	(_glib_gettext): G_CONST_RETURN

	* gunicode.h: formatting cleanups

	* gstrfuncs.c (g_strerror): G_CONST_RETURN
	(g_strsignal): G_CONST_RETURN

	* gspawn.c (g_execute): const on variables

	* gmessages.c (printf_string_upper_bound): fix const on a variable

	* gmem.c (g_mem_chunk_new): make the "name" arg const
	(struct _GRealMemChunk): make the "name" field const

	* gfileutils.c (g_file_open_tmp): store const return in a const
	gchar* variable

	* gdataset.c (g_quark_to_string): G_CONST_RETURN

2001-02-17  Havoc Pennington  <hp@pobox.com>

        Applied patch from Soeren Sandmann:

	* gvaluetypes.c (g_value_get_string): G_CONST_RETURN

	* gtype.c (g_type_name): G_CONST_RETURN

	* gsignal.c (g_signal_name): G_CONST_RETURN

	* gobject-query.c (main): const fix

2001-02-17  Havoc Pennington  <hp@pobox.com>

        Applied patch from Soeren Sandmann:

	* gmodule.c (g_module_error): G_CONST_RETURN
	(g_module_name): G_CONST_RETURN
2001-02-17 23:30:48 +00:00
Tor Lillqvist
f9da22ef07 Use the same GMutex structure as the configure-generated glibconfig.h
2001-01-29  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Use the same GMutex structure as the
	configure-generated glibconfig.h does.

	* gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
	says jbdoll@kepri.re.kr.
2001-01-29 21:33:37 +00:00
Havoc Pennington
e5c1f207c9 add g_strdupv test
2000-12-06  Havoc Pennington  <hp@pobox.com>

* tests/strfunc-test.c (main): add g_strdupv test

* gstrfuncs.c (g_strdupv): Add a function to copy
an array of strings
2000-12-07 04:48:37 +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
Sebastian Wilhelmi
6f83e76ea8 When the string is ended by a delimiter, return an extra empty string just
2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gstrfuncs.c (g_strsplit): When the string is ended by a
	delimiter, return an extra empty string just like for a delimiter
	at the start of the string. This makes the function behave more
	consitent and also fixes Bug #15026.
2000-10-26 13:00:18 +00:00
Martin Baulig
a3fc275ddd Several minor ANSI C fixes.
2000-09-29  Martin Baulig  <baulig@suse.de>

	Several minor ANSI C fixes.

	Added missing casts:
	* gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
	* gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
	(g_idle_add_full): `(gpointer) function' in call to g_source_add().
	* gstrfuncs.c (g_strdown): `s = (guchar *) string' and
	`return (gchar *) string'.
	(g_strup): Likewise.
	(g_strchug): `start = (guchar*) string' in 1st for() argument;
	`strlen ((gchar *) start)' in call to g_memmove().
	* gstring.c (g_string_down): `s = (guchar *) string->str'.
	(g_string_up): Likewise.
	* gthreadpool.c (stop_this_thread_marker):
	`(gpointer) &g_thread_pool_new'.
	* gunidecomp.h (decomp_table[]): Cast all the strings to
	`unsigned char *'.

	Put text following #endif into comments:
	* gmain.c: here.
2000-09-29 13:37:01 +00:00
Owen Taylor
333f4c4325 Add a missing g_return_if_fail().
Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>

	* gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
2000-09-10 16:04:33 +00:00
Tim Janik
864d4be8ca completed tor's fix to cover both #ifdef branches.
Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
        to cover both #ifdef branches.
2000-07-27 03:16:15 +00:00
Tor Lillqvist
42d1962199 Return 0 on error, not NULL.
2000-07-26  Tor Lillqvist  <tml@iki.fi>

	* gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.

	* glib.def: Add g_strlcpy, g_strlcat.

	* glibconfig.h.win32.in: Add gsize and gssize.
2000-07-26 15:39:44 +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
Tim Janik
83e49bd036 added g_strlcat() and g_strlcpy() wrappers, supplied by David Wheeler
Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>

        * configure.in:
        * testglib.c:
        * gstrfuncs.c:
        * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
        David Wheeler <dwheeler@ida.org>:

        * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
          safe manipulation of fixed-length string buffers.
          These functions were originally developed by Todd Miller to simplify
          development of security-related programs, and
          are available on many (but not all) Unix-like systems,
          including OpenBSD, FreeBSD, and Solaris.  See
          ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
          and http://www.openbsd.org/security.html.
          If there's a strlcpy/strlcat on the system, it's called, otherwise
          an implementation is provided.

        * testglib.c: Added tests for g_strlcpy, g_strlcat.
2000-07-26 03:51:07 +00:00
Tim Janik
a9a09f147f fixed an off by 0 error (yeah, the function went off when the while (n--)
Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
        the function went off when the while (n--) loop failed due to
        n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
2000-07-15 07:18:19 +00:00
Tim Janik
1df2ec98cb added gobject
Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>

        * setup things for a new sub-library libgobject:

        * Makefile.am (SUBDIRS): added gobject

        * glib-config.in: feature -lgobject.

        * configure.in (AC_OUTPUT): generate gobject/Makefile.

        * glib.m4 (AM_PATH_GLIB): feature gobject module.

        * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*

Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>

        * glib.h: added G_STRLOC macro.
        G_STRUCT_OFFSET(): signedness corrections.
        (G_CSET_DIGITS): list 0-9.
        * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.

        * glib.h:
        * gstrfuncs.c:
        (g_strdown):
        (g_strup):
        (g_strreverse): return the modified string instead of void, so
        calls to these functions can be nested.
        (g_strcanon): new function, canonicalizes string according to
        a given character set.

Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>

        * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
2000-05-12 15:23:16 +00:00
Tim Janik
db8baf6978 minor optimization.
Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>

        * gslist.c (g_slist_reverse): minor optimization.

        * testglib.c (g_node_test): added a couple of tests for
        g_node_copy().

        * glib.h:
        * gnode.c (g_node_copy): new function to copy subtrees,
        supplied by dbsears@ix.netcom.com.
        changed iterator to walk the children list backwards, so
        we get down from O(n^2) to O(n).

        * gnode.c (g_node_first_sibling): applied patch from
        dbsears@ix.netcom.com to optimize access if node->parent
        is present.

        * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
        assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
        thus breaks the original code.

        * merged changes from 1.2.7.

Sat Feb 19 19:43:29 2000  Tim Janik  <timj@gtk.org>

        * testgmodule.c (main): added test to check that not yet bound symbols
        in shared libraries of the main module are retrievable, from David Gero.

Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>

        Bug #4156 - Changes vaguely modelled after Scott Gifford's patch

        * gtimer.c (g_timer_elapsed): Never report negative times -
        clip times to 0.

        * gmain.c (g_timeout_prepare): Guard against unexpected
        clock shifts by never setting a timeout of more than
        data->interval msecs.
2000-03-01 09:44:10 +00:00
Tor Lillqvist
c22cf34e92 glib.h New functions for conversion between UTF-8 and the encoding
2000-02-01  Tor Lillqvist  <tml@iki.fi>

* glib.h
* gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
functions for conversion between UTF-8 and the encoding expected
by C runtime functions like open() and stat(), and returned by
readdir().

Implement them on Win32 where we use the system "ANSI" codepage,
which might be single-byte or double-byte. On Unix, just skip the
issue for now and provide dummy implementations that return a copy
of the argument.

* README.win32
* build-dll
* glib.def: Minor updates.
2000-02-02 23:39:32 +00:00
Tim Janik
0b2c4e4f5a correctly fetch the current locale, fix from owen.
Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c (g_strtod): correctly fetch the current locale,
        fix from owen.
2000-01-09 10:58:55 +00:00
Tim Janik
30a1e1addb completly new implementation for printf string upper bounds calculation.
Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>

        * gmessages.c (g_printf_string_upper_bound): completly new implementation
        for printf string upper bounds calculation.
        we handle all glibc 2.1 format specifiers now, except for positional
        parameters (%nn$...) and wide char strings, plus some obscure upper
        case variants of the standard conversions. this fixes a lot of
        bugs in the old code, i.e.
        - NULL format strings
        - floats with exponents >+24
        - %G
        - precision specifications in general
        - negative field widths
        - %p for SIZEOF_VOID_P > 4 platforms
        we now issue warnigns in places where the old code would have
        caused buffer overruns anyways. warnings are suppressed when invoked
        from glogv(), to avoid infinite recursions if someone passes a log
        message that comes with really obscure format specifications.

Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.

Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>

        * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
        mantissa and exponent of IEEE floats and doubles (required by the new
        version of g_printf_string_upper_bound). the unions are endian specific,
        we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
        and doubles are supported (used for storage) by at least intel, ppc and
        sparc, reference:
        http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html

Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>

        * configure.in: added additional checks to figure sizes of size_t,
        ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
1999-10-12 12:08:13 +00:00
Manish Singh
7ea73a0199 G_OS_FOO #defines. I *think* I got the cygwin and beos stuff right, but
I haven't tested it. The respective porters should fix any screwups

-Yosh
1999-10-04 02:32:50 +00:00
Tor Lillqvist
1c6c7f7489 glib.h gstrfuncs.c Rename g_strccpy to g_strcompress and g_strecpy to
* glib.h
	* gstrfuncs.c
	* tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
	g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
	destination parameter, always g_malloc a new string.  Fix bug in
	g_strcompress, octal digits were gobbled up without limit, should
	use max three.

	Sources that use g_strescape must have ifdefs to be compilable
	both with GLib 1.2 and 1.3.
1999-08-02 23:16:32 +00:00
Manish Singh
4877766d0e glib.h the #define for g_strescape interfered with the compilation of the
* glib.h
* gstrfuncs.c: the #define for g_strescape interfered with the
compilation of the function, so just remove the function and
note that it's deprecated in the header

-Yosh
1999-08-01 00:54:14 +00:00
Tor Lillqvist
1146c6fbb3 New functions.
* gstrfuncs.c (g_strccpy, g_strecpy): New functions.

	* glib.h: Declare and document them. Define the deprecated
	g_strescape as a macro that calls g_strecpy.

	* tests/strfunc-test.c (main): Test them.

	* makefile.{cygwin,msc}.in
	* tests/makefile.{cygwin,msc}.in: Remove gstack and its test
	program.

	* glib.def: Additions and removals.

	* README.win32: Improve gcc build instructions.

	* build-dll: Also build import library for MSVC.
1999-07-31 21:45:21 +00:00
Tim Janik
87c7aeb93b 18:36. incorporated proposed cleanups from gtk-devel-list.
Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>

        * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
        * incorporated proposed cleanups from gtk-devel-list.

        * bumped version number to GLib-1.3.1

        * glib.h:
        * gqueue.c:
        * gstring.c:
        * glist.c:
        removed string tokenisation (we got g_strsplit() and g_strjoin()
        already) and readline functions.
        s/g_list_delete/g_list_delete_link.
        implemented g_slist_delete_link.
        removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
        macro, g_atexit() is provided for public consumption.
        added GTrashStack inline utility functions.
        reimplement double eneded queues.
        removed GStack implementation, people can use a queue or a (singly)
        linked list for this task.
        deprecated g_strescape(), we need the SunOS variants here.

        * gdate.c: added DEBUG_MSG() macro to wrap old messages.

        * *.*: CVS merges.

        * upgrade to libtool 1.3.3.
1999-07-24 18:50:58 +00:00
Tor Lillqvist
37e447f278 Backslashify also '"' characters.
* gstrfuncs.c (g_strescape): Backslashify also '"' characters.

	* glib.h: Document g_strescape.
1999-05-29 10:28:06 +00:00
CDT 1999 Shawn T. Amundson
499c9786d1 Port to BeOS by myself and Richard Offer.
Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>

        * configure.in
          gerror.c
          gmain.c
          gstrfuncs.c
          gutils.c
          ltconfig
          ltmain.sh
          gmodule/Makefile.am
          gmodule/gmodule.c
          gmodule/gmoduleconf.h.in
          gmodule/gmodule-beos.c
          gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
1999-05-08 07:40:44 +00:00
CST 1999 Shawn T. Amundson
b9ef2b41db inserted additional note to look for ChangeLog and AUTHORS file for a log
Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * *.[ch]: inserted additional note to look for ChangeLog and
	  AUTHORS file for a log of modifications.
1999-02-24 06:14:27 +00:00
Tim Janik
a8ff1b4fce fixed errernerous code wrt to thread specific error string allocation
Wed Feb 10 07:56:33 1999  Tim Janik  <timj@gtk.org>

        * gmodule.c (g_module_error): fixed errernerous code wrt to thread
        specific error string allocation handling.

Wed Feb 10 06:20:30 1999  Tim Janik  <timj@gtk.org>

        * gmutex.c (g_static_private_set): invoke destroy notifier when
        overwriting values, initialize new array fields with NULL.
        (g_static_private_free_data): do not skip destroy notification for
        data == NULL.

        * gutils.c (g_direct_equal): compare pointer values directly instead
        of just their guint values which is a loosing conversion for
        sizeof(gpointer)==8 systems.
        (g_get_any_init): restructured code so we don't use endless loops like
        while (1), which boil down to an ugly alias for goto.
        strip ,.* from the real name.
1999-02-10 08:06:26 +00:00
Timur Bakeyev
9225673ea2 NO_SYS_SIGLIST_DECL change.
Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>

	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
	tion hides there.
1999-01-25 12:45:51 +00:00
Tor Lillqvist
30bcb36954 Include signal.h only when the signal names will be needed. 1999-01-21 05:43:40 +00:00
Josh MacDonald
e6c71cedb9 The "extern char* sys_siglist" declaration breaks systems with different
Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>

	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
	declaration breaks systems with different declarations, like
	mine (FreeBSD).  So, I added a configuration variable to decide
	whether the declaration is neccesary.  Change also appears on
	line 275 of configure.in.
1999-01-19 09:07:28 +00:00
Tor Lillqvist
f477518c3a Merge in current Win32 version. Almost no Unix code touched.
* README.win32: More text.

	* config.h.win32 glibconfig.h.win32: Update to match the
	corresponding generated files on Unix.

	* makefile.msc: Update with new source files, and gthread
 	library. Use the compiler flag -MD instead of using -D_DLL and
	"/nodefaultlib:libc msvcrt.lib" in the link phase.

	* glib.def: Include new functions, drop removed ones.

	* glib.h: Add comments about main loop and polling on Win32. (In
	general, it's only for the GIMP's use.) Add Win32 IO Channel
	functions. Remove the obsoleted old IO Channel stuff (which was
	in #if 0 already).

	* giowin32.c: New file.

	* gmain.c: Include config.h, conditionalize <sys/time.h>
 	inclusion.  Add g_poll implementation for Win32 (only for the
 	GIMP's needs for now, it's hard or even impossible to be as clean
 	and generic as on Unix). Implement g_get_current_time on Win32. If
 	threads aren't supported, don't try to wake up main thread's
 	loop. On Win32, use a semaphore and not a pipe to wake up the main
 	loop.

	* gmessages.c: On Win32, allocate a console window if the standard
	output handle is invalid before writing to stdout, and reopen stdout
	to that console window.

	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
	cleanup.

	* gstrfuncs.c: Include <signal.h>.

	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
	environment variables.

	* gmodule-dl.c gmodule-dld.c: In
 	_g_module_build_path, don't add the "lib" prefix and
 	".so" or ".sl" suffix if already there.

	* gmodule-win32.c: Likewise for the ".dll" suffix.

	* gthread-posix.c: Conditionalize <sys/time.h> inclusion.
1999-01-16 23:46:42 +00:00
Jeff Garzik
b4c62873da alloca and vasprintf go away 1999-01-11 20:24:28 +00:00
Jeff Garzik
2a6789be13 Add checks for vasprintf, localtime_r.
* configure.in:
        Add checks for vasprintf, localtime_r.

        * gdate.c (g_date_set_time):
        Use localtime if localtime_r is not available.

        * gstrfuncs.c (g_strdup_vprintf):
        Use glibc vasprintf if possible; it's a bit faster than using
        GLib routines, and makes output code a bit smaller.

        * acconfig.h:
        Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
        up automatically and puts them in config.h.in.
1999-01-09 19:14:16 +00:00
Owen Taylor
931ea95265 This commit merges the glib-threads branch into the main
branch. See the ChangeLog for details of the changes.

In brief overview:

 - The set of threading functions can be set
 - A default implementation is provided in -lgthread
 - All static data structures are locked using these
   functions if g_thread_init() is called.
1998-12-15 05:28:02 +00:00
Phil Schwan
59f6876ded Added 'strncasecmp' to the list of functions to be searched for. Added a
1998-11-04  Phil Schwan  <pschwan@cmu.edu>

        * configure.in: Added 'strncasecmp' to the list of functions to be
        searched for.
        * glib.h: Added a prototype for 'g_strncasecmp'
        * strfuncs.c: (g_strncasecmp) new function modeled closely after
        'g_strcasecmp'
1998-11-05 01:36:36 +00:00
Manish Singh
7e04691726 applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog entry
* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
entry appended below)

* testglib.c
* gstrfuncs.c
* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone

* gmessages.c
* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H

-Yosh
1998-11-01 04:19:54 +00:00
Raja R Harinath
5900267cc7 Land glib-rrh-19981025-0.patch.
* Makefile.am (glibconfig.h): New rule.
(stamp-gc-h): New rule.  Generate `glibconfig.h'.
* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
concluding "broken wctype".
(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
config.status.
* glib.h: Remove a lot of tests and defines.  All these have been
moved to `configure.in (glibconfig.h)'.
* gerror.c: Include <config.h>.
* gmem.c: Likewise.
* gstrfuncs.c: Likewise.
* gutils.c: Likewise.

This could cause some short term instability.
1998-11-01 01:32:59 +00:00
Tor Lillqvist
a6149403de removed dummy structure definitions for struct _GCache, _GTree, _GTimer,
Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed dummy structure definitions for struct _GCache,
        _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.

        * gutils.c: implement glib's inline functions _after_ all include
        statements have been processed.
        removed Tor's MAXPATHLEN check since there already was one supplied
        further down in this file.
        (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
        since lcc maybe used on other platforms as well. why in hell is this
        stuff required?
        (g_get_any_init): for windows, if the user name is supplied, use it as
        realname also.
        in general, if there is no homedir specified, use the tmpdir that
        we already figured.

        * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
        g_return_if_fail().

        * applied glib-tml-981020-0.patch for WIN32 portability, added some
        comments and g_return_if_fail() statements, minor indentation fixes.
        ChangeLog entry from Tor Lillqvist is appended.

        * glib.h (struct dirent): use lower case structure members.

        * glib.h:
        * makefile.lcc:
        * makefile.msc:
        s/COMPILING_GLIB/GLIB_COMPILATION/

1998-10-20: Tor Lillqvist <tml@iki.fi>

        * README.win32 glib.def gmodule.def
        * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
        New files for the Windows port. The .def files list exported
        symbols for the Microsoft linker and compatibles.

        * configure.in:
        Added checks for some platform-dependent headers: pwd.h sys/param.h
        sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.

        * gerror.c:
        Conditionalized inclusion of system-dependent headers. Changes
        for Windows: no gdb to do a stack trace. Just call abort().

        * glib.h:
        Changes for Windows:

        Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
        platform-dependent file name syntax elements. Added macros
        G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
        platform-dependent search path syntax conventions.

        Added pragmas for Microsoft C to make it more pedantic.

        Marked GLib's global variables for export from DLL.

        Added the function g_strescape that escapes backslashes.

        Added functions g_path_is_absolute and g_path_skip_root to
        handle platform-dependent file name syntax.

        Added the function g_getenv that expands environment variables
        that contain references to other environment variables, as is
        typical on Windows NT.

        Added the GIOChannel structure which is used to encapsulate the
        IPC mechanism used by the GIMP's plug-ins, and possibly other
        things later. On Unix a GIOChannel encapsulates just a file
        descriptor. On Windows it contains a file handle from _pipe() and a
        few other things related to the implementation of gdk_input_add
        and GIMP plug-in communication. Subject to change.

        Removed duplicate declarations of the version variables.

        For the Microsoft compiler, declare own implementation of
        ftruncate and the <dirent.h> functions.

        * gmem.c:
        Define a symbolic name  for the profiling table size.

        * gmessages.c:
        Conditionalized inclusion of unistd.h. On Windows, output using
        stdio to stdout.

        * gscanner.c:
        Conditionalized inclusion of unistd.h. Added changes for
        Microsoft C. Added CR to the skipped character set. Added small
        workaround for MSC compiler bug in g_scanner_cur_value.

        * gstrfuncs.c:
        Added the function g_strescape, which escapes the backslash
        character. Needed especially when printing Windows filenames.

        * gtimer.c:
        Conditionalized inclusion of unistd.h and sys/time.h. Added
        implementations for Windows.

        * gutils.c:
        Conditionalized inclusion of platform-dependent headers. Use
        the platform-independent file name syntax macros.
        Conditionalize code on platform-dependent features. Added the
        functions g_path_is_absolute g_path_skip_root and g_getenv.
        Added the GIOChannel-related functions. Added
        compiler-dependent Unix compatibility functions for Windows.

        * makefile.lcc makefile.msc:
        New files. Compiler-specific makefiles for LCC-Win32 and
        Microsoft C. Only Microsoft C is actually supported currently.

        * testglib.c:
        Added pathname check cases for Windows. Added workaround for
        bug in the Microsoft runtime library. Improved some tests a bit.

Tue Oct 27 04:00:11 1998  Tim Janik  <timj@gtk.org>

        * testgmodule.c (main): changed the #ifdef WIN32 test to NATIVE_WIN32,
        this needs to be more constistent throughout the code, do we go for
        NATIVE_WIN32 or WIN32?

        * gmodule.c (LibMain): special cased the #ifdef __LCC__ case for
        NATIVE_WIN32, since lcc maybe used on other platforms as well.
        * libgplugin_a.c (LibMain):
        * libgplugin_b.c (LibMain):
        likewise. not sure i like this special requirement for lcc in here.

        * gmodule-dl.c (_g_module_build_path):
        feature empty "" directories and prepend the module name with "lib".

        * gmodule-dld.c (_g_module_build_path):
        * gmodule-win32.c (_g_module_build_path):
        feature empty "" directories.

        * we need some more magic in the _g_module_build_path variants
        so we don't append/prepend lib and .so, .sl or .dll for those names
        that already contain it.

        * applied patch from Tor Lillqvist for g_module_build_path() and
        windows support.

1998-10-20: Tor Lillqvist <tml@iki.fi>

        * gmodule/gmodule-win32.c:
        New file.

        * gmodule/gmodule.c gmodule/gmodule.h:
        Added the funcion g_module_build_path that builds the path to
        a module file, decorating the name according to the system's
        conventions.  Added the Windows implementation.

        * gmodule/libgplugin_a.c gmodule/libgplugin_b.c:
        Added LibMain for LCC-Win32.

        * gmodule/testgmodule.c:
        Handle Windows dll names.
1998-10-27 04:11:34 +00:00
Tim Janik
e86746f168 no more characters are available if read() returns anything less than 1,
Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>

        * gscanner.c:
        (g_scanner_peek_next_char):
        (g_scanner_get_char): no more characters are available if read() returns
        anything less than 1, not only on 0 return.

        * glib.h:
        * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
        argument order requirements.
        (g_strsplit): renamed from g_str_array_split().
        (g_strjoinv): renamed from g_str_array_joinv(), string array is
        now passed as last parameter. removed `const' qualifier from string
        array pointer (again).
        (g_strjoin): new function from sopwith to concatenate strings with
        an additional seperator.
        (g_strfreev): renamed from g_str_array_free.
1998-10-25 06:44:49 +00:00
Elliot Lee
daf46f9550 Fix new strfuncs back up (again) - No, incrementing pointers in a loop is
Fix new strfuncs back up (again)
	- No, incrementing pointers in a loop is not any faster than
	  indexing an array in a loop with a good compiler, but it is
	  harder to read.
	- strconcat doesn't allow a separator - added g_str_array_join,
	  renamed g_str_array_join to g_str_array_joinv
	- join routines take separator as first argument, as is customary.
1998-10-21 20:14:16 +00:00
Tim Janik
2009313501 API cleanups of the new g_str* functions for consistency with the existing
Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
        with the existing naming scheme for g_str* functions. grouped the g_str*
        functions that will return a newly allocated string seperatedly. all of
        the in_place arguments were skipped, the caller is supposed to pass a
        g_strdup()ed string if he wants to retrive a new copy. indentation and
        coding style fixups. added some g_return_if_fail() statements.
        string array functions are prefixed with g_str_array_.
        (g_strdelimit): return the modified string like all other g_str*
        functions, that operate in place.
        (g_strchug): renamed from g_str_chug(), removed in_place argument.
        (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
        (g_strstrip): renamed from g_str_strip(), removed in_place argument.
        (g_str_array_join): renamed from g_strconcatv(), since it actually
        operates on a string array and has totaly different semantics from
        g_strconcat(). check for separator != NULL, don't segfault if the first
        string is NULL. removed the `const' from the string array that's passed,
        so users can operate on gchar** string arrays.
        (g_str_array_split): renamed from g_str_split() because we actually
        produce a string array. reimplemented this function for efficiency.
        removed macro aliases g_str_joinv and g_str_join.
1998-10-21 17:18:22 +00:00
Elliot Lee
88a22179ac I swear I'll get it right someday.
I swear I'll get it right someday.
1998-10-20 22:28:17 +00:00
Elliot Lee
039de051ef Move string join/split/free routines from libgnome/gnome-string, rename,
* glib.h, gstrfuncs.c: Move string join/split/free routines from
 	libgnome/gnome-string, rename, and add g_str_chug.
1998-10-20 21:41:55 +00:00
Tim Janik
eeb971d1b9 minor g_memdup() fixups 1998-09-19 01:12:06 +00:00
Manish Singh
0dbf1d8cc4 Added g_memdup implementation
-Yosh
1998-09-18 18:32:59 +00:00
Tim Janik
519435e642 new function g_strnfill() to return a new string of specified length,
Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstrfuncs.c: new function g_strnfill() to return a new string
        of specified length, filled with a specific character.
1998-09-02 14:57:10 +00:00
Tim Janik
b420fa8418 removed this function which was not publically exported in glib.h. to
Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstring.c:
        * gstrfuncs.c:
        (g_vsprintf): removed this function which was not publically
        exported in glib.h. to export it, it should have been named
        differently in the first place, since its semantics differ from
        vsprintf(). apart from that, it was a possible cause for
        problems since it worked on a previously allocated memory area and
        was used in a lot places of glib. exporting it would have been a
        guararant for problems with threaded programs.
        (g_printf_string_upper_bound): exported this function to return
        a string size, guarranteed to be big enough to hold the fully
        expanded format+args string. added 'q', 'L' and 'll' flag handling.
        in fact, the newly allocated area is in most cases much bigger than
        required.
        (g_strdup_vprintf()): new function returning a newly allocated string
        containing the contents of *format and associated args (size is
        calculated with g_printf_string_upper_bound()).
        (g_strdup_printf): new function which wraps g_strdup_vprintf().

        * configure.in: check for va_copy() or __va_copy() alternatively.
        check whether va_lists can be copyied by value.

        * glib.h: provide a definition for G_VA_COPY.

        * glib.h:
        * gmessages.c:
        (g_logv):
        (g_vsnprintf):
        pass va_lists by value, not by reference, since this causes problems
        on platforms that implement va_list as as arrays. internaly, use
        G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
        va_list variable, if multiple passes are required. changed all
        callers.

        * glib.h:
        * gerror.h:
        renamed g_debug() to g_on_error_query(), cleaned up a bit.
        renamed g_stack_trace() to g_on_error_stack_trace() since both
        functions cluttered different namespaces.
        there is an appropriate comment in glib.h now that explains the
        unix and gdb specific dependencies of both functions.
        removed g_attach_process().
        g_on_error_stack_trace() should probably be handled with caution,
        i've seem several different linux versions (2.0.x) become unstable
        after invokation of this function.
1998-08-24 05:26:53 +00:00
Manish Singh
47074edbbd added g_strndup
-Yosh
1998-08-19 01:24:13 +00:00
Tim Janik
ce85619724 indentation fixes. 1998-07-25 03:03:01 +00:00
Tim Janik
478632418e typo fixups 1998-07-11 05:17:49 +00:00
Tim Janik
17856ab1cd new file. 1998-07-10 05:51:57 +00:00