4271 Commits

Author SHA1 Message Date
Dan Winship
b55e1820a9 g_test_expect_message: fix pattern syntax in example code 2012-11-26 10:47:34 -05:00
John Ralls
1f005d9385 Bug 681685: Transcoding fails on OSX
Add aliases for codesets supported by iconv and included in locales.
Ifdef-out tests in glib/tests/gdatetime.c which fail because on OSX only
ASCII numbers or symbols are returned for the format.

Even though nl_langinfo does weird things on Darwin in some cases, it
still acts correctly when LANG/LC_ALL is set to a supported
locale.codeset.
2012-11-25 16:44:06 +09:00
Ryan Lortie
be008ea6e2 gdatetime: Fix some docs sed damage 2012-11-24 11:23:22 -05:00
Sébastien Wilmet
2b7c2107a5 Improve i18n documentation
Clearly explain which gettext functions must be called. It depends
whether the program is an application or a library.

https://bugzilla.gnome.org/show_bug.cgi?id=688886
2012-11-22 23:08:54 +01:00
Will Thompson
5ff99924d8 gthread: add AVAILABLE_IN_2_32 annotations
https://bugzilla.gnome.org/show_bug.cgi?id=688319
2012-11-22 09:37:22 +00:00
Eduardo Lima Mitev
6e2046207a gchecksum: Adds SHA512 support
https://bugzilla.gnome.org/show_bug.cgi?id=602715
2012-11-21 21:50:26 +01:00
Michael Natterer
ef8510be09 Bug 673047 - gunicollate is broken on OS X
Apply slightly modified patch from Camillo Lugaresi which fixes
gunicollate for OSX >= 10.6. It was totally hilariously broken
for anyone on 10.6 and later, I dont know if it's now broken
on 10.5, but better fix it for the vast majority of users.
2012-11-16 18:51:41 +01:00
Dan Winship
03ef7ba5ab win32: re-fix the _utf8 compat function situation
The previous fix didn't work, because every place within glib that
used any of the functions also needed to be including win32compat.h.

So, move the prototypes back to their original headers (but at least
all in one place at the bottom).

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-16 08:22:06 -05:00
Dan Winship
2628dc2c09 gtestutils: don't try to print long doubles
A few gtestutils function use long double as a type that can (in
theory) hold any int or any double. But win32 doesn't support long
doubles in printf, so convert them to ints or doubles first before
trying to print them.

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Dan Winship
fc3acd88ba win32: avoid printf format warnings on nonstandard formats
glib/tests/test-printf tests some non-standard printf formats on
Windows, which gcc doesn't recognize, and so complains about. Disable
those warnings for that test.

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Dan Winship
75d2c1823c gvariant-internal.h: fix the include hack
gvariant-internal.h was defining GLIB_COMPILATION so that it could
include individual headers, but this broke tests/gvariant on windows
because setting GLIB_COMPILATION changes the definition of GLIB_VAR,
causing external variables to not be found. Fix this by having it
define __GLIB_H_INSIDE__ instead.

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Dan Winship
f80d8f1e4d win32: various fixes to test programs
Fix a few win32-specific bugs in various tests, and #ifdef out code
that is UNIX- or Linux-specific that wouldn't be expected to pass on
Windows.

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Dan Winship
b8c13a01b6 win32: misc warning fixes
https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:06 -05:00
Dan Winship
3ac6cfaeaa win32: prototype _glib_get_dll_directory() and _glib_get_locale_dir()
Rather than using "extern" declarations of these win32 functions
everywhere they're needed, just prototype them in glib-private.h.
(Which also fixes the fact that they weren't prototyped in the files
where they're defined.)

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:05 -05:00
Dan Winship
08f4f92fed win32: add gwin32compat.h, for utf8-renaming compatibility defines
To avoid -Wmissing-prototype warnings, we need to prototype both the
original and the _utf8 versions of all of the functions that have had
_utf8-renaming on Windows. But duplicating all the prototypes is ugly,
so rather than doing them "in-place", move them all to a new header
file just for that.

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:05 -05:00
Michael Natterer
49db979922 Revert "gmain: Add private API to create Unix child watch that uses waitid()"
This reverts commit 93bf37ce1507380f74d4cb4cab6640fc7d2eb7d1.
2012-11-15 15:33:38 +01:00
Michael Natterer
75de24ca66 Revert "gspawn: support creating pipes with O_CLOEXEC"
This reverts commit 2054ccad95cfdcf5eccd2ef6847c12039c9678e8.
2012-11-15 15:33:38 +01:00
Ryan Lortie
2054ccad95 gspawn: support creating pipes with O_CLOEXEC
Add a new flag, G_SPAWN_CLOEXEC_PIPES, for creating the stdin/out/err
pipes with O_CLOEXEC (for the usual reasons).

https://bugzilla.gnome.org/show_bug.cgi?id=672102
2012-11-14 14:12:15 -05:00
Colin Walters
93bf37ce15 gmain: Add private API to create Unix child watch that uses waitid()
This avoids collecting the zombie child, which means that the PID
can't be reused.  This prevents possible race conditions that might
occur were one to send e.g. SIGTERM to a child.

This race condition has always existed due to the way we called
waitpid() for the app, but the window was widened when we moved the
waitpid() calls into a separate thread.

If waitid() isn't available, we return NULL, and consumers of this
private API (namely, GSubprocess) will need to handle that.

https://bugzilla.gnome.org/show_bug.cgi?id=672102
2012-11-14 14:11:57 -05:00
Simon McVittie
e744a4aa7a Remove trailing spaces from expected GMarkup error messages
Commit 138f4c1 broke the relevant part of 'make check' by changing the
error messages away from the ones we previously expected. This commit
updates the expected output to catch up.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=688255
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2012-11-14 13:26:57 +00:00
Colin Walters
b98a1c8df3 gmain: Handle case where source id overflows
0 is not a valid source id, but for long-lived programs that rapidly
create/destroy sources, it's possible for the source id to overflow.
We should handle this, because the documentation implies we will.

https://bugzilla.gnome.org/show_bug.cgi?id=687098
2012-11-13 11:32:57 -05:00
Matthias Clasen
138f4c1e2f Remove trailing space from some translated strings
https://bugzilla.gnome.org/show_bug.cgi?id=687700
2012-11-09 22:12:57 -05:00
Matthias Clasen
7fd15ee4ae Add plural forms for some translations
https://bugzilla.gnome.org/show_bug.cgi?id=687698
2012-11-09 22:10:10 -05:00
Martin Pitt
a07a5f82aa GByteArray: Add missing transfer annotations
Make g_byte_array_new() and g_byte_array_new_take() introspectable by adding
missing transfer annotations to return value.

Covered by tests in PyGObject.
2012-11-09 09:32:03 +01:00
Martin Pitt
e06268d72e GBytes: Add missing annotations
Annotate g_bytes_new*()'s data argument to be a guint8 array, as
introspection clients cannot deal with raw gconstpointers. This makes
GBytes' behaviour similar to GByteArray whose API already uses guint8.

Add missing transfer annotation to g_bytes_get_data() to make it
introspectable.

This is covered by test cases in PyGObject.
2012-11-09 09:09:39 +01:00
John Ralls
8dd70a261d Bug 686185: GDateTime Transcoding fails on OSX
Better fix than d5df0a10f. Thanks to Christian Persch for pointing this
out.
2012-11-08 08:37:54 -08:00
Emmanuel Pacaud
a9eb1907a6 Check for PR_GET_NAME
PR_GET_NAME may not be defined when using an old kernel. Deal with it.
2012-11-08 08:19:43 +01:00
John Ralls
d5df0a10f1 Skip test_non_utf8_printf() if EUC-JP is aliased to UTF-8
See https://bugzilla.gnome.org/show_bug.cgi?id=686185
This skips the test on those systems, like Darwin, which provide the
ja_JP.eucjp locale but which glib doesn't know how to transcode and
aliases JIS to UTF-8.
2012-11-06 16:50:09 -08:00
Ryan Lortie
b26fb3ae5c Don't call varargs open() through non-varargs type
open() is probably defined varargs.  Casting a varargs function to an
equivalent non-varargs type and then calling it is undefined, but
gfileutils.c was doing exactly that.

Add some non-varargs wrappers to avoid the problem.

Problem reported by John Spencer.

https://bugzilla.gnome.org/show_bug.cgi?id=687600
2012-11-06 14:40:36 -05:00
Ryan Lortie
81b27ffc1c Add a translator comment about 'KB'
The GLib units policy used to be that 'KB' means 1024 bytes, 'MB' means
1024 KB, 'GB' means 1024 MB, etc.

Those days are over, but we have a deprecated function that still works
that way.  It contains the string "KB", marked for translation, which
has been a source of confusion for translators on multiple occasions.

https://bugzilla.gnome.org/show_bug.cgi?id=687516
2012-11-05 08:24:30 -05:00
Martin Pitt
13ae0f1f92 Annotate g_filename_to_utf8()
bytes_read and bytes_written are (out) arguments, and the return value must be
a byte array instead of utf8, as otherwise the function would only support
UTF-8 locales/file names.
2012-11-03 14:00:45 +01:00
Colin Walters
ce0022933c Merge waitpid() from g_spawn_sync into gmain()
This is preparatory work for a future commit which will add a
"catchall" waitpid API.  If we don't synchronize here with the worker
thread, race conditions are possible.

This also ensures we have an error message if someone adds a child
watch for a nonexistent pid, etc.  Previously, we'd simply keep
calling waitpid() getting ECHILD, and ignoring it until the source was
removed. Now, we g_warning() and fire the source.

Thirdly, this ensures that the waitpid() call in gmain handles EINTR,
like the g_spawn_sync() one did.

https://bugzilla.gnome.org/show_bug.cgi?id=687061
2012-11-02 09:19:13 -04:00
Tim-Philipp Müller
0bdf7fecaf tests: fix compiler warning in gvariant test
gvariant.c:3555:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
2012-11-02 13:14:58 +00:00
Colin Walters
3686aa0e18 gettext: Add missing include
Fixes the build with -Werror=missing-prototypes.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-02 09:03:52 -04:00
Colin Walters
4c2a659588 gcharset: Add header file for private API
This fixes the build with -Werror=missing-prototypes.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-02 09:03:52 -04:00
Colin Walters
488cdb13f6 gslice: Prototype G_ENABLE_DEBUG function that's part of ABI
Sadly, g_slice_debug_tree_statistics is conditionally part of the
public ABI.  We might as well make it conditionally part of the API as
well, even though this will require people actually using it to

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-02 09:03:51 -04:00
Colin Walters
bd8387f25a g_check_setuid: Include glib-private.h
Otherwise we fail to build with -Werror=missing-prototypes.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-02 09:03:35 -04:00
Colin Walters
139892734e tests/1bitmutex: Hack to build with -Werror=missing-prototypes
Admittedly, this could probably be better, but it builds.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-01 20:12:02 -04:00
Colin Walters
67466b41af build: Don't use C99 declarations
Since GLib needs to compile with MSVC, we can't use them.  This fixes
compilation when using -Werror=declaration-after-statement.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-01 20:12:01 -04:00
Robert Ancell
59a24ab5a3 Use "Returns:" instead of the invalid "@returns" for annotating return values.
https://bugzilla.gnome.org/show_bug.cgi?id=673229
2012-11-01 14:47:25 +13:00
Vincent Untz
529bf6bd89 Add annotations for g_filename_from_uri()
https://bugzilla.gnome.org/show_bug.cgi?id=672924
2012-10-30 09:27:20 -04:00
Aleksander Morgado
0d22609fe9 gmessages: fix minor typo in documentation 2012-10-30 13:15:23 +01:00
Ryan Lortie
311e18abdd gthread-posix: always use atomic pointer ops
On platforms where dependent loads can be reordered (alpha) and we have
exotic implementation of pthread_mutex_lock() it could be possible that
our implementation of g_mutex_lock() is unsafe.

Always use atomic operations to avoid this possibility.

https://bugzilla.gnome.org/show_bug.cgi?id=686191
2012-10-29 16:18:10 +01:00
Paul Eggert
00f4c12bf9 gmain: Document constraints on waitpid
Applications that use glib should not invoke waitpid with a first
argument that is nonpositive, because when such a waitpid is run in
one thread and glib waits for a subprocess in another, there is a race
condition, and the former waitpid can reap a process that was intended
for the latter.  Mention this in the documentation for
g_child_watch_source_new, and in the diagnostic generated by
g_spawn_sync when its waitpid fails with errno equal to ECHILD.

Signed-off-by: Colin Walters <walters@verbum.org>

http://bugzilla.gnome.org/show_bug.cgi?id=687075
2012-10-29 10:19:20 -04:00
Colin Walters
36bf25371c g_unix_signal_source_new: Allow SIGUSR1 and SIGUSR2
These are user defined, it makes sense to allow watching them.  This
is needed to port gnome-session and gdm over.

https://bugzilla.gnome.org/show_bug.cgi?id=686898
2012-10-26 09:28:01 -04:00
Martin Pitt
1775c46e7a GIOChannel: Add missing annotations
The various read and write methods have several out arguments which were not
previously marked as such. Also, as GIOChannel supports binary data with a NULL
encoding, the buffers need to be uint8 arrays instead of utf8 strings.
2012-10-25 14:55:30 +02:00
Martin Pitt
c3f52eae0e GIOChannel: Add missing (allow-none) annotations
g_io_channel_set_line_term() and g_io_channel_set_encoding() can get NULL
arguments, mark them as such.
2012-10-25 07:52:43 +02:00
Colin Walters
4fb2d737ac gvariant: Make g_variant_new_from_bytes() public
Now that GBytes has been made public, we should make
g_variant_new_from_bytes() public too.

Add g_variant_get_data_as_bytes() to match.

https://bugzilla.gnome.org/show_bug.cgi?id=677062
2012-10-23 16:25:49 +02:00
Matthias Clasen
d906f84a44 GBytes: deal with a corner-case
When calling g_bytes_unref_to_data on a GBytes with NULL data
we could end up with double-free or use-after-free issues.
https://bugzilla.gnome.org/show_bug.cgi?id=686091
2012-10-16 21:21:25 -04:00
Matthias Clasen
a0a3643823 Add a test for the previous fix
Running tests/bytes with G_SLICE=always-malloc MALLOC_CHECK_=2
was aborting before.
2012-10-16 21:21:25 -04:00