Commit Graph

75 Commits

Author SHA1 Message Date
Tor Lillqvist
b8c119f901 glib/gfileutils.c glib/gfileutils.h glib/glib.symbols Rename g_makepath()
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c
	* glib/gfileutils.h
	* glib/glib.symbols
	* tests/testglib.c: Rename g_makepath() to g_mkdir_with_parents().
2005-06-22 18:55:33 +00:00
Tor Lillqvist
1833a93ddd New function. Creates a directory including intermediate parent
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c (g_makepath): New function. Creates a
	directory including intermediate parent directories as
	needed. (#60509)

	* glib/gfileutils.h: Declare it.

	* glib/glib.symbols: Add it.

	* tests/testglib.c: Test it.
2005-06-22 09:43:37 +00:00
Tor Lillqvist
477989f555 New function. Returns the machine's name, or one of its names. Document
2005-06-22  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_get_host_name): New function. Returns the
	machine's name, or one of its names. Document that it is
	best-effort only, and not guaranteed to be unique or anything.
	(g_get_any_init): Get the host name here. On Unix use
	gethostname(), on Windows use GetComputerName(). (#5200)

	* glib/gutils.h
	* glib/glib.symbols: Add here, too.

	* tests/testglib.c: Test it.
2005-06-22 08:54:28 +00:00
Tor Lillqvist
446c1f1aa8 Minor printout change, now identical as in glib-2-6 branch. 2005-03-20 20:08:23 +00:00
Tor Lillqvist
20378332ae Print more detailled output from the timer tests. Don't print home
2005-03-20  Tor Lillqvist  <tml@novell.com>

	* tests/testglib.c (main): Print more detailled output from the
	timer tests. Don't print home directory twice. Test
	g_win32_error_message().

	* tests/spawn-test.c (run_tests): On Win32, run netstat instead of
	ipconfig. On Windows XP collecting output from ipconfig doesn't
	seem to work for some reason.
2005-03-20 10:43:38 +00:00
Matthias Clasen
d209e108b1 Add a function to return a list of applicable locale names. (#95587,
2004-09-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h:
	* glib/gutils.c (g_get_language_names): Add a function to
	return a list of applicable locale names.  (#95587,
	Hidetoshi Tajima)
	(guess_category_value, compute_locale_variants):
	(explode_locale, unalias_lang, read_aliases): Helper
	functions for g_get_language_names()

	* tests/testglib.c (main): Show the results of
	g_get_language_names()
2004-09-07 18:37:10 +00:00
Tor Lillqvist
b359dbbf5e Test the new XDG basedir functions.
2004-08-26  Tor Lillqvist  <tml@iki.fi>

	* tests/testglib.c (main): Test the new XDG basedir functions.
2004-08-26 00:08:46 +00:00
Matthias Clasen
48deca6379 Trivial warning fix.
2004-04-22  Matthias Clasen  <mclasen@redhat.com>

	* tests/testglib.c (main): Trivial warning fix.
2004-04-22 20:58:37 +00:00
Matthias Clasen
05501852ec Add testcases for g_message() involving non-printable and unsafe
2004-04-22  Matthias Clasen  <mclasen@redhat.com>

	* tests/testglib.c (main): Add testcases for g_message() involving
	non-printable and unsafe characters.

	* glib/gmessages.c (escape_string): Don't assume that
	string->str remains unchanged over g_string_insert()
	calls.  (#139030, Christophe Saout)
2004-04-22 20:17:54 +00:00
Tim Janik
ee4e622d37 applied patch from #131937 with slight renames. provides
Fri Feb 20 03:02:05 2004  Tim Janik  <timj@gtk.org>

        * glib/ghash.[hc]: applied patch from #131937 with slight
        renames. provides g_hash_table_find().
2004-02-20 02:05:36 +00:00
Owen Taylor
7ace455394 Add g_timer_continue(). (#98536, Tim-Philipp Müller)
Thu Jan 22 13:55:44 2004  Owen Taylor  <otaylor@redhat.com>

        * glib/gtimer.c: Add g_timer_continue().
        (#98536, Tim-Philipp Müller)

        * configure.in: Version 2.3.2, interface age 0.

        * NEWS: tweak, finish.
2004-01-22 19:56:28 +00:00
Manish Singh
b5ae75aa4a Added G_GSIZE_FORMAT and friends.
Thu Nov 20 15:09:40 2003  Manish Singh  <yosh@gimp.org>

        * configure.in: Added G_GSIZE_FORMAT and friends.

        * tests/printf-test.c
        * tests/testglib.c
        * tests/type-test.c: Add tests for the above.
2003-11-20 23:12:05 +00:00
Owen Taylor
dfa8c540a1 === Released 2.3.0 ===
Thu Oct 23 12:38:24 2003  Owen Taylor  <otaylor@redhat.com>

        * === Released 2.3.0 ===

        * tests/gobject/Makefile.am (dist-hook): Remove
        and extra backslash.

        * tests/gobject/Makefile.am (EXTRA_DIST): Add
        testmarshal.list.

        * glib/Makefile.am (libglib_2_0_la_SOURCES): Add
        missing gunicode-private.h.

        * tests/testglib.c (main): Fix a warning.

        * tests/gobject/ifaceinherit.c: Remove check that
        wasn't supposed to work (adding an interface already
        added to the derived class to the base class),
        fix a bug.
2003-10-23 22:42:31 +00:00
Tor Lillqvist
b514888d16 Use hardcoded name for DLL, as there is no reliable way to determine it at
2003-09-29  Tor Lillqvist  <tml@iki.fi>

	* tests/testglib.c (main): Use hardcoded name for DLL, as there is
	no reliable way to determine it at compile or run time anyway.
2003-09-29 22:40:40 +00:00
Tor Lillqvist
55d624d80c Fix #117925 (Dov Grobgeld):
2003-08-16  Tor Lillqvist  <tml@iki.fi>

	Fix #117925 (Dov Grobgeld):

	* glib/gutils.c (g_find_program_in_path, g_basename,
	g_path_get_basename, g_path_is_absolute, g_path_skip_root,
	g_path_get_dirname, g_get_any_init): On Win32, look also for
	slashes ('/') as pathname separators.

	* glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
	contains a pathname separator, include the actual one in the error
	message, instead of always the canonical one.

	(g_build_filename): Separate implementation on Win32 that looks
	for either slash or backslash. Document Unix/Windows differences.

	* tests/testglib.c
	* tests/strfunc-test.c: Test above functionality on Win32.
2003-08-16 19:45:25 +00:00
Manish Singh
96670b2085 pull in trio if host printf doesn't have a known way of printing 64-bit
Thu Dec 12 14:58:55 2002  Manish Singh  <yosh@gimp.org>

        * configure.in: pull in trio if host printf doesn't have a known
        way of printing 64-bit ints.

        * glib/gmacros.h: remove extra whitespace at the end

        * glib/gscanner.c (g_scanner_unexp_token): use G_GUINT64_FORMAT
        instead of hardcoding "%llu"

        * tests/testglib.c: remove obsolete conditionals using G_HAVE_GINT64,
        we always have it now.

        * tests/type-test.c: same as above, and for G_G[U]INT64_FORMAT as
        well.
2002-12-12 22:59:55 +00:00
Manish Singh
d1f37d5053 add -DG_DISABLED_DEPRECATED
Tue Oct 15 15:07:45 2002  Manish Singh  <yosh@gimp.org>

        * gmodule/Makefile.am gobject/Makefile.am gthread/Makefile.am:
        add -DG_DISABLED_DEPRECATED

        * tests/gio-test.c tests/mainloop-test.c tests/string-test.c
        tests/testglib.c test/tree-test.c tests/unicode-collate.c
        tests/unicode-normalize.c: Deprecation cleanup
2002-10-15 22:16:57 +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
Tor Lillqvist
9c35df3de3 Add missing g_pattern_match_simple and g_pattern_spec_equal.
2001-10-28  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.def: Add missing g_pattern_match_simple and
	g_pattern_spec_equal.

	* glib/gwin32.c (g_win32_get_package_installation_subdirectory):
	Set separator correctly.

	* glib/libcharset/config.charset (os): Match also mingw*.

	* tests/testglib.c (main): (Win32): Print the lib/locale
	subdirectory, as that is what actually gets used.
2001-10-28 21:05:03 +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
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
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
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
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
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
Tor Lillqvist
754d8ddad8 Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

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

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

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

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

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

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

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

	* gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.

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

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

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

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

	* gshell.c (unquote_string_inplace): Make static.

	* testglib.c: Make some vars static. Add Cygwin path tests.
2001-03-09 21:31:21 +00:00
Tor Lillqvist
00988d0d76 Implement on Win32. Append the executable file name suffixes from PATHEXT
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c(g_find_program_in_path): Implement on Win32. Append the
	executable file name suffixes from PATHEXT in turn while
	looking	for the program.
	(g_find_program_in_path): If the program we are looking for is a
	relative path in a subdirectory, don't do any path search.
2001-03-01 10:25:12 +00:00
Tor Lillqvist
b6ba941b50 Remove test for initial double backslash (UNC path), this will of course
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_path_is_absolute): (Win32) Remove test for initial
	double backslash (UNC path), this will of course be matched by the
	test for an initial G_DIR_SEPARATOR right up front. Silly me.
	(g_find_program_in_path): Implement on Win32.
	(g_get_any_init): (Win32) Also look for the USERPROFILE env var
	indicating the home directory equivalent.

	* testglib.c (main): Test g_find_program_in_path() on Win32 by
	looking for more.com and regedit.exe.

	* glib.def: Add g_find_program_in_path.
2001-03-01 09:34:45 +00:00
Tor Lillqvist
cd89e4cca6 Match also UNC paths on Win32.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_path_is_absolute): Match also UNC paths on Win32.

	* gthread.h: Include gtypes.h to be sure to get GLIB_VAR
	definition, remove definition from here.

	* gunicode.h: Remove duplicate GLIB_VAR definition from here, too.

	* gutils.c: (Win32) Use USERPROFILE as home dir if present. On
	Win2k, HOMEDRIVE and HOMEPATH aren't reliable.

	* Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.

	* makefile.mingw.in: Remove install target, Windows isn't Unix.

	* testgdate.c
	* testgdateparser.c
	* testglib.c: Undefine GLIB_COMPILATION.

	* glib.def: Updates.

	* .cvsignore
	* */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
2001-02-21 12:41:28 +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
69dbd6eb03 Add doc comments. (g_win32_get_package_installation_directory): Add one
2001-01-17  Tor Lillqvist  <tml@iki.fi>

	* gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
	comments.
	(g_win32_get_package_installation_directory): Add one parameter,
	the name of a DLL in the package. Add possibility to use that to
	deduce the installation directory if not entered into the
	Registry. Make the return value dynamically allocated.
	(g_win32_get_package_installation_subdirectory): New convenience
	function.

	* gutils.c (GLIB_LOCALE_DIR)
	* gwin32.h: Adapt accordingly.

	* testglib.c (main): Adapt tests accordingly.
2001-01-17 21:37:32 +00:00
Tor Lillqvist
a9d05d4cc4 Define ENABLE_NLS and GETTEXT_PACKAGE.
2001-01-17  Tor Lillqvist  <tml@iki.fi>

	* config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.

	* makefile.mingw.in
	* makefile.msc.in: Use the GNU intl library.

	* gwin32.c (g_win32_get_package_installation_directory): New
	function. To be used by various GLib-using packages to get their
	installation directory, which should be stored in the Registry by
	some installer.

	* gwin32.h: Declare it.

	* testglib.c (main): Test it.

	* gutils.c: On Win32, define GLIB_LOCALE_DIR using
	g_win32_get_package_installation_directory().

	* glib.def: Update.
2001-01-16 22:06:23 +00:00
Tor Lillqvist
71e0f93747 Add test for g_path_skip_root().
2001-01-05  Tor Lillqvist  <tml@iki.fi>

	* testglib.c (main): Add test for g_path_skip_root().

	* gutils.c (g_path_skip_root): Fix bugs in code I just added ;-)
2001-01-05 20:19:37 +00:00
Tor Lillqvist
4f76917c6a Improve chance to generate unique names with less effort a bit.
2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* gfileutils.c (g_mkstemp): Improve chance to generate unique
	names with less effort a bit.

	* gfileutils.h: Add g_file_open_tmp() declaration.

	* testglib.c: Include <io.h> on Win32.

	* makefile.mingw.in: Correct the way to invoke sub-makes.

2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* gtypemodule.c: Include stdlib.h for exit().

	* makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypemodule.

	* gobject.def: Add new functions.
2000-11-11 13:46:15 +00:00
Tor Lillqvist
997215e747 New function, suggested by Havoc earlier this month. (g_mkstemp): Use only
2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
	earlier this month.
	(g_mkstemp): Use only one case for letters in temp file name, as
	this will be used on systems with case-insensitive file systems.

	* testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
2000-11-10 23:43:33 +00:00
Sebastian Wilhelmi
267b681370 Introduced new function type GEqualFunc to return TRUE for equal params.
2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
	Introduced new function type GEqualFunc to return TRUE for equal
	params. This is now used instead of GCompareFunc (which should
	work akin to strcmp) here. This kind of fixes Bug #14412. Note
	that technically GCompareFunc and GEqualFunc are still the same
	types, as gint == gboolean.

	* ghash.h, gutils.c: g_int_equal and g_direct_equal now return
	gboolean to be really become GEqualFunc.

	* gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
	follow the above change.
2000-10-30 14:34:52 +00:00
Tim Janik
9432265430 for non-i386 and non-alpha, or non gcc, implement BREAKPOINT() as raise (5
Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>

        * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
        implement BREAKPOINT() as raise (5 /* SIGTRAP */);

        * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
        to turn on compilation of inline function implementations provided
        in header files with extern linkage.
        wrap inline function implementations into ifdef __G_UTILS_C__, so we
        really only compile them for gutils.c and not also into arbitrary user
        code that wants to make use of G_IMPLEMENT_INLINES.
        adjusted comment apropriately.

        * gutils.c: to turn on compilation of inline functions, provide
        #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
2000-09-07 23:08:25 +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
Sebastian Wilhelmi
fec9828ac6 Mark the functions g_basename and g_dirname deprecated. They will issue an
2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c, glib.h: Mark the functions g_basename and g_dirname
	deprecated. They will issue an warning once, when compiled with
	G_ENABLE_DEBUG, but continue to work as before. Instead the
	functions g_path_get_basename and g_path_get_dirname should be
	used, which BOTH return newly allocated memory, that has to freed
	by g_free. The new g_path_get_basename now strips trailing slashes
	from the path. This fixes #5097. For discussion see
	http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html

	* gwin32.c, testglib.c, tests/dirname-test.c: Use the new
	functions instead of the old ones.

	* gmodule/libgplugin_a.c, gmodule/testgmodule.c: Use
	g_path_get_basename instead of the deprecated g_basename.
2000-07-20 16:58:54 +00:00
Owen Taylor
6e47268c14 updated
Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>

        * NEWS: updated

	* Makefile.am: added snapcheck target to go along with snapshot

	* gstring.c glib.h (g_string_hash): Add g_string_hash to
	go along with g_string_equal.

Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>

	* glib.h: Added g_string_equal for comparing GStrings;
	changed g_str_equal so it returns gboolean (instead of gint).

	* gstring.c: Modified GString implementation to support embedded
	ASCII NUL ('\0') characters, and implemented g_string_equal.

	* testglib.c tests/string-test.c: Added tests for g_string_equal
	and tests for proper handling of embedded ASCII NUL characters.
2000-06-29 20:09:36 +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
Havoc Pennington
cf24ff7121 changed g_str_hash() to a 31 bit version based on a submission by Karl
Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>

        * gstring.c: changed g_str_hash() to a 31 bit version based on
        a submission by Karl Nelson and hand optimized ad absurdum by
        various people ;)

        * gstring.c: applied patch from havoc for new gstring functions,
        added some more sanity checks, coding style fixups.

2000-02-13  Havoc Pennington  <hp@pobox.com>

        * tests/string-test.c (main): Add tests for the new GString
        features

        * testglib.c (main): Add tests for the new GString features

        * gstring.c (g_string_insert_len): New function; insert
        a given length of string at a given position.
        (g_string_append): reimplement in terms of g_string_insert_len
        (g_string_append_len): new function
        (g_string_insert_c): accept -1 for "pos" arg to mean "append"
        (g_string_append_c): reimplement in terms of g_string_insert_c
        (g_string_prepend): reimplement in terms of g_string_insert_len
        (g_string_prepend_len): new function
        (g_string_prepend_c): reimplement in terms of g_string_insert_c
        (g_string_insert): reimplement in terms of g_string_insert_len

        * glib.h: Declare g_string_insert_len, g_string_append_len,
        g_string_prepend_len
2000-02-17 11:57:35 +00:00
Tor Lillqvist
6c5ec62da2 glib.h Rename Win32-only functions from gwin_* to g_win32_* to match the
1999-11-01  Tor Lillqvist  <tml@iki.fi>

* glib.h
* glib.def: Rename Win32-only functions from gwin_* to g_win32_*
to match the GLib naming conventions.

* gutils.c
* gwin32.c
* testglib.c
* makefile.{cygwin,msc}: Move the Win32-only functions to the new
file gwin32.c
1999-11-01 20:46:44 +00:00
Tor Lillqvist
30cc3ed1fe Don't crash if removing a nonexistent value.
1999-10-31  Tor Lillqvist  <tml@iki.fi>

* gcache.c (g_cache_remove): Don't crash if removing a nonexistent
value.

* gutils.c (gwin_getlocale): New Win32-specific function, returns
a Unixish current locale string (en, zh_TW etc).

* glib.h: Declare it.

* glib.def: Export it.

* testglib.c: Test it.

* gmessages.c (Win32: ensure_stdout_valid): Some improvements,
make sure we don't call AllocConsole several times, which I think
has happened.
1999-10-31 12:15:34 +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
2aa1277d60 Support added for building using a GNU toolchain on Win32,
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).

	* README.win32: Updated.
	* build-dll makefile.cygwin tests/makefile.cygwin: New files.
	* glib.h glib.def glibconfig.h.win32 makefile.msc: Slight updates.
	* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
	* gmain.c gutils.c testglib.c tests/string-test.c: Test for
	NATIVE_WIN32, not _MSC_VER.
	* gmutex.c: Must declare g_thread_functions_for_glib_use as
	exported (using the GUTILS_C_VAR macro).
	* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
	* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
	* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
	value of g_thread_functions_for_glib_use (?).
	* makefile.msc tests/makefile.msc: Cosmetics.
1999-04-24 13:52:51 +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
Jeff Garzik
448e792b0a - Fixed bug that overwrote nodes in hash buckets instead of adding them to
Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>

        * ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
                   g_hash_table_insert, g_hash_table_remove,
                   g_hash_table_lookup_extended):
          - Fixed bug that overwrote nodes in hash buckets instead of
            adding them to the hash bucket node list.
            Hash tables now work as advertised.

        (g_hash_table_resize):
          - Use g_new0 instead of manual init.
          - Space out code a bit for readability.

        (g_hash_nodes_destroy):
          - Replaced "if (!hash_node) return;" with
            "if (hash_node) {do stuff}".
            Testing takes up less code space than explicit call to
            'return' before end of function.  (look at gcc -S)

        Updated module header copyright to 1999.
        New module macro G_HASH_BUCKET for (table,key)->bucket lookups.

        * tests/hash-test.c:
        - Add two new tests, one with strings as the keys and values, and
          one with ints as the keys and values.  Tests indirect (strings)
          and direct (ints) hashing.
        - Cleanup unused junk left over from testglib.c.
        - Converted a g_print call to g_assert_not_reached.
        - Updated copyright to 1999.

        * testglib.c, tests/string-test.c:
        - Init 'tmp_string' var to NULL, silencing uninit-var warning.
1999-01-24 04:18:11 +00:00