2004-12-30 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_path_skip_root): Require UNC paths to start
with exactly two slashes.
(g_get_current_dir): Use wide character API when available.
(g_path_get_dirname): Handle UNC paths better. Part of fix for
#161797.
2004-12-07 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.c (g_get_language_names): Update the returned
value after locale changes. (#160271, Christian Persch)
(_g_utils_thread_init): Initialize the language name cache
before going threaded.
* glib/gthread.c (g_thread_init_glib): Call _g_utils_thread_init().
* glib/gthreadinit.h: Add _g_utils_thread_init().
2004-11-28 Tor Lillqvist <tml@iki.fi>
* glib/gutils.[hc]
* glib/glib.symbols: [Win32] Make also g_get_user_name() and
g_get_real() name return UTF-8. As for the similar changes to fix
#101792, for DLL ABI stability we use preprocessor defines to get
the new UTF-8 versions, and keep the old names for versions
returning strings in the system codepage.
Fix g_get_tmp_dir() and g_get_home_dir() to actually return UTF-8
as was intended in the fix for bug #101792. (#159664, noticed by
Robert Ögren)
2004-10-29 Hans Breuer <hans@breuer.org>
* glibconfig.h */makefile.msc.in : updated [and finally fixed my
script to produce ready to go de-in(ed) files, w/o autotools]
* */*.rc.in : updated copyrights to 2004
* glib/gutils.c : some CSIDL_* defines lacking from older SDK;
use the same fallback mecahnism as on *NIX where ever applicable
2004-10-27 Matthias Clasen <mclasen@redhat.com>
Introduce the idea of a filename encoding, which is
*literally* the filename encoding on Unix. On windows,
use the Unicode name converted to UTF-8. (#156325,
Tor Lillqvist, Owen Taylor)
* glib/gdir.[hc]:
* glib/gconvert.[hc]:
* glib/gfileutils.[hc]:
* glib/gutils.[hc]:
* glib/giowin32.c: On Windows, keep old ABI versions
of GLib pathname api for DLL ABI stability. Use different
names for the new-style UTF-8 versions. Hide this through
a #define.
* glib/gstdio.[hc]: New files containing wrappers for
POSIX pathname api.
* glib/glib.symbols: Add new symbols.
* glib/makegalias.pl: Drop Win32 specific .def syntax,
include gstdio.h
2004-10-23 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.h:
* glib/gkeyfile.c: Add a parser for desktop entries and
similar files with a .ini-like syntax. (#139974, Ray Strode)
* glib/glib.h: Include gkeyfile.h
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
(glibsubinclude_HEADERS): Add gkeyfile.h
* glib/gutils.c (_g_compute_locale_variants): Make this
non-static and use it in gkeyfile.c
2004-09-08 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (guess_category_value): On Win32, as last resort
call g_win32_getlocale() to get the current thread locale. There
usually aren't any POSIXish LANG or LC_* environment variables
present on Windows machines.
* glib/glib.def: Add g_get_language_names.
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-08-25 Tor Lillqvist <tml@iki.fi>
Win32 equivalences of the XDG folders
* glib/gutils.c (get_special_folder): New function, calls
SHGetSpecialFolderLocation() to get path to places like the My
Documents folder.
(g_get_any_init): Use CSIDL_PROFILE as HOME if not
overridden by env vars.
(g_get_user_data_dir): Use CSIDL_PERSONAL.
(g_get_user_config_dir): Use CSIDL_APPDATA.
(g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
(g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
CSIDL_COMMON_DOCUMENTS.
(g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
* configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
* glib/glib.def: Add the new functions.
2004-08-06 Hans Breuer <hans@breuer.org>
* glib/makefile.msc.in glib/glib.def : updated
* glib/gutils.c : avoid 'inconsitent dll linkage' by not
defining extern char** environ with msvc
Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
* glib/gutils.h (g_get_codeset): strdup result so caller
doesn't free internally managed memory.
Tue Aug 3 14:58:20 2004 Matthias Clasen <maclas@gmx.de>
* glib/gutils.h:
* glib/gutils.c (glib_check_version): New function to
check the version of GLib at runtime. (#149175, Michael Natterer)
2004-03-21 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
cases where a drive letter is present. For 'a:' or 'a:foo', return
'a:.'. This is mostly just for consistency with the behaviour
without a drive letter. But very important is to for 'a:\foo' or
'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
instead of backslashes.) (#137316)
* tests/dirname-test.c (main): More complete testing on
Win32. If a test fails, include expected and actual result in
error message.
Thu Jan 22 00:41:34 2004 Matthias Clasen <maclas@gmx.de>
* glib/gutils.c (g_get_any_init): Don't treat the Win32
user name like a gecos field, and when extracting a real
name from a gecos field, replace '&' by the capitalized
user name (a traditional passwd feature).
(#118973, reported by Soeren Boll Overgaard)
2003-10-24 Tor Lillqvist <tml@iki.fi>
* configure.in: Force shared library (DLL) only on Windows.
(I don't think that is controversial?) Remove unnecessary
AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
Win32, it is not used by mingw or MSVC headers.
* config.h.win32.in
* glibconfig.h.win32.in: Match what configure produces.
* glib/gconvert.c
* glib/gutils.c: Mark a couple of functions and variables that
aren't public as static.
* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
it potentially differently, to silence compiler.
* glib/glib.def: Add some missing entries.
* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
libtestgobject.
* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
to g_object_set() and _get().
2003-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-10 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_getenv): Don't use a cache of variable name to
value mappings on Win32, as that breaks g_setenv() and
g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
and in that case return a quarkified string. It is still
questionable how necessary expanding embedded environment variable
references is. Possibly the whole Win32-specific g_getenv()
implementation could be removed. (#119520)
2003-08-07 Matthias Clasen <maclas@gmx.de>
* tests/env-test.c: Add tests for '=' in names and values.
* glib/gutils.c (g_setenv, g_unsetenv): Check that the variable name doesn't contain '='. Add a
declaration for environ. (#119338)
Sat Dec 14 21:24:04 2002 Owen Taylor <otaylor@redhat.com>
* glib/gutils.c (g_get_any_init): HP-UX 10 xshares the
same non-posix getpwuid_r signature as AIX.
(#100756, Kai Poitschke)
* 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.
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.
Thu Nov 7 19:32:26 2002 Owen Taylor <otaylor@redhat.com>
* glib/gutils.[ch] (g_set/get_application_name):
Patch from Havoc Pennington to add functions for
setting and getting a human readable application
name.
* configure.in: Up to version 2.1.3, since we'll
need to depend on last addition for GTK+.
Tue Mar 5 00:38:54 2002 Owen Taylor <otaylor@redhat.com>
* glib/gutils.c (g_get_any_init): Where we have
getpwuid[_r], use that in preference to $HOME, and
only check $HOME as a fallback if getpwuid fails.
(#2311)
2001-10-23 Tor Lillqvist <tml@iki.fi>
* glib/gutils.h: Remove G_HARDCODED_PATH_WRAPPER, Owen didn't like
it.
* glib/gutils.c: Instead, expand it on Win32 as
_glib_get_locale_dir(), and #define GLIB_LOCALE_DIR as a call to
it.
2001-10-23 Tor Lillqvist <tml@iki.fi>
* glib/gutils.h: Add macros G_WIN32_DLLMAIN_FOR_DLL_NAME and
G_HARDCODED_PATH_WRAPPER. These are used to avoid hardcoding path
names into Windows DLLs.
* glib/gutils.c: Use them for GLIB_LOCALEDIR.
* glib/gwin32.c (get_package_directory_from_module): Plug a small
memory leak. Minor code reordering.
(g_win32_get_package_installation_subdirectory): Allow empty subdir.
2001-10-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gutils.c (g_set_prgname, g_get_prgname): Use another LOCK
for g_prgname to avoid deadlocking. (#62606)