74 Commits

Author SHA1 Message Date
Matthias Clasen
7455dd370e Make single includes mandatory
This has been the official line since 2.17, which seems plenty
long enough for a transition phase.
2011-10-12 00:25:38 -04:00
Chun-wei Fan
08d6e1147d Use GLIB_DEPRECATED instead of G_GNUC_DEPRECATED in our headers
This will let others opt out of seeing GLib deprecation warnings
by defining GLIB_DISABLE_DEPRECATION_WARNINGS.

https://bugzilla.gnome.org/show_bug.cgi?id=661438
2011-10-11 13:42:59 -04:00
Matthias Clasen
f9b29ca034 Add G_GNUC_DEPRECATED to deprecated APIs in glib 2011-10-08 23:16:01 -04:00
Ryan Lortie
4f36eb0f6d Reword some docs comments to avoid 'Returns ...'
If gtk-doc sees 'Returns ...' written in the text of the documentation
for a macro, it thinks that you are talking about the return value.

Avoid doing that and use 'Returns:' explicitly if we mean to.
2011-07-22 15:47:24 +02:00
Matthias Clasen
adc325fac0 Move version docs inline 2011-07-17 23:50:31 -04:00
Ryan Lortie
8073759f8c Remove all uses of G_CONST_RETURN
Just use 'const'.

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-06-09 11:15:40 -04:00
Matthias Clasen
7648415a50 Move gutils docs inline 2011-06-08 23:44:39 -04:00
Matthias Clasen
594bf7460a Fix parameter documentation for many functions
Use the opt-out mechanism introduced in gtk-doc 1.16 to work
around problems with the _utf8 renaming games that the win32
port is playing in our headers.

https://bugzilla.gnome.org/show_bug.cgi?id=638449
2011-06-04 14:43:52 -04:00
Emmanuele Bassi
08f0a31289 Revert "Remove all uses of G_CONST_RETURN"
This reverts commit 36741245cca56e979fe85e3de676fb3912058f2c.

The removal has not been discussed, except on Bugzilla:

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-03-15 09:03:28 +00:00
Ryan Lortie
36741245cc Remove all uses of G_CONST_RETURN
Just use 'const'.
2011-03-15 01:32:22 -04:00
Christian Persch
3d824065b8 Add g_get_locale_variants()
Make _g_compute_locale_variants() public as g_get_locale_variants().

Bug #635998.
2011-01-05 22:57:20 +01:00
Ryan Lortie
ba9fccf71e g_get_user_runtime_dir(): New function
Get the value of the XDG_RUNTIME_DIR environment variable.
2010-11-06 17:35:10 -04:00
Ryan Lortie
29ce7385bb Add g_get_environ(): portable access to 'environ'
Return a copy of 'environ' on platforms where that is possible, or do
something else on other platforms.
2010-10-28 22:20:56 -04:00
Hannes Müller
a1b015f7b7 avoid warning in gutils.h when using gcc with -Wconversion
https://bugzilla.gnome.org/show_bug.cgi?id=619026
2010-08-05 23:18:45 +02:00
Haakon Sporsheim
e8ccfd1bb2 Avoid compilation warning from MSVC
Signed-off-by: Tor Lillqvist <tml@iki.fi>
2010-01-05 11:32:59 +02:00
Tor Lillqvist
6e86c9a6aa Avoid gcc warning about redeclaration of atexit() on MinGW 2009-11-10 01:40:01 +02:00
Tor Lillqvist
1b298d6a1b Avoid gcc warning on Windows
Avoid "function declaration isn't a prototype" warnings from gcc 4.4
in the Windows-specific code.
2009-08-14 23:04:55 +03:00
Alexander Larsson
91bdccff75 Add g_reload_user_special_dirs_cache (#541276)
This is useful for nautilus that changes the xdg-user-dirs files.
2009-06-15 13:18:22 +02:00
Tor Lillqvist
739a81e08a Bug 570501 - g_win32_get_system_data_dirs uses invalid conversion of
2009-02-23  Tor Lillqvist  <tml@novell.com>

	Bug 570501 - g_win32_get_system_data_dirs uses invalid conversion
	of function pointer to object pointer

	* glib/gutils.c (g_win32_get_system_data_dirs_for_module): Change
	the type of the function's parameter to be explicitly a function
	pointer.

	* glib/gutils.h (_g_win32_get_system_data_dirs): Modify
	declaration and the only caller, the inline
	_g_win32_get_system_data_dirs(), accordingly. Add comments
	pointing out these are internal GLib functions.


svn path=/trunk/; revision=7899
2009-02-23 09:52:48 +00:00
Behdad Esfahbod
6d0e4aa2cf Bug 562638 – GDebugKey key member should be const
2008-11-28  Behdad Esfahbod  <behdad@gnome.org>

        Bug 562638 – GDebugKey key member should be const

        * glib/gutils.h: Change GDebugKey key member from gchar * to
        const gchar *.


svn path=/trunk/; revision=7709
2008-11-29 01:21:11 +00:00
Tor Lillqvist
e55fca9533 glib/gutils.h Deprecate G_WIN32_DLLMAIN_FOR_DLL_NAME(),
2008-09-13  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h
	* glib/gwin32.h: Deprecate G_WIN32_DLLMAIN_FOR_DLL_NAME(),
	g_win32_get_package_installation_directory() and
	g_win32_get_package_installation_subdirectory() as their
	documentation has warned for a while. Sorry that I forgot to do
	this before 2.18.0.

	* glib/gwin32.c (g_win32_get_package_installation_directory):
	Print a warning if a non-NULL package parameter is passed to this
	function, as that is deprecated usage, as the documentation says.


svn path=/trunk/; revision=7480
2008-09-13 20:23:17 +00:00
Michael Natterer
e0aa9d8a61 #define __GLIB_H_INSIDE__ around including everything.
2008-05-05  Michael Natterer  <mitch@imendio.com>

	* glib/glib.h: #define __GLIB_H_INSIDE__ around including
	everything.

	* glib/*.h: check for that define instead of __G_LIB_H__ if
	G_DISABLE_SINGLE_INCLUDES is defined.

	* glib/gdatasetprivate.h: #include <glib.h> instead of
	<glib/gdataset.h>


svn path=/trunk/; revision=6875
2008-05-05 15:02:15 +00:00
10:39:17 Tim Janik
e4b7751f44 reapply inlining fix from r6333 to fix: Bug 522292 - Gives warnings in
2008-03-31 10:39:17  Tim Janik  <timj@imendio.com>

        * glib/gutils.h: reapply inlining fix from r6333 to fix:
        Bug 522292 - Gives warnings in glib/gutils.h with GCC in C99 mode
        and again:
        Bug 315437 - extern inline -> static inline



svn path=/trunk/; revision=6789
2008-03-31 08:52:23 +00:00
Sebastian Dröge
16484fd175 Bug 522292 - Gives warnings in glib/gutils.h with GCC in C99 mode
* glib/gutils.h: Use "__attribute__ ((__gnu_inline__))" for inlining
if either __GNUC_STDC_INLINE__ or __GNUC_GNU_INLINE__ are defined. In
gcc version prior to 4.3 no correct C99-inline was implemented which
has semantic differences to GNU inline.

svn path=/trunk/; revision=6733
2008-03-18 20:06:04 +00:00
Michael Natterer
f4bb21aa1d make it possible to disable single-file includes by defining
2008-03-14  Michael Natterer  <mitch@imendio.com>

	* glib/*.h: make it possible to disable single-file includes by
	defining G_DISABLE_SINGLE_INCLUDES when building against GLib.
	Approved by Tim Janik.

	* glib/glib.h: include <glib/gslice.h>.

	* glib/gi18n.h
	* glib/gi18n-lib.h
	* glib/gprintf.h: include <glib.h> so the above works when these
	files are included without including <glib.h> first.


svn path=/trunk/; revision=6713
2008-03-14 19:30:38 +00:00
Matthias Clasen
f3a2e2143f Add a version of G_INLINE_FUNC for __GNUC__ && __GNUC_STDC_INLINE__, patch
2008-03-03  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutils.h: Add a version of G_INLINE_FUNC for
        __GNUC__ && __GNUC_STDC_INLINE__, patch by Jakub Jelinek


svn path=/trunk/; revision=6616
2008-03-03 14:42:32 +00:00
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
16:51:23 Tim Janik
d83d3a382c don't define __GNUC_PREREQ which is not in the glib namespace. for gcc,
2008-01-18 16:51:23  Tim Janik  <timj@imendio.com>

        * glib/gutils.h: don't define __GNUC_PREREQ which is not in the glib
        namespace. for gcc, define G_INLINE_FUNC to "static inline" as with
        all other C compilers, because newer GCC versions incompatibly
        changed "extern inline" semantics.



svn path=/trunk/; revision=6333
2008-01-18 15:51:49 +00:00
Matthias Clasen
3f15a98f8d Cope with gcc 4.3 changed 'extern inline' semantics. (#315437, patch by
2008-01-06  Matthias Clasen  <mclasen@redhat.com>

        * glib/gutils.h: Cope with gcc 4.3 changed 'extern inline'
        semantics.  (#315437, patch by Loïc Minier)



svn path=/trunk/; revision=6254
2008-01-07 03:08:37 +00:00
Matthias Clasen
97850735fa Fix doc formatting
svn path=/trunk/; revision=5769
2007-09-16 18:32:51 +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
Behdad Esfahbod
6b6fd9bac8 Use a more optimized g_bit_storage() when gcc is available. (#371670,
2007-01-09  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gutils.h: Use a more optimized g_bit_storage() when gcc is
        available.  (#371670, Daniel Elstner)


svn path=/trunk/; revision=5234
2007-01-09 19:05:36 +00:00
Behdad Esfahbod
048efdfbd5 Fix bug in g_bit_nth_lsf (#371631) and use __builtin_clzl for
2007-01-03  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use 
        __builtin_clzl for g_bit_storage if available (#371670).

        * tests/Makefile.am:
        * tests/bit-test.c: New test, to test g_bit_* operations against
        naive and builtin implementations.


svn path=/trunk/; revision=5200
2007-01-03 20:08:53 +00:00
Tor Lillqvist
a45be29beb Use only the wide character API here, too.
2006-12-28  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use only the wide
	character API here, too.
2006-12-28 15:41:28 +00:00
Matthias Clasen
ed9c3c2696 Fix some typos. (#351741, Kjartan Maraas)
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h:
	* glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)
2006-08-26 04:03:37 +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
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
Tor Lillqvist
f0a0fe7a44 Make this an inline function. Define it only if G_CAN_INLINE and not C++.
2005-07-20  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h (g_win32_get_system_data_dirs): Make this an
	inline function. Define it only if G_CAN_INLINE and not
	C++. (#173098)
2005-07-20 08:37:13 +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
2def3c144f Minor comment improvement.
2005-04-19  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h: Minor comment improvement.

2005-04-18  Tor Lillqvist  <tml@novell.com>

	* glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
	save_errno was missing in one place.
2005-04-19 08:08:36 +00:00
Tor Lillqvist
5a88294fc3 Improve g_get_system_data_dirs() on Windows. A library that calls
2005-04-08  Tor Lillqvist  <tml@novell.com>

	Improve g_get_system_data_dirs() on Windows. A library that calls
	g_get_system_data_dirs() might be installed in a different
	top-level prefix than GLib or the application being run.

	* glib/gutils.h (g_win32_get_system_data_dirs): New static
	function defined in this header. Calls
	g_win32_get_system_data_dirs_for_module() passing the address of
	itself as parameter. g_get_system_data_dirs() is #defined as this
	function.

	* glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
	function. If the address parameter is non-NULL, the corresponding
	module's installation location is used for one of the returned
	path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
	glib top-level and application top-level folders.
	(g_get_system_data_dirs): Now just for backward compatibility on
	Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).

	* glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
2005-04-08 12:03:16 +00:00
Tor Lillqvist
153215759c Use wide char API if available, and store dll name in UTF-8.
2005-04-08  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME): Use wide char API
	if available, and store dll name in UTF-8.
2005-04-07 23:46:38 +00:00
Matthias Clasen
b73f494fab Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is defined. This was the pre-2.6
2005-04-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is
	defined. This was the pre-2.6 behaviour, and without it,
	G_IMPLEMENT_INLINES cannot be used in multiple .c files
	at all.  (#165852, Dave Benson)
2005-04-04 03:45:13 +00:00
Matthias Clasen
f18cab0ce3 New function to list all environment variables. (#166327, Hans Petter
2005-02-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gutils.h:
	* glib/gutils.c (g_listenv): New function to list all
	environment variables.  (#166327, Hans Petter Jansson)
2005-02-08 04:28:31 +00:00
Matthias Clasen
0bf9bc065c Simplify the inlining magic to make it work at Oh zero. (#162990, Kalpesh
2005-01-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h: Simplify the inlining magic to make it
	work at Oh zero.  (#162990, Kalpesh Shah)
2005-01-05 20:10:57 +00:00
Matthias Clasen
44fea2aa61 Fix the inlining magic. (#157536, Jens Hatlak, and #149907, Morten
2005-01-04  Matthias Clasen  <mclasen@redhat.com>

	Fix the inlining magic.  (#157536, Jens Hatlak, and
	#149907, Morten Welinder)

	* configure.in: Define G_CAN_INLINE in glibconfig.h

	* glib/gutils.h: Streamline the inlining magic a bit,
	don't use extern when implementing the non-inlined
	version.
2005-01-04 05:31:44 +00:00
Tor Lillqvist
714887d0fa glib/glib.symbols glib/gutils.h Make also g_getenv(), g_setenv(),
2005-01-01  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.symbols
	* glib/gutils.h
	* glib/gutils.c: Make also g_getenv(), g_setenv(), g_unsetenv()
	and g_find_program_in_path() take and return UTF-8 strings on
	Win32. Implement DLL ABI backward compatility for them, too. Move
	all the DLL ABI stability wrappers to the end of the file. Use
	wide character API when available in inner_find_program_in_path().

	* glib/gfileutils.c: With the UTF-8ness of g_getenv() above, just
	use g_getenv() to get PATHEXT. (Yeah, it's probably overdoing it
	to consider somebody actually having anything else than ASCII
	in PATHEXT, but...)
2005-01-01 02:09:51 +00:00
Matthias Clasen
379e87466d Mark functions with G_GNUC_MALLOC when appropriate.
2004-11-28  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.h:
	* glib/gkeyfile.h:
	* glib/gmem.h:
	* glib/gstrfuncs.h:
	* glib/gunicode.h:
	* glib/gutils.h: Mark functions with G_GNUC_MALLOC when appropriate.

	* glib/glib.symbols: Add G_GNUC_MALLOC annotations.

	* glib/gmacros.h (G_GNUC_MALLOC): Add a macro for
	__attribute__((__malloc__)).  (#61780)
2004-11-28 19:12:04 +00:00
Tor Lillqvist
75a1d303ef glib/gutils.[hc] [Win32] Make also g_get_user_name() and g_get_real() name
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-11-28 18:39:24 +00:00
Matthias Clasen
b8f2678c86 Make gtkdoc-scan happy by removing spaces between gchar and *.
2004-11-01  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h: Make gtkdoc-scan happy by removing spaces
	between gchar and *.
2004-11-02 04:46:02 +00:00