368 Commits

Author SHA1 Message Date
Tor Lillqvist
811b86fa56 Mention G_WIN32_DLLMAIN_FOR_DLL_NAME() will be deprecated in the future.
2008-02-24  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h: Mention G_WIN32_DLLMAIN_FOR_DLL_NAME() will be
	deprecated in the future.

	* glib/gutils.c: Drop use of G_WIN32_DLLMAIN_FOR_DLL_NAME(). Use a
	minimal DllMain() instead that just saves the DLL handle.
	(g_win32_get_system_data_dirs_for_module, _glib_get_locale_dir)
	(get_module_share_dir): Use
	g_win32_get_package_installation_directory_of_module().


svn path=/trunk/; revision=6570
2008-02-24 01:07:41 +00:00
Hans Breuer
521e741d56 define CSIDL_MYPICTURES if not available use G_STRFUNC instead of compiler
2008-02-17  Hans Breuer  <hans@breuer.org>

	* glib/gutils.c : define CSIDL_MYPICTURES if not available
	* gthread/gthread-win32.c : use G_STRFUNC instead of compiler 
	specific __FUNCTION__


svn path=/trunk/; revision=6526
2008-02-17 12:49:12 +00:00
Wouter Bolsterlee
ca25b31ee3 Fixed gtk-doc warnings by updating the documentation of various functions.
2008-01-30  Wouter Bolsterlee  <wbolster@svn.gnome.org>

	* glib/gchecksum.c:
	* glib/gtestutils.c:
	* glib/gutils.c:

	Fixed gtk-doc warnings by updating the documentation of
	various functions.

svn path=/trunk/; revision=6429
2008-01-30 20:52:13 +00:00
Mathias Hasselmann
f87b822b21 Allow NULL strings in g_parse_debug_string. (#503862, Matthew Barnes)
* glib/gutils.c:
Allow NULL strings in g_parse_debug_string. (#503862, Matthew Barnes)

svn path=/trunk/; revision=6137
2007-12-16 15:04:51 +00:00
Matthias Clasen
01f1f9ce56 Fix up some doc comments, avoid C99 comments
2007-11-28  Matthias Clasen  <mclasen@redhat.com>

        * glib/gtestutils.c: Fix up some doc comments, avoid C99 comments

        * glib/gconvert.c: De-doc-commentify static functions to
        shut up gtk-doc.

        * glib/gutils.c: Fix the glib_gettext doc comment.


svn path=/trunk/; revision=5982
2007-11-28 18:53:22 +00:00
Alexander Larsson
6ae887bb9b Add in the new symbols
2007-11-28  Alexander Larsson  <alexl@redhat.com>

        * glib/glib.symbols:
	Add in the new symbols
	
        * glib/gurifuncs.c:
	Use the aliases framework
	
        * glib/glibintl.h:
        * glib/gutils.c:
	Make the alias stuff work now that glib_gettext
	is exported to libgio. 


svn path=/trunk/; revision=5973
2007-11-28 14:35:14 +00:00
Tor Lillqvist
007d3ad28a Use either lib/locale or share/locale depending on which one is in
2007-11-27  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (_glib_get_locale_dir) [Win32]: Use either
	lib/locale or share/locale depending on which one is in
	GLIB_LOCALE_DIR. When the configury recognizes GNU gettext (based
	on the _nl_msg_cat_cntr variable, eek), share/locale gets used.

	* glib-zip.in: Likewise, look for message catalogs either in
	lib/locale or share/locale.


svn path=/trunk/; revision=5944
2007-11-26 22:32:12 +00:00
Alexander Larsson
8bdbcb9213 gio/ docs/reference/gio Merged gio-standalone into glib.
2007-11-26  Alexander Larsson  <alexl@redhat.com>

        * Makefile.am:
        * configure.in:
        * gio-2.0-uninstalled.pc.in:
        * gio-2.0.pc.in: 
        * gio-unix-2.0-uninstalled.pc.in:
        * gio-unix-2.0.pc.in:
	* gio/
	* docs/reference/gio
	Merged gio-standalone into glib.
	
        * glib/glibintl.h:
        * glib/gutils.c:
	Export glib_gettext so that gio can use it
	Add P_ (using same domain for now)
	Add I_ as g_intern_static_string


svn path=/trunk/; revision=5940
2007-11-26 16:12:50 +00:00
Matthias Clasen
d2f111fca7 Require gtk-doc 1.8.
2007-11-25  Matthias Clasen  <mclasen@redhat.com>

        * configure.in: Require gtk-doc 1.8.

        * glib/gasyncqueue.c:
        * glib/gdate.c:
        * glib/gfileutils.c:
        * glib/gmain.c:
        * glib/gmarkup.c:
        * glib/gregex.c:
        * glib/gtestutils.c:
        * glib/gutils.c: Use gtk-doc abbreviations for
        examples in doc comments.


svn path=/trunk/; revision=5933
2007-11-25 06:05:06 +00:00
Matthias Clasen
dbfdac8d22 Fix the doc wording. (#491957, Areg Beketovski)
2007-11-08  Matthias Clasen <mclasen@redhat.com>

        * glib/gmain.c (g_main_context_release): Fix the doc
        wording.  (#491957, Areg Beketovski)



svn path=/trunk/; revision=5836
2007-11-09 03:01:01 +00:00
Tor Lillqvist
43c16432fc Plug small one-time leak on Windows. (#488068, Daniel Atallah)
2007-10-22  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (_glib_gettext): Plug small one-time leak on
	Windows. (#488068, Daniel Atallah)


svn path=/trunk/; revision=5795
2007-10-22 20:13:55 +00:00
Tor Lillqvist
75f974d1d9 Drop leftover use of a union.
2007-08-01  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (get_special_folder): Drop leftover use of a
	union.


svn path=/trunk/; revision=5661
2007-08-01 09:49:02 +00:00
Matthias Clasen
c03ddad312 More docs
svn path=/trunk/; revision=5580
2007-06-18 19:12:10 +00:00
Matthias Clasen
7a6d2233e4 Prevent segfaults on long paths. (#447935, Robby Griffin)
2007-06-17  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutils (g_get_current_dir): Prevent segfaults on
        long paths.  (#447935, Robby Griffin)


svn path=/trunk/; revision=5574
2007-06-18 16:35:41 +00:00
Emmanuele Bassi
72024709cc Remove the cache expiration logic: it makes g_get_user_special_dir() not
2007-06-11  Emmanuele Bassi  <ebassi@gnome.org>

	* glib/gutils.c (maybe_expire_user_special_dirs),
	(g_get_user_special_dir): Remove the cache expiration logic: it
	makes g_get_user_special_dir() not thread-safe. Document the fact
	that on some platform the value might be changed by the user and
	that GLib won't be able to reflect the change.

svn path=/trunk/; revision=5550
2007-06-11 15:31:29 +00:00
Matthias Clasen
fc0295e4cd Fix a thinko
svn path=/trunk/; revision=5545
2007-06-06 19:15:00 +00:00
Tor Lillqvist
e087f8c43c Add definitions for more CSIDL_* constants in case missing from headers.
2007-06-06  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c: Add definitions for more CSIDL_* constants in
	case missing from headers. Use CSIDL_PERSONAL instead of
	CSIDL_MYDOCUMENTS as CSIDL_MYDOCUMENTS seems to be a new thing
	that doesn't work in XP SP2 even.


svn path=/trunk/; revision=5544
2007-06-06 19:13:45 +00:00
Matthias Clasen
f6f9877b50 Fall back to $HOME/Desktop for the DESKTOP directory, like
2007-06-06  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutils.c (g_get_user_special_dir): Fall back to
        $HOME/Desktop for the DESKTOP directory, like
        xdg_user_dir_lookup() does.


svn path=/trunk/; revision=5543
2007-06-06 19:05:53 +00:00
Matthias Clasen
bcc342b81b Don't deadlock when running with threads. (#444121, Christian Persch)
2007-06-05  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutils.c (g_get_user_special_dir): Don't deadlock
        when running with threads.  (#444121, Christian Persch)


svn path=/trunk/; revision=5535
2007-06-05 17:36:17 +00:00
Matthias Clasen
d154485bc7 Add support for a number of special directories, as defined by the
2007-06-04  Matthias Clasen  <mclasen@redhat.com>

        Add support for a number of special directories, as
        defined by the xdg-user-dirs specification.  (#432651,
        Bastien Nocera, Emmanuele Bassi, Michael Natterer)

        * glib/glib.symbols:
        * glib/gutils.[hc]: Add the GUserDirectory enum and
        g_get_user_special_dir(), with implementations based
        on the xdg-user-dirs spec and on native interfaces
        for Win32 and Carbon.

        * configure.in: Add Carbon checks.

        * tests/tetsglib.c: Test g_get_user_special_dir().


svn path=/trunk/; revision=5528
2007-06-04 14:54:49 +00:00
Matthias Clasen
8187230ab4 Improve docs
svn path=/trunk/; revision=5251
2007-01-12 17:54:13 +00:00
Tor Lillqvist
98d5dea18a : Use only the wide character API here, too.
2006-12-28  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (get_windows_directory_root): : Use only the wide
	character API here, too.
2006-12-28 15:47:42 +00:00
Matthias Clasen
98d552e0cd Consistently use gsize rather than size_t. (#333310, Morten Welinder)
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

        * glib/gconvert.[hc]:
        * glib/gfileutils.c:
        * glib/giochannel.c:
        * glib/goption.c:
        * glib/gspawn.c:
        * glib/gunicollate.c:
        * glib/gutils.c:
        * tests/timeloop-basic.c:
        Consistently use gsize rather than size_t.  (#333310,
        Morten Welinder)
2006-12-28 04:48:06 +00:00
Tor Lillqvist
f8f4e16eb9 Correct C99ism (mixed declarations and code) in Win32 ifdef branch.
2006-09-02  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
	declarations and code) in Win32 ifdef branch. (#353903, Mike
	Edenfield)
2006-09-01 23:32:05 +00:00
Tor Lillqvist
da422c0060 Remove support for Windows 9x/ME, as will be done also in Pango and GTK+.
2006-08-29  Tor Lillqvist  <tml@novell.com>

	Remove support for Windows 9x/ME, as will be done also in Pango
	and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
	it's pretty pointless to keep the Win9x code in here either. If
	somebody is interested, the code can always be found in older GLib
	versions, and in CVS.

	* glib/gdir.c
	* glib/gfileutils.c
	* glib/gspawn-win32-helper.c
	* glib/gspawn-win32.c
	* glib/gstdio.c
	* glib/gutils.c
	* glib/gwin32.c
	* glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
	G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
	branches, and any variables or static functions used only by the
	Win9x branches.

	* glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
	run on Win9x.
2006-08-29 22:45:00 +00:00
Behdad Esfahbod
4e866367a7 When matching debug flag keys, ignore case and accept any of comma, colon,
2006-07-06  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gutils.c (g_parse_debug_string): When matching debug flag keys,
        ignore case and accept any of comma, colon, semicolon, space, and tab
        as separators.  Also, match dash with underscore.
2006-07-06 20:30:16 +00:00
Tor Lillqvist
fdc1c28a5e Add Windows notes to doc comment.
2006-06-14  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_listenv): Add Windows notes to doc comment.
2006-06-13 22:46:52 +00:00
Sebastian Wilhelmi
e4f8f3b95c Renamed to glib/gthreadprivate.h and moved system thread identifier
2006-05-09  Sebastian Wilhelmi  <wilhelmi@google.com>

	* glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved
	system thread identifier comparision and assignment macros from
	glib/gthread.c to glib/gthreadprivate.h.

	* glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c,
	glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c,
	glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use
	glib/gthreadprivate.h instead of glib/gthreadinit.h.

	* gthread/gthread-impl.c: Use GSystemThread instead of GThread for
	owner determination. This fixes #311043 and is mostly modeled
	after the patch from jylefort@FreeBSD.org.
2006-05-10 00:44:50 +00:00
Matthias Clasen
9e58246669 Don't read past the end of the string. (#334471, Morten Welinder)
2006-03-14  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.c (g_parse_debug_string): Don't read past the
	end of the string.  (#334471, Morten Welinder)
2006-03-14 17:56:27 +00:00
Tor Lillqvist
5a2950d041 Separate implementation on Win32: Use the wide character API on NT-based
2006-03-01  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_listenv): Separate implementation on Win32: Use
	the wide character API on NT-based Windows. Return UTF-8 strings.

	* glib/glib.symbols: Don't mark g_listenv as PRIVATE, as that
	meant it wasn't present in the import library. PRIVATE is used
	only for the backwards-compatibility DLL ABI stability hacks.
2006-03-01 14:18:55 +00:00
Tim Janik
35db6815fd wiped out all the wonderfull G_OS_WIN32 code i wrote ;-[) after tml told
Mon Jan 23 17:30:33 2006  Tim Janik  <timj@imendio.com>

        * glib/gutils.c (_g_getenv_nomalloc): wiped out all the wonderfull
        G_OS_WIN32 code i wrote ;-[) after tml told me windows has getenv()
        as well.
2006-01-23 16:32:22 +00:00
Tim Janik
75db578288 initialize GSlice config from G_SLICE environemtn variable. we support
Mon Jan 23 16:46:20 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.c (slice_config_init): initialize GSlice config from
        G_SLICE environemtn variable. we support G_SLICE=always-malloc
        currently, which forces all g_slice_*() allocations to use the system
        malloc instead.

        * glib/gutils.c:
        g_parse_debug_string(): added a note about not using g_malloc() here.
        _g_getenv_nomalloc(): getenv() variant that doesn't use g_malloc or
        g_slice. contains only guesswork in the WIN32 branch.
2006-01-23 15:51:06 +00:00
Matthias Clasen
fd73fead6f Fix a copy-and-paste error in the docs. (#325273, Declan Naughton)
2005-12-29  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.c (glib_check_version): Fix a copy-and-paste error
	in the docs.  (#325273, Declan Naughton)
2005-12-30 02:08:02 +00:00
Matthias Clasen
0b5560da8b Add versioned deprecation information 2005-12-05 15:38:54 +00:00
Matthias Clasen
8529c47126 Handle multiple user names with the same UID better. (#319535, Laszlo
2005-12-04  Matthias Clasen  <mclasen@redhat.com>

	Handle multiple user names with the same UID better.
	(#319535, Laszlo Peter)

	* glib/gutils.c (g_get_any_init_do): When determining user
	data, first look up $LOGNAME. If the UID doesn't match
	getuid(), fall back to the current behaviour of looking
	up the user data based on getuid().
2005-12-04 07:00:50 +00:00
Tor Lillqvist
130763338c Wrapping atexit() is a bad idea on Windows, where the EXE and each DLL
2005-08-31  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h: Wrapping atexit() is a bad idea on Windows, where
	the EXE and each DLL have their own atexit function chains.

	#define g_atexit as atexit instead. This means it has a
	better chance of doing what the caller wants. For instance,
	gtkhtml calls g_atexit() registering a function in gtkhtml
	itself. This caused a crash when g_atexit() was implemented as a
	function in the GLib DLL. The gtkhtml DLL was already unloaded by
	the time the GLib DLL got unloaded.

	* glib/gutils.c: #undef the #define mentioned above, to also get a
	real g_atexit() into the DLL for backward compatibility. Document
	the Windows behaviour of g_atexit(), and document the varying ways
	atexit() can behave in the context of dynamically loaded modules
	on Unix.
2005-08-31 21:02:47 +00:00
Matthias Clasen
4adde8fdca Fix the crt_externs.h include 2005-08-24 03:11:45 +00:00
Matthias Clasen
a1ab92582c Check for crt_externs.h and _NSGetEnviron.
2005-08-17  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Check for crt_externs.h and _NSGetEnviron.

	* glib/gutils.c: On Darwin, include crt-externs.h and
	define environ using _NSGetEnviron().  (#313731)
2005-08-17 18:31:08 +00:00
Stepan Kasal
63828e25ec Move the body of the big if... (g_get_any_init_do): ... to this new
2005-08-16  Stepan Kasal  <kasal@ucw.cz>

	* glib/gutils.c (g_get_any_init): Move the body of the big if...
	(g_get_any_init_do): ... to this new function.
	(g_get_any_init): Declare as inline.
	(g_get_any_init_locked): New inline function, does the locking.
	Make use of these two throughout the code.
2005-08-17 12:00:51 +00:00
Tor Lillqvist
535939a144 Use "localhost" as fallback for g_get_host_name(), not "unknown".
2005-08-11  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_get_any_init): Use "localhost" as fallback for
	g_get_host_name(), not "unknown".
2005-08-10 21:13:29 +00:00
Matthias Clasen
f3d4fb75b8 Initialize variables to not make gcc nervous.
2005-08-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.c (_g_compute_locale_variants): Initialize
	variables to not make gcc nervous.
2005-08-09 02:45:20 +00:00
Ross Burton
fada30c956 Small doc updates 2005-08-03 20:24:18 +00:00
Matthias Clasen
35425ca9d6 Ignore anomalous environment entries which are not of the form
2005-07-10  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.c (g_listenv): Ignore anomalous environment
	entries which are not of the form variable=value.  (#309859,
	Morten Welinder)
2005-07-10 04:44:27 +00:00
Matthias Clasen
b78a0792a4 Apply a patch which may make GLib work on BeOS again. (#309157, Kian
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	Apply a patch which may make GLib work on BeOS again.
	(#309157, Kian Duffy)

	* glib/gmain.c: Update the BeOS includes.

	* glib/gstdio.c:
	* glib/gutils.c (g_find_program_in_path):
	* glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
	implementation on BeOS, as well.

	* configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
	on BeOS.
2005-06-30 19:43:48 +00:00
Tor Lillqvist
adb066fa11 Add Since: 2.8 to g_get_host_name(). 2005-06-22 09:02:41 +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
b8d34f6609 New helper function on Win32, returns the root of the drive (or possibly
2005-06-08  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (get_windows_directory_root): New helper function
	on Win32, returns the root of the drive (or possibly share) where
	the Windows directory is. (In the case of Terminal Server sessions
	the Windows directory is a per-user folder.)
	(g_get_any_init): Use get_windows_directory_root() as last resort
	for both temp directory and home directory. g_get_home_dir() now
	never returns NULL on Win32. Don't look at HOMEDRIVE and
	HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
	drive root should be enough.
2005-06-08 20:03:12 +00:00
Matthias Clasen
6bdf0d9a44 Fix some typos 2005-05-01 21:40:46 +00:00
Tor Lillqvist
dc11b4370f Don't call g_set_error() unless the GError pointer is non-NULL. This
2005-04-27  Tor Lillqvist  <tml@novell.com>

	* glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
	call g_set_error() unless the GError pointer is non-NULL. This
	avoids infinite recursion problems in certain rare situations on
	Windows, when g_locale_from_utf8() is called from
	_glib_get_locale_dir() after the change below. It's the
	_glib_gettext() calls to translate error messages that are
	parameters to g_set_error() that cause the recursion, not
	g_set_error() itself.

	* glib/gwin32.c (g_win32_locale_filename_from_utf8): New
	function. Converts a filename to the system codepage, and if a
	straight conversion isn't possible (because the filename contains
	characters not in the system codepage), try looking up the
	filename (which should refer to an existing file for this to
	succeed) with short (8.3) pathname components.

	* glib/gutils.c (_glib_get_locale_dir): No need to cache the
	result, this function is normally called only once. Return the
	path to the locale directory in system codepage, not UTF-8. The
	path is passed to bindtextdomain(), which doesn't use UTF-8 file
	names. Use g_win32_locale_filename_from_utf8(). (#301772)

	Don't do run-time lookup of message catalog directory on
	Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
	we use paths fixed at configure time.
2005-04-27 09:50:09 +00:00
Tor Lillqvist
853114e68b Include <process.h> on Win32 for getpid(). (#173094)
2005-04-09  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c: Include <process.h> on Win32 for getpid(). (#173094)
2005-04-09 01:21:29 +00:00