Commit Graph

1247 Commits

Author SHA1 Message Date
Ryan Lortie
aba0f0c38b gatomic: introduce G_ATOMIC_LOCK_FREE
We clean up the detection of if we should do 'real' atomic operations or
mutex-emulated ones with the introduction of a new (public) macro:
G_ATOMIC_LOCK_FREE.  If defined, our atomic operations are guaranteed to
be done in hardware.

We need to use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 to determine if our
compiler supports GCC-style atomic operations from the gatomic.h header
because we might be building a program against GLib using a different
set of compiler options (or a different compiler) than was used to build
GLib itself.

Unfortunately, this macro is not available on clang, so it has currently
regressed to using the mutex emulation.  A bug about that has been
opened here:

  http://llvm.org/bugs/show_bug.cgi?id=11174
2011-10-18 16:45:28 -04:00
Matthias Clasen
45f221c32f Move GTrashStack out of gutils.[hc]
Reducing the mess in gutils, and moving docs inline
at the same time. Double win.
2011-10-16 16:52:24 -04:00
Matthias Clasen
d0bb1e0b0a Move g_get_codeset next to g_get_charset
g_get_codeset is a close relatove to g_get_charset, and up to now
it lived a shadowy existence without any header presence.
2011-10-15 23:27:28 -04:00
Christian Persch
a57c9148cf GKeyFile: Add refcounting API
Adds g_key_file_ref and g_key_file_unref, to be used by a future
GKeyFile boxed type for language bindings.

Based on the patch by Christian Persch and Emmanuele Bassi.

Author: Christian Persch
Signed-off-by: Johan Dahlin
Signed-off-by: Giovanni Campagna

https://bugzilla.gnome.org/show_bug.cgi?id=590808
2011-10-15 17:44:45 -04:00
Matthias Clasen
117e534091 Misc doc formatting fixes 2011-10-15 17:00:56 -04:00
Dan Winship
409d93148f gutils: Add functions for working with environment arrays
When spawning a child process, it is not safe to call setenv() before
the fork() (because setenv() isn't thread-safe), but it's also not
safe to call it after the fork() (because it's not async-signal-safe).
So the only safe way to alter the environment for a child process from
a threaded program is to pass a fully-formed envp array to
exec*/g_spawn*/etc.

So, add g_environ_getenv(), g_environ_setenv(), and
g_environ_unsetenv(), which act like their namesakes, but work on
arbitrary arrays rather than working directly on the environment.

http://bugzilla.gnome.org/show_bug.cgi?id=659326
2011-10-15 15:54:45 -04:00
Ryan Lortie
e75e9c3044 Rename g_thread_try to g_thread_try_new 2011-10-15 09:48:10 -04:00
Matthias Clasen
81431fa5b8 Add g_thread_try to the docs 2011-10-14 23:12:06 -04:00
Matthias Clasen
d000bf67f7 Update doc lists 2011-10-14 23:01:05 -04:00
Ryan Lortie
51773c6c64 Mask all signals in GLib worker thread
Some code using GLib (gnome-keyring-daemon, for example) assumes that
they can catch signals by masking them out in the main thread and
calling sigwait() from a worker.

The problem is that our new worker thread catches the signals before
sigwait() has a chance and the default action occurs (typically
resulting in program termination).

If we mask all the signals in our worker, then this can't happen.
2011-10-14 20:01:22 -04:00
Ryan Lortie
4033c616ff GCond: use monotonic time for timed waits
Switch GCond to using monotonic time for timed waits by introducing a
new API based on monotonic time in a gint64: g_cond_wait_until().

Deprecate the old API based on wallclock time in a GTimeVal.

Fix up the gtk-doc for GCond while we're at it: update the examples to
use static-allocated GCond and GMutex and clarify some things a bit.
Also explain the rationale behind using an absolute time instead of a
relative time.
2011-10-13 23:44:17 -04:00
Matthias Clasen
6613b2f8fd Move more docs inline 2011-10-12 22:29:53 -04:00
Matthias Clasen
75ea14e885 Move GScanner docs inline 2011-10-12 21:49:44 -04:00
Matthias Clasen
2da83bbd36 Deprecate GCache
Ryan said it would be 'deprecated soon in GLib', when he removed
the use of this in GTK+. That was a year ago, so its about time
we act on it.
2011-10-12 19:55:02 -04:00
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
Matthias Clasen
c6016458ba Update deprecation docs 2011-10-11 23:50:34 -04:00
Matthias Clasen
a1acf35653 Add our own deprecation macros
This will allow to suppress deprecation warnings on a per-module
basis, if needed. They are on by default now, though.
2011-10-11 13:42:58 -04:00
Matthias Clasen
0da0411a4a Add better deprecation macros
Unlike G_GNUC_... macros, the new G_DEPRECATED[_FOR] are
meant as abstractions that work with different compilers.
Using a new name also lets us restrict it to 'must be placed
before the declaration', which works with more compilers.

https://bugzilla.gnome.org/show_bug.cgi?id=661438
2011-10-11 13:13:27 -04:00
Dan Winship
59f1f54655 Add g_main_context_ref_thread_default()
Add g_main_context_ref_thread_default(), which always returns a
reffed GMainContext, rather than sometimes returning a (non-reffed)
GMainContext, and sometimes returning NULL. This simplifies the
bookkeeping in any code that needs to keep a reference to the
thread-default context for a while.

https://bugzilla.gnome.org/show_bug.cgi?id=660994
2011-10-07 10:14:34 -04:00
Ryan Lortie
e76927006a Move G_LOCK below GMutex in the docs
The flow is currently a bit wrong since G_LOCK makes reference to GMutex
which was not yet defined, so switch things around.
2011-10-06 12:24:21 -04:00
Ryan Lortie
761e75f849 .gitignore 2011-10-06 12:21:33 -04:00
Ryan Lortie
083812f854 Several docs cleanups 2011-10-06 12:19:58 -04:00
Ryan Lortie
94b7d2ee6c Cleanup thread documentation 2011-10-06 12:01:53 -04:00
Matthias Clasen
47c7fa2ccd Remove mention of gthread-2.0.pc from 'Compiling' section
At the same time, add one or two other corrections.
2011-10-05 22:31:17 -04:00
Matthias Clasen
fa6710ab6f Documentation fixes 2011-10-02 23:43:45 -04:00
Ryan Lortie
2a677d1370 locks: drop _INIT macros
All locks are now zero-initialised, so we can drop the G_*_INIT macros
for them.

Adjust various users around GLib accordingly and change the docs.

https://bugzilla.gnome.org/show_bug.cgi?id=659866
2011-10-02 22:33:10 -04:00
Ryan Lortie
8e43470c38 Stop dithering over GPrivate
Take out the half-private g_private_init() stuff and replace it with a
G_PRIVATE_INIT macro that allows specifying a GDestroyNotify.

Expose the GPrivate structure in a public header.

Add a g_private_replace() to (sort of) match the functionality of
g_static_mutex_set().

Improve the documentation.

Deprecate g_private_new().
2011-10-02 20:04:03 -04:00
Matthias Clasen
0e8bcc3ed7 Move GString docs inline 2011-10-01 23:27:45 -04:00
Matthias Clasen
7154d44c5c Move file utility docs inline 2011-10-01 23:03:09 -04:00
Matthias Clasen
ca77b0e252 Move string utility docs inline 2011-10-01 22:48:27 -04:00
Matthias Clasen
793ff83527 Move test docs inline 2011-10-01 22:00:41 -04:00
Matthias Clasen
9d3b37ac3f Move keyfile docs inline 2011-10-01 21:03:14 -04:00
Matthias Clasen
1af5ac0179 Add an index for 2.32 api additions 2011-10-01 13:47:54 -04:00
Stef Walter
5a95e19a46 gvariant: Add g_variant_get_fixed_array()
Using g_variant_new_from_data() for creating new byte arrays is non-obvious.
This patch adds a g_variant_new_fixed_array() function.

https://bugzilla.gnome.org/show_bug.cgi?id=659923
2011-09-25 07:57:26 +02:00
Matthias Clasen
81e395b00b More GThread docs tweaks 2011-09-25 01:32:41 -04:00
Matthias Clasen
4e44e23517 Drop G_THREADS_IMPL_NONE from the docs
GLib can no longer be built without thread support.
2011-09-25 01:00:59 -04:00
Matthias Clasen
a485a0e565 Document G_THREADS_IMPL_WIN32 2011-09-24 19:04:46 -04:00
Matthias Clasen
d6b0af99d7 GThread doc additions 2011-09-24 19:01:02 -04:00
Ryan Lortie
14e6377a60 Deprecate g_thread_create_full()
Replace it with g_thread_create_with_stack_size() and a real function
implementation of g_thread_create().

Modify a testcase that was calling g_thread_create_full()
inappropriately (it was using the default values anyway).
2011-09-21 16:06:55 -04:00
Ryan Lortie
a2ea02d01e Move GAllocator/GMemChunk to separate file
Create a deprecated/ directory that we can start moving ancient chunks
of code to.  Start with GAllocator, GMemChunk and related APIs.

Also drop all mention of them from the docs.

https://bugzilla.gnome.org/show_bug.cgi?id=659427
2011-09-18 22:00:58 -04:00
Matthias Clasen
f18eab2ac7 GMappedFile: return an error when trying to map a device
Previously, we were returning an empty buffer for all filenames
where fstat() gives a size of 0. But this is only appropriate
for regular files.

Also improve the documentation around this issue. Based on a
patch by Ryan Lortie.

Conflicts:

	glib/tests/mappedfile.c

https://bugzilla.gnome.org/show_bug.cgi?id=659212
2011-09-17 20:03:00 -04:00
Emmanuele Bassi
e15d5313af Add macros for GSourceFunc return values
The boolean values to be returned by a GSourceFunc are always ambiguous,
and even in case of experienced developers then can lead to confusion.

The Perl bindings for GLib have two simple constants, mapping to TRUE
and FALSE, that make the return values less confusing: G_SOURCE_CONTINUE
and G_SOURCE_REMOVE respectively.

https://bugzilla.gnome.org/show_bug.cgi?id=631413
2011-09-09 22:08:58 -04:00
Ryan Lortie
715f94e951 Remove support for DCE threads 2011-09-09 12:47:40 -04:00
Ryan Lortie
3534ff418c Update building docs to mention mandatory threads
The docs used to say thread support was optional -- it's mandatory now.
2011-09-09 12:47:39 -04:00
Ryan Lortie
8060a7a207 'master' is now glib 2.31.0 2011-09-06 10:55:09 -04:00
Ryan Lortie
c14a971f32 docs fixups for glib/ 2011-09-05 19:00:11 -04:00
Ryan Lortie
b407086b38 Back out some changes to docs Makefiles
Commit ab0e9dbfa7 introduced some changes
to the documentation Makefiles designed to clean-up the process of
deciding which headers get scanned for the docs.

Unfortunately, the gtk-doc Makefile doesn't use HFILE_GLOB for actually
generating the docs -- only for knowing when it needs to redo the
generation.  Because of this, we need to use IGNORE_HFILES or otherwise
we get hundreds of symbols in the *-unused.txt files.

Revert the changes that that commit made to the docs Makefiles (but
leave the generation of the *-public-headers.txt files in place).
2011-09-05 18:01:39 -04:00
Ryan Lortie
ba6d70a99e include 'hmac' in the docs
It wasn't added to glib-docs.sgml, so it wasn't being included in the html.
2011-09-05 11:36:48 -04:00
Ryan Lortie
3b25e975b3 gtk-doc fixups for glib/ 2011-09-05 11:30:58 -04:00
Ryan Lortie
ab8938c64d Revert "gdatetime: Add g_date_time_source_new()"
This reverts three commits:

 - 1feb752996
 - 5763c63147
 - 21a5389340

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-31 12:56:28 -04:00
Ryan Lortie
c0eb77bfc8 unix signal watch: make API match other sources
Change the unix signal watch API to match other sources in both
available functions, names of those functions and order of the
parameters to the _full function.

https://bugzilla.gnome.org/show_bug.cgi?id=657705
2011-08-30 19:22:54 -04:00
Matthias Clasen
a8b128a01c Remove no-longer existing api 2011-08-30 00:09:51 -04:00
Colin Walters
1feb752996 gdatetime: Add g_date_time_source_new()
Several different codebases in GNOME want to implement wall clocks.
While we could pretty easily share a private library, it's not a
substantial amount of code, and GLib already has a lot of the
necessary system-specific detection and handling infrastructure.

Note this initial implementation just wakes up once a second in the
cancel_on_set case; we'll add the Linux-specific handling in a
subsequent commit.

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-29 10:24:08 -04:00
Colin Walters
5b68b49b20 GTimeZoneMonitor: Revert addition of this class
The main rationale for adding it was to avoid having gnome-shell
mmap'ing /etc/localtime once a second.  However, we can just as easily
run inotify there, and given no one else was clamoring for a way to
detect when the time zone changes, I don't see a need for public API
here - at least not yet.

In the bigger picture, I just don't believe that the vast majority of
applications are going to go out of their way to instantiate and keep
around a random GTimeZoneMonitor class.  And if they do, it's has the
side effect that for other bits of code in the process, local GDateTime
instances may start varying again!

So, if code can't rely on local GDateTime instances being in a
consistent state anyways, let's just do that always.  The
documentation now says that this is the case.  Applications have
always been able to work in a consistent local time zone by
instantiating a zone and then using it for GDateTime constructors.

We fix the "gnome-shell stats /etc/localtime once a second" issue by
using timerfd (in glib) and inotify (in gnome-shell).

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-22 11:12:37 -04:00
Matthias Clasen
b76bb6713b Add g_mkdtemp in the spirit of g_mkstemp
At the same time, also add g_mkdtemp_full and g_dir_make_tmp
variants. The patch also unifies the unique-name-generating
code for all variants of mkstemp and mkdtemp and adds tests
for the new functions.

Based on patches by Paolo Bonzini,
http://bugzilla.gnome.org/show_bug.cgi?id=118563
2011-08-14 14:09:58 -04:00
Stef Walter
acbcb8f7e3 hmac: Implementation of HMAC in glib
This implements g_hmac_xxx() functionality using the standard checksum
functions supported by glib.

HMAC is a secure way to hash a key and a password. Many other
approaches fraught with append and prepend issues.

Includes test cases defined in relevant RFCs

https://bugzilla.gnome.org/show_bug.cgi?id=652480
2011-08-14 09:27:45 +02:00
Ryan Lortie
c81eb121a1 GWakeup: make it private API
Colin requests that we keep this one private for now.

Include it at each point of use (libglib, libgio, tests).
2011-07-25 18:51:03 +02:00
Ryan Lortie
3c25f9f609 GWakeup .gitignore fixes 2011-07-25 15:30:36 +02:00
Ryan Lortie
452b6277d4 gtk-doc GWakeup 2011-07-25 15:30:35 +02:00
Ryan Lortie
804e3ba4dd gitignore tweaks 2011-07-22 15:47:24 +02:00
Xavier Claessens
eec69a75ee Add g_ptr_array_new_full
Fixes bug #654450
2011-07-22 10:19:48 +02:00
Behdad Esfahbod
9bcb3d7457 Add g_unicode_script_from_iso15924()
And adjust g_unicode_script_to_iso1592().
2011-07-20 22:12:03 -04:00
Behdad Esfahbod
7e03b28870 Bug 648271 - Add g_unicode_script_to_iso15924()
Add g_unicode_script_to_iso15924() and tests.
2011-07-20 19:13:19 -04:00
Ryan Lortie
afd1e36970 Change GLib size units policy
This commit changes GLib size units policy.  We now prefer SI units and
allow for use of proper IEC units where desired.

g_format_size_for_display() which incorrectly mixed IEC units with SI
suffixes is left unmodified, but has been deprecated.

g_format_size() has been introduced which uses SI units and suffixes.

g_format_size_full() has also been added which takes a flags argument to
allow for use of IEC units (with correct suffixes).  It also allows for
a "long format" output which includes the total number of bytes.  For
example: "238.5 MB (238,472,938 bytes)".
2011-07-20 20:06:35 +02:00
Ryan Lortie
19878998bc GVariant: better support for object path arrays
Add G_VARIANT_TYPE_OBJECT_PATH_ARRAY along with accessor functions
g_variant_new_objv, g_variant_get_objv and g_variant_dup_objv.  Also add
support for '^ao' and '^a&o' format strings for g_variant_new() and
g_variant_get().

https://bugzilla.gnome.org/show_bug.cgi?id=654955
2011-07-20 16:27:30 +02:00
Matthias Clasen
4c64e75ec5 Drop the warnings.sgml template 2011-07-19 20:40:28 -04:00
Matthias Clasen
c9379bcfe1 Move GError docs inline and ditch template 2011-07-18 23:58:32 -04:00
Matthias Clasen
09e2d2a61c Move Unicode docs inline, ditch template 2011-07-18 23:23:17 -04:00
Matthias Clasen
2358616d6a Remove queue.sgml 2011-07-18 23:00:09 -04:00
Behdad Esfahbod
0584fe33de Bug 654651 - Better g_unicode_canonical_decomposition()
Add g_unichar_fully_decompose().
Deprecate g_unicode_canonical_decomposition().
2011-07-18 18:12:35 -04:00
Matthias Clasen
adc325fac0 Move version docs inline 2011-07-17 23:50:31 -04:00
Matthias Clasen
761a1841ee Bug 654195 - Add g_unichar_compose() and g_unichar_decompose() 2011-07-14 16:55:34 -04:00
Ryan Lortie
58c247e51b GVariant: add g_variant_take_ref()
This function implements the following logic:

  if (g_variant_is_floating (value))
    g_variant_ref_sink (value);

which is used for consuming the return value of callbacks that may or
may not return floating references.

This patch also replaces a few instances of the above code with the new
function (GSettings, GDBus) and lifts a long-standing restriction on the
use of floating values as the return value for signal handlers by
improving g_value_take_variant().

https://bugzilla.gnome.org/show_bug.cgi?id=627974
2011-07-12 19:44:21 +02:00
Paolo Bonzini
5eee90fbbc add g_regex_escape_nul
The function can be used to let regex compile non-NUL-terminated
strings without redesigning the way the pattern is stored in GRegex
objects and retrieved with g_regex_get_pattern.

https://bugzilla.gnome.org/show_bug.cgi?id=615895
2011-07-11 00:02:22 -04:00
Matthias Clasen
653c2f701a Fix gtk-doc cross-linking among glib/gobject/gio
Patch by Daniel Macks, bug 644687.
2011-07-10 23:55:52 -04:00
Javier Jardón
6079443b48 docs: G_GNUC_DEPRECATED_FOR was added in Glib 2.26 2011-07-08 16:16:27 +01:00
Javier Jardón
c2dc66ccf2 Move documentation to inline comments: spawn 2011-07-06 22:13:05 +01:00
Javier Jardón
0e27a71899 Move documentation to inline comments: conversions 2011-07-06 21:49:55 +01:00
Matthias Clasen
9eb65dd3ed Unicode: add a g_utf8_substring convenience api
This function is useful in the GTK+ accessibility implementations,
and seems like a nice thing to have around in general.
2011-06-23 21:31:40 -04:00
Christian Persch
00afe3fed3 Make GMatchInfo refcounted 2011-06-24 01:03:46 +02:00
Patrick Welche
3393711f42 build: fix gtk-doc when srcdir != builddir
https://bugzilla.gnome.org/show_bug.cgi?id=653250
2011-06-23 12:52:13 -04:00
Sebastian Dröge
1e58d11a44 Fix typo in GTime docs
deprected -> deprecated
2011-06-23 09:34:59 +02:00
Philip Van Hoof
f6ed357101 Add iter_replace API to GHashTableIter
https://bugzilla.gnome.org/show_bug.cgi?id=652822
2011-06-20 23:05:59 -04:00
Matthias Clasen
a0361ec049 Fix doc generation
It helps to use the same file name on both ends...
2011-06-13 23:20:32 -04:00
Ryan Lortie
caa8d2ae18 Document the deprecatation of G_CONST_RETURN
...but don't actually deprecate it yet.
2011-06-09 11:42:35 -04:00
Matthias Clasen
b04f6dbca0 Move gmain docs inline 2011-06-08 23:48:55 -04:00
Matthias Clasen
7648415a50 Move gutils docs inline 2011-06-08 23:44:39 -04:00
Matthias Clasen
e89f183cf6 Remove unused template 2011-06-08 23:29:21 -04:00
Colin Walters
ab0e9dbfa7 Generate $module-public-headers.txt file, feed it to gtk-doc
Rather than having the gtk-doc build machinery have a list of header
files to exclude, change the GLib build to dump a list of public
header files generated from the maintained Makefile.am files for
each of glib/, gobject/, gio/.

Also, for glib, always install glib-unix.h, even on non-Unix
platforms, for the same reason we install gwin32.h even on Unix.

https://bugzilla.gnome.org/show_bug.cgi?id=651745
2011-06-07 14:18:36 -04:00
Colin Walters
a6f09e104c GBuffer: Suffix header with private.h
This makes it clearer it's not public API yet.

https://bugzilla.gnome.org/show_bug.cgi?id=651745
2011-06-06 09:58:21 -04:00
Matthias Clasen
75f7eef9cd Fix doc typos
Now with fewer broken links...
2011-06-04 14:43:52 -04:00
Matthias Clasen
4cd0b86103 Add pointer bitlocks to the docs 2011-06-03 20:54:32 -04:00
Matthias Clasen
807d41b89b Documentation fixups 2011-05-29 00:05:07 -04:00
Matthias Clasen
d35e83d337 Documentation tweaks
Add Since tags, etc.
2011-05-28 21:12:52 -04:00
Ryan Lortie
8382135265 glib: Rewrite gatomic.[ch]
- remove all inline assembly versions

 - implement the atomic operations using either GCC intrinsics, the
   Windows interlocked API or a mutex-based fallback

 - drop gatomic-gcc.c since these are now defined in the header file.
   Adjust Makefile.am accordingly.

 - expand the set of operations: support 'get', 'set', 'compare and
   exchange', 'add', 'or', and 'xor' for both integers and pointers

 - deprecate g_atomic_int_exchange_and_add since g_atomic_int_add (as
   with all the new arithmetic operations) now returns the prior value

 - unify the use of macros: all functions are now wrapped in macros that
   perform the proper casts and checks

 - remove G_GNUC_MAY_ALIAS use; it was never required for the integer
   operations (since casting between pointers that only vary in
   signedness of the target is explicitly permitted) and we avoid the
   need for the pointer operations by using simple 'void *' instead of
   'gpointer *' (which caused the 'type-punned pointer' warning)

 - provide function implementations of g_atomic_int_inc and
   g_atomic_int_dec_and_test: these were strictly macros before

 - improve the documentation to make it very clear exactly which types
   of pointers these operations may be used with

 - remove a few uses of the now-deprecated g_atomic_int_exchange_and_add

 - drop initialisation of gatomic from gthread (by using a GStaticMutex
   instead of a GMutex)

 - update glib.symbols and documentation sections files

Closes #650823 and #650935
2011-05-28 16:10:44 -04:00
Ryan Lortie
c00ef0a17a Add G_STATIC_ASSERT_EXPR macro
https://bugzilla.gnome.org/show_bug.cgi?id=626549
2011-05-27 22:36:16 -04:00
Colin Walters
9966fe4493 g_key_file_has_key_full: New function to fix g_key_file_has_key()'s GError semantics
See https://bugzilla.gnome.org/show_bug.cgi?id=649657 for discussion
of why it's bad for bindings for gerror return values to both signal
errors and carry meaning.

https://bugzilla.gnome.org/show_bug.cgi?id=650345
2011-05-18 11:53:21 -04:00
Colin Walters
542215b78a Rename g_unix_pipe_flags to g_unix_open_pipe
From IRC discussion, people liked this name more.

https://bugzilla.gnome.org/show_bug.cgi?id=649322
2011-05-03 23:34:17 -04:00
Colin Walters
549d895fa4 glib-unix: New API to watch some Unix signals
This new API allows watching a few select Unix signals;
looking through the list on my system, I didn't see anything
else that I think it'd reasonable to watch.

We build on the previous patch to make the child watch helper thread
that existed on Unix handle these signals in the threaded case.
In the non-threaded case, they're just global variables.

https://bugzilla.gnome.org/show_bug.cgi?id=644941
2011-04-27 16:01:39 -04:00
Colin Walters
0ff211f520 glib-unix: New Unix-specific API
GLib historically has been designed to be "mostly" portable; there
are some functions only available on Unix like g_io_channel_unix_new(),
but these are typically paired with obvious counterparts for Win32.

However, as GLib is used not only by portable software, but components
targeting Unix (or even just Linux), there are a few cases where it
would be very convenient if GLib shipped built-in functionality.

This initial patch is a basic wrapper around pipe2(), including
fallbacks for older kernels.  This pairs well with the
existing g_spawn_*() API and its child_setup functionality.

However, in the future, I want to add a signal() wrapper here,
complete with proxying the signal to a mainloop.  I have initial code
for this, but doing it sanely (including factoring out gmain.c's
private worker thread), is a complex task, and I don't want to block
on that.

See also gwin32.h for Win32 specific functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=644941
2011-04-27 13:29:38 -04:00
Maciej Piechotka
70a1981532 Allow caching have_qsort_r which re-enables cross-compiling
https://bugzilla.gnome.org/show_bug.cgi?id=646309
2011-04-26 23:41:51 -04:00
Benjamin Otte
d5dc79c0b0 API: testutils: Add g_test_fail()
This allows tests to fail in a nonfatal way and the test runner can
continue if invoked with -k.

https://bugzilla.gnome.org/show_bug.cgi?id=647826
2011-04-18 14:52:29 +02:00
Matthias Clasen
c36aa59bf0 Fix duplicate private subsection
gtk-doc doesn't understand duplicate Private subsections in
the obvious way, it seems.
2011-04-11 13:21:12 -04:00
Matthias Clasen
9d048615da Add 2.30 index to GLib docs 2011-04-11 12:53:25 -04:00
Ryan Lortie
de3a3b181a g_time_zone_new_local: cache the result
Add a function to drop the cache.
2011-03-31 12:47:02 +05:30
Emmanuele Bassi
0c1acc7e74 Revert "Deprecate G_CONST_RETURN"
This reverts commit a7fc7909da.

The deprecations was not discussed except on Bugzilla:

https://bugzilla.gnome.org/show_bug.cgi?id=644611
2011-03-15 09:02:08 +00:00
Ryan Lortie
a7fc7909da Deprecate G_CONST_RETURN 2011-03-15 01:32:22 -04:00
Ryan Lortie
d2a2fe96a3 GVariant docs cleanups
Fix some gtk-doc warnings
2011-03-04 00:57:51 -05:00
Ryan Lortie
be04e514c0 GVariant: add G_VARIANT_TYPE_VARDICT for a{sv} 2011-03-04 00:45:14 -05:00
Matthias Clasen
deab106457 Docs: Mention gettext setup requirements in i18n section 2011-02-12 12:45:25 -05:00
Will Thompson
dfeb02ee86 GVariant: titlecase ‘Unicode’ in text format docs 2011-02-11 19:10:18 +00:00
Will Thompson
c3fe071813 GVariant: Correct uint32/64 thinko in text format docs 2011-02-11 19:07:45 +00:00
Ryan Lortie
ea4e3ea1cb GVariant: doc the format of g_variant_parse/print 2011-02-11 13:53:10 -05:00
Ryan Lortie
b1d02f9323 GVariant: support NULL for empty arrays in varargs
g_variant_new("as", NULL); now gives an empty array of strings, for
example.

This was documented as working already, but was never actually
implemented (due to the fact that it muddies the water when considering
maybe types).  It's being implemented now because its convenience to
programmers exceeds any damage done to the conceptual purity of the API.
2011-02-11 10:14:29 -05:00
Javier Jardón
ad1f882a1c docs: Remove some unneeded template files
async_queues, atomic_operations and bookmarkfile are already ported
to inline comments
2011-02-01 13:20:33 +00:00
Behdad Esfahbod
0a57086540 Update to Unicode 6.0
One new GUnicodeBreak enum member.  Three new GUnicodeScript members,
and one member renamed to fix a typo.

Tests, docs, and scripts are updated.  PCRE update still needed.
2011-01-21 16:30:19 -05:00
Matthias Clasen
d2347f34fd Move GMarkup docs inline 2011-01-17 23:46:20 -05:00
Javier Jardón
c7041e221f docs: gvariant-varargs: Fix typo 2011-01-14 00:50:44 +00: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
Xavier Claessens
4e30904331 New API: g_sequence_lookup() and g_sequence_lookup_iter()
Fixes bug #617254
2010-12-20 17:30:58 +01:00
Matthias Clasen
1bbf4cb87c Remove the dead --disable-visiblity configure option
At the same time, document --disable-Bsymbolic.
2010-12-15 11:41:05 -05:00
Matt Rajca
4817dae0bb Removed mention of inexistent GNOME 2.0 porting guide 2010-11-28 18:35:03 -05:00
Dan Winship
d15cdbefec gmain: add g_source_add_child_source and g_source_remove_child_source
This adds "child source" support to GSource. A child source behaves
basically like a GPollFD; when you add a source to a context, all of
its child sources are added with the same priority; when you destroy a
source, all of its child sources are destroyed; and when a child
source triggers, its parent source's dispatch function is run.

Use cases include:

    - adding a GTimeoutSource to another source to cause the source to
      automatically trigger after a certain timeout.

    - wrapping an existing source type with a new type that has
      a different callback signature

    - creating a source that triggers based on different conditions
      at different times.

https://bugzilla.gnome.org/show_bug.cgi?id=634239
2010-11-26 15:07:28 -05:00
Matthias Clasen
3570c4a00e Add indices for new symbols in 2.28 2010-11-24 16:00:32 -05:00
Ryan Lortie
48ca3add14 G_STATIC_ASSERT: clarify when use is valid
Clarify when the use of G_STATIC_ASSERT is valid and fix up an invalid
use of it in GDBus.
2010-11-11 21:49:21 -05: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
7fc6f8a159 Add g_variant_lookup() and tests
Convenience API for doing lookups in dictionaries where the key is a
string or object path.
2010-11-05 21:33:43 -04:00
Ryan Lortie
1cf14de82f docs: Recommend against using GTimeVal 2010-11-02 22:39:09 -04:00
Ryan Lortie
5dab4727ee Add g_get_real_time() for wall-clock int64 micros
Similar in spirit to g_get_monotonic_time().
2010-11-02 22:39:09 -04:00
Ryan Lortie
92df8a1d77 Drop GTimeSpec type 2010-11-02 22:39:09 -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
Ryan Lortie
7c184df292 Bug 158725 - free linked list with data
Add some helpers for freeing a linked list along with its elements by
providing a GDestroyNotify to call on each of them.

Add a test.

Based on a patch from Cosimo Cecchi.
2010-10-28 11:20:57 -04:00
Ryan Lortie
b7d8363fbe Add g_source_get_time()
Cached version of g_get_monotonic_time() that does similar to what
g_source_get_current_time() does for g_get_current_time().
2010-10-27 09:22:12 -04:00
Ryan Lortie
ab548d240a Add g_get_monotonic_time()
Gets the system monotonic time on systems that have it.  Otherwise, call
g_get_current_time().
2010-10-27 09:22:12 -04:00
Ryan Lortie
ac82e74895 Add 'GTimeSpec' as 'struct timespec' equivalent 2010-10-27 09:22:12 -04:00
Matthias Clasen
727c2a58c2 Add new gmain api to the docs 2010-10-25 08:30:28 -04:00
Ryan Lortie
fff6814973 Bug 630077 - GDateTime week number support
Fully implement support for ISO 8601 week dates in GDateTime and
document that this is the case.

Add an exhaustive test case to ensure correctness.
2010-10-01 11:20:55 -04:00
Ryan Lortie
dda9707377 release 2.27.0 2010-09-17 18:32:35 -04:00
Ryan Lortie
5109778e93 .gitignore some sgml 2010-09-17 13:20:17 -04:00
Ryan Lortie
6b0e31ce48 Clean-up/tweaking of GDateTime and GTimeZone 2010-09-17 11:40:10 -04:00
Emmanuele Bassi
67f1e52ce2 datetime: Rework time zone support in constructors
Timezone handling is complicated. Really complicated.

In order to simplify it a little bit, we need to expose the GTimeZone
structure.

First of all, we allow creating time zone information directly from the
offset and the DST state, and then pass it to the g_date_time_new_full()
constructor. We also need to clean up the mess that is UTC-vs.-localtime
for the other constructors.

We also allow creating a GTimeZone from the Olson zoneinfo database
names; a time zone created like this will be "floating": it will just
reference the zoneinfo file - which are mmap()'ed, kept in a cache and
refcounted. Once the GTimeZone has been associated with a GDateTime, it
will be "anchored" to it: the offset will be resolved, as well as the
DST state.

https://bugzilla.gnome.org/show_bug.cgi?id=50076
2010-09-17 11:40:10 -04:00
David Zeuthen
3d8095588a Fix tmpl files
Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-09-09 12:00:39 -04:00
Emmanuele Bassi
64300c0cc4 datetime: Add get_week_of_year()
https://bugzilla.gnome.org/show_bug.cgi?id=628029

Based on a patch by: Joseph Pingenot

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
2010-09-06 11:50:30 +01:00
Jon Nordby
fb15dde6c1 docs: Inline docs from tmpl/memory.smgl 2010-09-01 09:48:16 +02:00
Emmanuele Bassi
250b1d576b docs: Fix the section name for GDateTime 2010-08-25 16:13:24 +01:00
Emmanuele Bassi
96dc06e6e0 docs: Add GDateTime to the GLib API reference 2010-08-24 23:41:21 +01:00
Emmanuele Bassi
d62eb80c54 docs: Mention TZDIR
The timezone code in GDateTime honours the TZDIR environment variable,
so it should be mentioned in the list of variables GLib checks at
runtime.
2010-08-24 23:41:21 +01:00
Simon McVittie
c29d800d84 GVariant: be more explicit about adopting and returning floating refs
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=622770
2010-08-13 22:42:24 -04:00
Matthias Clasen
43c0aa9ebe Replace the explicit list of character categories by a reference
to the GUnicodeType docs.
2010-08-08 23:55:12 -04:00
Matthias Clasen
4e42893369 Refer to GUnicodeScript docs instead of listing scripts explicitly 2010-08-08 23:55:11 -04:00
Matthias Clasen
733d209b14 Move GRegex docs inline 2010-08-08 23:55:11 -04:00
Matthias Clasen
def0dc01f7 Move GConvert docs inline 2010-08-08 23:55:11 -04:00
Ryan Lortie
e88eb04865 Prepare to release glib 2.25.13 2010-08-06 16:48:19 -04:00
Philip Withnall
abe820e0d9 Expand documentation about error quark naming
Closes: bgo#625827
2010-08-05 08:49:54 +01:00
David Zeuthen
173977a701 GCredentials: use effective uid/gid
Otherwise e.g. setuid root processes can't connect to the system
bus. This was discovered when porting PolicyKit's pkexec(1) command to
a PolicyKit library using GDBus.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-07-30 11:26:43 -04:00
Ryan Lortie
1a06bd8d3f Update the GDBus subtree example for the new API 2010-07-19 15:03:54 -04:00
Stefan Kost
463edcb045 docs: xi:include the annotation glossary to kill warnings and make them work 2010-07-14 11:57:36 +03:00
Ryan Lortie
0bb7cc3fce Remove GUnixVolumeMonitor, GUnixMount from docs
David says that they're supposed to be private.
2010-07-13 09:24:16 -04:00
Ryan Lortie
5344c22810 gio/ docs fixup 2010-07-12 18:30:14 -04:00
Ryan Lortie
adde752ec5 More docs fixes
Remove the g*alias.h from the ignore lists

  Remove other old files from ignore lists

  Clean up gobject docs
2010-07-12 17:46:17 -04:00
Ryan Lortie
de5afbc7cc More gtk-doc cleanups for glib/ 2010-07-12 17:32:44 -04:00
Ryan Lortie
7791fce38a Fix some glib docs warnings
Remove some symbols from glib-sections.txt that gtk-doc has no idea
about.

Add proper callback typedefs for GTester (gtk-doc dislikes inline
function types).

Fix some other minor issues.
2010-07-12 16:56:52 -04:00
Ryan Lortie
90285b0643 Bump gtk-doc dependency to 1.15
Use the multiple source-directory support contained therein.
2010-07-12 15:33:05 -04:00
Ryan Lortie
be247c24c6 This is glib 2.25.11 2010-07-11 12:51:33 -04:00
Matthias Clasen
358b9d6ac7 Move main loop docs inline 2010-07-10 23:56:45 -04:00
Matthias Clasen
ab8cb652c8 Fix a typo 2010-07-10 23:56:45 -04:00
Matthias Clasen
e57291efdc Move docs for atomic operations inline 2010-07-10 23:56:45 -04:00
Matthias Clasen
e8503fddee Move GAsyncQueue docs inline 2010-07-10 23:56:45 -04:00
Matthias Clasen
e302e919e5 Remove dead links from the IEEE float documentation 2010-07-08 19:52:36 -04:00
Matthias Clasen
0c357a2d14 Improve the long description of GString
It is more similar to a Java StringBuffer than to a C string.
See bug 612439.
2010-07-08 19:37:31 -04:00
Matthias Clasen
e0017f24c5 Move uri conversion functions to a better place in the docs
g_filename_from/to_uri are better off in the section called
"URI functions". Requested in bug 582227.
2010-07-08 17:40:13 -04:00
Ryan Lortie
d9e90c3894 GVariant: improve bytestring support
- add G_VARIANT_TYPE_BYTESTRING, _BYTESTRING_ARRAY, _STRING_ARRAY

 - remove g_variant_{new,get}_byte_array functions

 - add g_variant_{new,get,dup}_bytestring{,_array} functions

 - remove undocumented support for deserialising arrays of objectpaths
   or signature strngs using g_variant_get_strv()

 - add and document new format strings '^ay', '^&ay', '^aay' and '^a&ay'

 - update GApplication to use the new API

 - update GSettings binding code to use the new API

 - add tests
2010-07-07 16:25:48 -04:00
Ryan Lortie
6ae4d31e75 trivial GSettings docs fix 2010-07-07 10:46:13 -04:00
Javier Jardón
95c4ec1056 [docs] Fix typo 2010-06-21 17:28:15 +02:00
Matthias Clasen
cca48bd5b9 Add support for coverage reports with lcov
Patch by Patrick Hulin, bug #501057.
2010-06-20 22:46:47 -04:00
Ryan Lortie
ede159ec45 Add enum type for GVariantParseError 2010-06-20 12:31:37 -04:00
Matthias Clasen
9a85f654c7 Add new scripts to docs 2010-06-20 11:20:54 -04:00
Christian Persch
052ef2614a Add g_variant_is_floating 2010-06-19 19:07:36 +02:00
Ryan Lortie
f2ae621777 Revert "GVariant: add g_variant_default_value()"
This reverts commit b205dc77cb.

We decided to go the other route with the GParamSpec.
2010-06-17 14:58:46 -04:00
Ryan Lortie
b205dc77cb GVariant: add g_variant_default_value()
Returns various kinds of false, zero, empty arrays, etc.
2010-06-16 15:58:53 -04:00
Will Thompson
40e10764b3 Add some symbols to glib-sections.txt
Most of these are private; the few that aren't were already documented
but not included in the gtkdoc output.
2010-06-06 17:49:56 +01:00
Will Thompson
f291d3bb3c Document G_GNUC_DEPRECATED_FOR 2010-06-06 17:49:56 +01:00
Will Thompson
157116b8dd Add examples for G_STRINGIFY and G_PASTE 2010-06-06 17:49:56 +01:00
Will Thompson
28f9f03a3b Hide G_PASTE_ARGS in gtkdocs. 2010-06-06 17:49:56 +01:00
Ryan Lortie
9562726f35 Bug 620350 - add g_variant_builder_add_parsed()
A delicious blend of g_variant_new_parsed() and
g_variant_builder_add_value().  Now available in a GLib near you.
2010-06-03 11:24:31 +02:00
Alexander Larsson
bef9efd0a9 Initial support for dtrace and systemtap
This adds static markers for dtrace, which are also usable
by systemtap. Additionally it adds a tapset for systemtap
that makes it easier to use the static markers.

These are enabled by default.

This initial set of probes is rather limited:

* allocation and free using g_malloc & co
* allocation and free using g_slice
* gquark name tracking (useful for converting quarks to strings in probes)

Notes on naming:

Its traditional with dtrace to use probe names with dashes as
delimiter (slice-alloc). Since dashes are not usable in identifiers
the C code uses double underscores (slice__alloc) which is converted
to dashes in the UI. We follow this for the shared lowlevel probe
names.

Additionally dtrace supports putting a "provider" part in the probe
names which is essentially a namespacing thing. On systemtap this
field is currently ignored (but may be implemented in the future), but
this is not really a problem since in systemtap the probes are
specified by combining the solib file and the marker name, so there
can't really be name conflicts.

For the systemtap tapset highlevel probes we instead use names that
are systemtapish with single dashes as separators.

https://bugzilla.gnome.org/show_bug.cgi?id=606044
2010-05-27 14:51:41 -04:00
Ryan Lortie
2db2d13fdb Release 2.25.7. 2010-05-24 23:02:18 -04:00
Ryan Lortie
b295e6a28a man pages: fix broken @XSLTPROC@ substitution 2010-05-24 22:35:33 -04:00
Matthias Clasen
8db946fdfb Clean up man page handling
Remove all formatted man pages from git, and use the same
Makefile fragment in all doc dirs.
2010-05-21 22:28:42 -04:00
Christian Persch
41b3f6885d Add g_dc[p]gettext, and use it in gsettings
Avoid using LC_MESSAGES, and just call g_d[c]gettext directly.

Bug #617004.
2010-05-20 21:16:29 +02:00
Matthias Clasen
6223341cac Merge branch 'gdbus-merge'
Conflicts:
	docs/reference/gio/gio-docs.xml
	docs/reference/gio/gio-sections.txt
	gio/tests/Makefile.am
2010-05-13 23:08:34 -04:00
Simon McVittie
6bea235c8b Support 64bit integers in GKeyFile 2010-05-08 21:30:27 -04:00
Xan Lopez
b3c9c17956 Fix typo in limits documentation 2010-05-04 18:10:56 +02:00
Christian Persch
4c10cad661 Add API to get the compile and match flags from a GRegex
Bug #616967.
2010-05-01 13:57:11 +02:00
Shaun McCance
3d5ce40624 [gvariant-varargs.xml] Fix some outdated documentation 2010-04-29 19:27:56 -05:00
Ryan Lortie
cd062e841f docs and glib.symbols update 2010-04-25 20:08:59 -05:00
Matthias Clasen
b2ee97d00d Fix up g_variant_compare addition 2010-04-22 20:49:20 -04:00
Matthias Clasen
cd9b8b563f 2.25.0 2010-04-19 17:30:42 -04:00
Matthias Clasen
51d40405de Man page tweaks 2010-04-16 20:40:02 -04:00
Matthias Clasen
4c90d4cd45 Add indices for 2.26 api additions 2010-04-16 19:13:51 -04:00
Ryan Lortie
816990a011 GVariant: Removing mentions of &a from docs
This isn't supported anymore (for the time being...)

Partial fix for bug 613618.
2010-03-23 09:18:14 -05:00
Ryan Lortie
0afc140712 2.23.6 2010-03-21 20:06:39 -05:00
Ryan Lortie
6f33038397 gtk-doc fixups 2010-03-21 14:12:48 -05:00
Ryan Lortie
bf4dbdbf0e merge GVariant parser 2010-03-21 12:55:30 -05:00
Ryan Lortie
9dea0253a3 GVariant: add loading, byteswapping, normalisation 2010-03-14 15:56:18 -04:00
Javier Jardón
62a133f55d Improve the documentation about single include exceptions
Also, reenable the compiling Glib application section
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=612736
2010-03-13 01:33:09 +01:00
Ryan Lortie
f9d8d70396 gtk-doc: ignore gvariant-internal.h 2010-03-08 11:29:27 -05:00
Ryan Lortie
929a2e1ae1 Add gvariant-varargs.xml to the distribution 2010-03-08 11:25:37 -05:00
Ryan Lortie
75f761bcaa GVariant variable arguments, tests, cleanups
Merge GVariant variable arguments support and put it under tests.

Also, remove the hack of the test case directly '#include'ing .c files
from glib/.  Instead, create a non-installed gvariant-internal.h that
the tests can include and make the symbols in it visible on the symbol
table of the shared library.  These symbols (as they are present in no
installed header files) are not part of the API of GLib.

Increase test coverage in a few other areas.
2010-03-08 10:31:19 -05:00
Ryan Lortie
dfcee5865b gtk-doc: ignore GBuffer 2010-03-07 02:15:37 -05:00
Behdad Esfahbod
343cbf25c7 Bug 608196 - Overflow-safe g_new family
New public API:

g_malloc_n
g_malloc0_n
g_realloc_n
g_try_malloc_n
g_try_malloc0_n
g_try_realloc_n
2010-03-03 17:54:49 -05:00
Ryan Lortie
fe6e278a87 GVariantBuilder: allow for stack allocation 2010-03-03 03:38:02 -05:00
Ryan Lortie
515434bdcb GVariantIter, GVariantBuilder 2010-02-22 00:39:01 -05:00
Matthias Clasen
03fc92784d Add indices for 2.24 additions 2010-02-21 19:48:22 -05:00
Matthias Clasen
80a160c7c6 Small doc fixes 2010-02-21 19:46:57 -05:00
Ryan Lortie
ed3c914cdb Merge the main public API of GVariant 2010-02-19 10:52:03 -05:00
Ryan Lortie
1e655eb02c merge GVariant 2010-02-10 11:35:01 -05:00
Matthias Clasen
f570cf99b3 Doc cleanups 2010-02-09 09:16:23 -05:00
Ryan Lortie
3443f47ddf G{Byte,Ptr,}Array: move docs from tmpl to .c 2010-02-01 12:39:29 -05:00
Ryan Lortie
501a2906d3 GList, GSList: move docs from tmpl to .c 2010-02-01 12:39:24 -05:00
Ryan Lortie
c8c5c5a991 remove trailing whitespace breaking .gitignore 2010-02-01 10:28:39 -05:00
Ryan Lortie
4bdf7d12a8 GIOChannel: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
4353151449 GTree, GNode: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
d81506a154 GThreadPool: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
c471468ca4 GRelation: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
21a6b69f4f GCache: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
fa7cafae5c GChecksum: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
5ee096636b GCompletion: move docs from tmpl to .c 2010-02-01 10:28:39 -05:00
Ryan Lortie
6d52d34dff data{list,sets}, quarks: move docs from tmpl to .c 2010-01-30 23:34:19 -05:00
Ryan Lortie
c7000fcfec GPattern: move docs from tmpl to .c 2010-01-30 23:10:34 -05:00
Ryan Lortie
84572f81bf String chunks: move docs from tmpl to .c 2010-01-30 23:04:52 -05:00
Ryan Lortie
4431ac5dda Move allocator and memchunk docs from tmpl to .c 2010-01-30 22:58:43 -05:00
Ryan Lortie
3a161ee8f3 GSequence: move docs from tmpl to .c 2010-01-30 22:19:29 -05:00
Ryan Lortie
0ab7bb4b18 GShell: move docs from tmpl to .c 2010-01-30 22:15:50 -05:00
Ryan Lortie
f6482a1eaa GTimer: move docs from tmpl to .c 2010-01-30 22:12:22 -05:00
Ryan Lortie
4c58a85dd1 Revert accidental commit "dirt"
This reverts commit c46bc6ba1f.
2010-01-30 16:00:51 -05:00
Ryan Lortie
c46bc6ba1f dirt 2010-01-30 13:30:00 -05:00
Ryan Lortie
6857767b86 move threads docs to .c 2010-01-30 13:30:00 -05:00
Ryan Lortie
4234481855 GIOChannel: fill in missing docs 2010-01-30 13:30:00 -05:00
Ryan Lortie
d51b6c471a GRand: move docs from tmpl to inline comments 2010-01-30 12:32:37 -05:00
Ryan Lortie
c73d281843 GHash: move docs from tmpl to inline comments 2010-01-28 22:36:48 -05:00
Ryan Lortie
669b0f2d6b Bug 548967 - 1 bit mutex lock
Add support for a mutex lock that consumes only one bit of storage
inside of an integer on systems that support futexes.  Futex is emulated
(at a higher cost) on systems that don't have it -- but only in the
contended case.
2010-01-28 12:40:46 -05:00
Ryan Lortie
595cad2531 glib docs: Delete and ignore empty .tmpl files 2010-01-28 12:40:45 -05:00
Behdad Esfahbod
082ff883b6 Improve type documentation 2010-01-26 16:12:20 -05:00
Ryan Lortie
0ccb288da1 merge GVariantType
GVariantType is the type system for GVariant
2010-01-25 11:27:28 -05:00
Alexander Larsson
fa2bced1f3 Enable threads in g_type_init()
This means threads will be supported for all gobject libraries/applications
and initialized early enough to not cause any problems.

This solves the problem of libraries needing threadsafety. Previosly
they just called g_threads_init() anyway, which often works but sometimes
breaks in unexpected ways.

See this thread for more details:
http://mail.gnome.org/archives/gtk-devel-list/2009-November/msg00208.html

https://bugzilla.gnome.org/show_bug.cgi?id=606775
2010-01-12 21:37:29 +01:00
Alexander Larsson
0df3ca8f9b Relax g_thread_init() requirements
We now allow g_thread_init(NULL) to be called after other glib calls (with
some minor limitations). This is mainly a documentation change as this
really was already possible.

We also allow g_thread_init() to be called multiple times. Only the
first call actually initializes the threading system, further calls
are ignored (but print a warning if the argument is not NULL).

https://bugzilla.gnome.org/show_bug.cgi?id=606775
2010-01-12 21:37:20 +01:00
Stefan Kost
00db5238d9 docs: switch to xi:inbclude for the content to save some more seconds 2010-01-07 11:34:00 +02:00
Stefan Kost
d01e2527ce docs: use xi:include to use the generated indexes if available.
This works transparantly for people with new enough gtk-doc (>=1.11) and
significantly improves the build time.
2010-01-07 11:34:00 +02:00
Ryan Lortie
74a970f754 Add byteswap macros for gsize/gssize. 2009-11-30 19:53:30 -05:00
Matthias Clasen
2532707ce4 2.23.0 2009-11-30 00:09:36 -05:00
Javier Jardón
18b3ff33af Don't mention g_utf32_to_utf8() and g_utf8_to_utf32()
These functions doesn't exist.
Suggest to use g_ucs4_to_utf8/g_utf8_to_ucs4 to produce the UTF-8
representation of a gunichar

This fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=601874
2009-11-16 00:09:16 +01:00
Javier Jardón
96bf69d4cc Suggest the use of G_STRFUNC
Suggest G_STRFUNC in the documentation of the deprecated functions
G_GNUC_PRETTY_FUNCTION and G_GNUC_FUNCTION
2009-11-15 23:58:23 +01:00
Matthias Clasen
4c633ff0b5 2.22.0 2009-09-22 16:57:08 -04:00
Matthias Clasen
9203da305b some doc updates 2009-09-22 12:36:50 -04:00
Alexander Larsson
a830fbd62c Document new gdb macros 2009-09-21 15:39:00 +02:00
Dan Winship
f393e80587 Clarify g_ptr_array_set_size() docs re: free_func 2009-09-08 11:19:13 -04:00
Benjamin Otte
4114f1214c Bug 594034 - Use g_mkstemp_full() when creating the replacement file
Previous code used g_mkstemp(). But when using
G_FILE_CREATE_REPLACE_DESTINATION, no attempt was made to ensure proper
mode and flags of the created temporary file. The visible issue was that
the file was always created with mode 0600 as opposed to using 0666.
(The invisible issue was that O_RDWR was used instead of O_WRONLY.)
2009-09-04 22:45:57 +02:00
Benjamin Otte
24bec5c5bd Bug 594034 - Add g_mkstemp_full()
This function exposes more variables than g_mkstemp() and therefor
allows more flexibility when creating temporary files.
The intended use is gio's code for g_file_replace() (see next patch)
2009-09-04 22:45:07 +02:00
Matthias Clasen
eadef0325a Documentation fixes 2009-08-24 13:34:38 -04:00
Craig Loftus
a465508e2d Migrate gbase64 docs from SGML template to inline comments
Fixes bug #589649.

Signed-off-by: David King <davidk@openismus.com>
2009-08-10 15:40:01 +02:00
Philip Withnall
93d40918c5 Added clarification to mutex free functions
Clarified that it is A Bad Idea to free a mutex when it's locked.
2009-08-06 18:02:11 +01:00
Tristan Van Berkom
aac978ec72 Added clarification to GArray->len documentation
Clarify that GArray->len does not include the possible
terminating zero element.
2009-07-21 12:58:39 -04:00
Matthias Clasen
9c278ded7d 2.21.4 2009-07-17 20:31:28 -04:00
Benjamin Otte
6f48065958 Fix a typo in GRegex documentation 2009-07-09 15:35:43 +02:00
Ryan Lortie
10ba0c2e5c Merge branch 'tree-refcount' 2009-07-07 09:45:31 +01:00
Matthias Clasen
400959ddbd 2.21.3 2009-07-06 00:31:47 -04:00
Ryan Lortie
8792d862db GTree: switch to GSlice, add refcounts (#587773) 2009-07-05 12:30:54 +01:00
Dan Winship
4363f1932f Add g_main_context_push_thread_default() etc
This allows applications to use async methods from other threads, or
in multiple independent main loops.

http://bugzilla.gnome.org/show_bug.cgi?id=579984
2009-07-01 09:02:23 -04:00
Matthias Clasen
160c39a9af Move some uri functions to a better place 2009-06-26 23:18:17 -04:00
Matthias Clasen
35911ae00f Fix a typo 2009-06-26 23:09:35 -04:00
David Zeuthen
0ccd18bc83 Bug 586675 – Runtime library location
Introduce an option to specify the runtime location for libraries via
a relative path to libdir.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2009-06-23 12:58:35 -04:00
Ryan Lortie
4c791f49e5 GMappedFile: add refcounting, switch to GSlice
- add g_mapped_file_ref() and g_mapped_file_unref().
  - deprecate g_mapped_file_free().
  - move to GSlice for allocating the GMappedFile struct.
2009-06-18 15:01:18 -04:00
Matthias Clasen
2553df615d Refer to the correct gcc deprecation options
This oversight was pointed out in bug 585520.
2009-06-15 01:09:25 -04:00
Matthias Clasen
2c5ac901d9 Fix some typos in list documentation
This fixes bug 585726.
2009-06-15 01:03:54 -04:00
Matthias Clasen
33a2f5a212 Release 2.21.1 2009-05-28 23:44:48 -04:00
Christian Persch
fc9a888b8c Add G_G[U]INTPTR_FORMAT and G_GINTPTR_MODIFIER
Add macros for printf formatting for g[u]intptr. Bug 569376.
2009-05-23 17:58:10 +02:00
Christian Persch
d046bfe577 Document g[u]intptr
Bug 569375.
2009-05-23 17:56:10 +02:00
Yeti
01b79d67ef Make g_error_new_valist public
Bug #569024.
2009-05-23 17:52:58 +02:00
Alexander Larsson
6ea86cc57f Update the docs for the new network APIs
This imports the network APIs into the gio reference docs, and cleans
up a bunch of gtk-doc warnings and documentation issues.
2009-05-18 13:07:43 +02:00
Matthias Clasen
a28215fa90 Release 2.21.0 2009-05-03 18:08:49 -04:00
Matthias Clasen
a4ac1b0552 Fix reference to g_strtoull
As pointed out in bug 580546, that function does not exit.
2009-05-02 22:36:15 -04:00
David Zeuthen
402847c887 Bug 580450 – Reference counting and boxed types for arrays
Add reference counting and boxed types for GArray, GByteArray and GPtrArray.

Signed-off-by: Matthias Clasen <mclasen@redhat.com>
2009-04-29 11:17:23 -04:00
David Zeuthen
49dfb50afc Bug 580453 – Hash and equal functions for gint64 and gdouble 2009-04-27 13:27:44 -04:00
Dan Winship
6a3b4fa05a Add hostname-related utilities in glib/ghostutils.h
Functions for converting between UTF-8 IDNs (Internationalized Domain
Names) and their ASCII-Compatible Encodings, plus a function to recognize
IP addresses. Part of #548466.
2009-04-22 08:36:02 -04:00
Stefan Kost
2026c232b3 goption: move docs from tmpl folder to inline comments 2009-04-21 16:35:26 +03:00
Matthias Clasen
5a8a224ff0 2.20.0
svn path=/trunk/; revision=7976
2009-03-13 05:44:11 +00:00
Matthias Clasen
3f07ef2119 2.19.9
svn path=/trunk/; revision=7939
2009-03-02 05:49:44 +00:00
Matthias Clasen
4611dadadd 2.19.8
svn path=/trunk/; revision=7876
2009-02-17 18:36:36 +00:00
Matthias Clasen
7b106d2066 2.19.7
svn path=/trunk/; revision=7868
2009-02-17 02:49:52 +00:00
Stefan Kost
c34b273958 Add online urls for library.gnome.org. This allows other docs to do
* gio/gio-docs.xml:
	* glib/glib-docs.sgml:
	* gobject/gobject-docs.sgml:
	  Add online urls for library.gnome.org. This allows other docs to do
          gtkdoc-rebase --online --html-dir=html
          before publishing docs and have working xrefs.


svn path=/trunk/; revision=7853
2009-02-06 08:09:24 +00:00
Matthias Clasen
afa157a73d 2.19.6
svn path=/trunk/; revision=7845
2009-02-02 20:09:08 +00:00
Christian Persch
17b9b43a7a Add G_GOFFSET_FORMAT and friends. Bug #563141.
* configure.in:
	* docs/reference/glib/glib-sections.txt:
	* docs/reference/macros_misc.sgml:
	* docs/reference/glib/tmpl/types.sgml: Add
	G_GOFFSET_FORMAT and friends. Bug #563141.

svn path=/trunk/; revision=7834
2009-01-28 14:09:18 +00:00
Stefan Kost
0b3588bc12 Add SCAN_OPTIONS=--ignore-decorators="GLIB_VAR" to Makefile.am to fix on
* docs/reference/glib/Makefile.am:
	  Add SCAN_OPTIONS=--ignore-decorators="GLIB_VAR" to Makefile.am to fix
	  on problem with the doc build.


svn path=/trunk/; revision=7829
2009-01-23 15:10:31 +00:00
Matthias Clasen
af6a048743 2.19.5
svn path=/trunk/; revision=7820
2009-01-19 07:46:43 +00:00
Matthias Clasen
c8dd07333a Bug 564728 Add function to decode base64 encoded data in place
2009-01-13  Matthias Clasen  <mclasen@redhat.com>

        Bug 564728 Add function to decode base64 encoded data in place

        * glib/glib.symbols:
        * glib/gbase64.[hc] (g_base64_decode_inplace): New convenience
        API to decode in place, overwriting the input string. Patch by
        Sebastian Dröge.


svn path=/trunk/; revision=7807
2009-01-13 19:59:32 +00:00
Matthias Clasen
85fa6de695 2.19.4
svn path=/trunk/; revision=7777
2009-01-05 18:06:05 +00:00
Matthias Clasen
34928d8d05 Move docs inline
svn path=/trunk/; revision=7761
2009-01-03 04:15:17 +00:00
Matthias Clasen
649c25f216 2.19.3
svn path=/trunk/; revision=7746
2008-12-15 20:01:49 +00:00
Behdad Esfahbod
bb63c612bf Bug 563156 – Document printing and scanning gunichar values
2008-12-07  Behdad Esfahbod  <behdad@gnome.org>

        Bug 563156 – Document printing and scanning gunichar values

        * glib/tmpl/unicode.sgml: Document printing and scanning gunichar
        values.


svn path=/trunk/; revision=7731
2008-12-08 02:58:30 +00:00