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)
2001-10-03 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (Win32) (DllMain): New function (DLL entry point)
to tuck away actual DLL name.
(GLIB_LOCALE_DIR) Use actual DLL name, instead of assuming one
naming convention for DLLs.
* glib/glib.def: g_string_append_printf.
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.
Wed Sep 19 12:49:11 2001 Owen Taylor <otaylor@redhat.com>
* glib/gutils.c (g_get_any_init): Handle failure of
sysconf and pick a fixed size buffer. (Happens on Cygwin
#60242)