Commit Graph

2388 Commits

Author SHA1 Message Date
Matthias Clasen
b58fb2bdb5 Move short_month_names and long_month_names to bss.
2006-04-04  Matthias Clasen  <mclasen@redhat.com>

        * glib/gdate.c: Move short_month_names and long_month_names
        to bss.

        * glib/gspawn-win32.c (g_spawn_error_quark):
        * glib/gspawn.c (g_spawn_error_quark):
        * glib/gshell.c (g_shell_error_quark):
        * glib/gmarkup.c (g_markup_error_quark):
        * glib/goption.c (g_option_error_quark):
        * glib/gkeyfile.c (g_key_file_error_quark):
        * glib/giochannel.c (g_io_channel_error_quark):
        * glib/gfileutils.c (g_file_error_quark):
        * glib/gconvert.c (g_convert_error_quark):
        * glib/gbookmarkfile.c (g_bookmark_file_error_quark):
        * glib/gthread.c (g_thread_error_quark): No point in making
        the error path fast by caching quarks.

        * glib/gbookmarkfile.c: Make the parser struct const.
2006-04-04 04:37:39 +00:00
Matthias Clasen
5d1c3924e1 Make the parser struct const 2006-04-04 04:21:38 +00:00
Behdad Esfahbod
34b2972c4f Fix accidentally broken build.
2006-04-04  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gbookmarkfile.c: Fix accidentally broken build.
2006-04-04 04:17:59 +00:00
Matthias Clasen
d940f269e3 Don't include sys/time.h (#337027, Kazuki IWAMOTO)
2006-04-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gbookmarkfile.c: Don't include sys/time.h  (#337027,
	 Kazuki IWAMOTO)
2006-04-03 18:00:39 +00:00
Tor Lillqvist
b2438cad51 Revert change below. It wasn't a good idea after all, says the original
2006-03-31  Tor Lillqvist  <tml@novell.com>

	* glib/gstdio.c (g_remove): Revert change below. It wasn't a good
	idea after all, says the original bug reporter. See bug for
	discussion.
2006-03-31 19:16:23 +00:00
Tor Lillqvist
2df600a633 [Win32] call rmdir() only if remove() fails with errno set to ENOENT, to
2006-03-30  Tor Lillqvist  <tml@novell.com>

	* glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
	fails with errno set to ENOENT, to leave errno set to EACCESS if
	that is the problem. (#334799, Yevgen Muntyan)
2006-03-31 00:26:44 +00:00
Matthias Clasen
bd1d98c08d Sync the parameter names with the .h files, otherwise gtk-doc misbehaves.
2006-03-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync
	the parameter names with the .h files, otherwise gtk-doc
	misbehaves.
2006-03-30 19:36:31 +00:00
Emmanuele Bassi
75eb6fb661 Add bookmarkfile-test to the ignored files.
2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* tests/.cvsignore: Add bookmarkfile-test to the ignored files.
2006-03-27 18:30:11 +00:00
Emmanuele Bassi
9bf3a0fa5f Add test suite for GBookmarkFile.
2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* tests/Makefile.am:
	* tests/bookmarkfile-test.c:
	* tests/run-bookmark-test.sh:
	* tests/bookmarks/*.xbel: Add test suite for GBookmarkFile.
2006-03-27 18:28:07 +00:00
Emmanuele Bassi
189c2c213e Add documentation for GBookmarkFile to GLib's reference guide.
2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* docs/reference/glib/glib-docs.sgml:
	* docs/reference/glib/glib-sections.txt:
	* docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation for
	GBookmarkFile to GLib's reference guide.
2006-03-27 18:25:33 +00:00
Emmanuele Bassi
82702c458f glib/gbookmarkfile.h Add GBookmarkFile, a parser for files containing
2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* glib/glib.h:
	* glib/gbookmarkfile.h
	* glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files
	containing bookmarks stored using the Desktop Bookmark
	specification. Fixes bug #327662.

	* glib/glib.symbols:
	* glib/Makefile.am:
	* glib/makefile.msc.in:
	* glib/makefile.mingw.in: Build glue for GBookmarkFile.
2006-03-27 18:22:47 +00:00
Dom Lachowicz
8dece49a5f bump version number to 2.11.0 2006-03-27 17:06:50 +00:00
Dom Lachowicz
a903995bcc Change a gboolean to an int. Fixes bug #329789.
2006-03-27  Dom Lachowicz  <cinamod@hotmail.com>
	Change a gboolean to an int. Fixes bug #329789.
2006-03-27 13:37:02 +00:00
Dom Lachowicz
a9f52a13b0 Copy-and-paste error slipped into test5. Enable test5, as per Matthias'
2006-03-27  Dom Lachowicz  <cinamod@hotmail.com>

	* tests/option-test.c: Copy-and-paste error slipped into test5. Enable
	test5, as per Matthias' comments in bug 329548#c11.
2006-03-27 13:34:16 +00:00
Matthias Clasen
9749aa87e5 Support floating point arguments in goption 2006-03-27 06:57:28 +00:00
Matthias Clasen
a205620a88 Improve the description of parameter_string in the docs. (#336085, Claudio
2006-03-26  Matthias Clasen  <mclasen@redhat.com>

        * glib/goption.c (g_option_context_new): Improve the description
        of parameter_string in the docs.  (#336085, Claudio Saavedra)
2006-03-26 20:15:19 +00:00
Martyn James Russell
f0ee594a80 Updated the documentation to explain that when the maximum threads is > 1
* glib/gthreadpool.c: Updated the documentation to explain that
when the maximum threads is > 1 the sort functionality is not 100%
accurate due to the ramdom nature of the scheduler choosing which
threads to execute. Fixes bug #334943.

* tests/threadpool-test.c: Disabled the debugging by default and
fixed the sort test to set the maximum threads to 1 to guarantee
the thread entry function is called in order.
2006-03-24 15:21:28 +00:00
Matthias Clasen
601289c545 Split ChangeLog 2006-03-24 03:05:36 +00:00
Matthias Clasen
b6d9f42ab9 Adjust docs 2006-03-23 13:38:17 +00:00
Emmanuele Bassi
6db9ec4070 Check for timegm.
2006-03-23  Emmanuele Bassi  <ebassi@cvs.gnome.org>

	* configure.in: Check for timegm.

	* glib/gtimer.h:
	* glib/gtimer.c:
	* glib/glib.symbols:
	* docs/reference/glib/glib-sections.txt: Added g_time_val_to_iso8601
	and g_time_val_from_iso8601, to convert a GTimeVal to and from an
	ISO 8601 encoded date.

	* tests/testglib.c: Added test cases for g_time_val_to_iso8601()
	and g_time_val_from_iso8601() functions.
2006-03-23 02:54:29 +00:00
Vladimer Sichinava
b78ec7a1b5 Updated Georgian translation 2006-03-20 23:21:19 +00:00
Matthias Clasen
d0ee63840c use standard_calloc to allocate the profile_data. (#335209, Chris Wilson)
2006-03-20  Matthias Clasen  <mclasen@redhat.com>

        * glib/gmem.c (profiler_log): use standard_calloc to allocate
        the profile_data.  (#335209, Chris Wilson)

        * glib/gmain.c (g_main_context_unref): Avoid a deadlock.
        (#335207, Chris Wilson)

        Minor optimizations (#335216, Chris Wilson):

        * glib/gasyncqueue.c (g_async_queue_pop_intern_unlocked): Use
        g_queue_peek_tail_link instead of g_queue_peek_tail.

        * glib/glist.c:
        * glib/gslist.c: Avoid some memset calls.
2006-03-20 18:43:32 +00:00
Matthias Clasen
56b06e14dc Add this, at the request of the GNOME sysadmin team.
2006-03-19  Matthias Clasen  <mclasen@redhat.com>

	* MAINTAINERS: Add this, at the request of the GNOME sysadmin team.
2006-03-20 03:56:33 +00:00
Matthias Clasen
79a5c739a4 Only set the prgname if it hasn't been set before. (#334611, Chong Kai
2006-03-15  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (g_option_context_parse): Only set the prgname
	if it hasn't been set before.  (#334611, Chong Kai Xiong)
2006-03-15 13:03:48 +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
Matthias Clasen
99024c7ea7 Don't create the option_name twice. (#334519, Chris Wilson)
2006-03-14  Matthias Clasen  <mclasen@redhat.com>

	* glib/goption.c (parse_short_option): Don't create the
	option_name twice.  (#334519, Chris Wilson)
2006-03-14 15:34:54 +00:00
Anders Carlsson
8a51746479 Revert fix for #322476, it breaks module loading since libtool on darwin
2006-03-13  Anders Carlsson  <andersca@luminoth.local>

        * configure.in: Revert fix for #322476, it breaks module loading
        since libtool on darwin makes shared modules use .so and shared
        libraries use .dylib. The fix breaks shared module loading everywhere
        in GTK+.
2006-03-13 08:40:54 +00:00
Marcus Brinkmann
6f0ef1bae2 Implement watches for GIOChannels for write file descriptors on Win32
2006-03-02  Marcus Brinkmann  <mb@g10code.de>

	Implement watches for GIOChannels for write file descriptors on
	Win32 (#333098).

	* glib/giowin32.c (GIOWin32Channel): Add a new direction field.
	(read_thread): Initialize direction.
	(write_thread): New function.
	(buffer_write): New function.
	(g_io_win32_prepare): Handle the G_IO_WIN32_FILE_DESC case for the
	write direction.
	(g_io_win32_fd_write): Call buffer_write() if there is a writer
	thread.
	(g_io_win32_fd_close): Set space_avail_event for writer threads.
	(g_io_win32_fd_create_watch): Create the writer thread if
	condition is G_IO_OUT.
	(g_io_channel_win32_make_pollfd): Likewise here.
2006-03-11 21:03:00 +00:00
Matthias Clasen
0b8901daee dist all changelogs 2006-03-09 05:31:52 +00:00
Tor Lillqvist
f800121ed8 Add G_GUINT64_CONSTANT.
2006-03-08  Tor Lillqvist  <tml@novell.com>

	* glibconfig.h.win32.in: Add G_GUINT64_CONSTANT.
2006-03-07 23:45:30 +00:00
Matthias Clasen
2430f1f039 Bump version 2006-03-07 19:18:16 +00:00
Matthias Clasen
a639cb7cb8 2.10.1 2006-03-07 18:30:23 +00:00
Matthias Clasen
aa1f71e973 Prepare 2.10.1 2006-03-07 17:02:38 +00:00
Matthias Clasen
b7420e0847 Match the prototype in gconvert.c to fix build problems in NetBSD.
2006-03-07  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutf8.c (_g_charset_get_aliases): Match the prototype
	in gconvert.c to fix build problems in NetBSD.  (#333651,
	Julio M. Merino Vidal)
2006-03-07 16:32:38 +00:00
Anders Carlsson
4e41e5c2fb Make .dylib the shared library suffix on darwin. (#322476, Vladimir Panov)
2006-03-06  Anders Carlsson  <andersca@imendio.com>

        * configure.in:
        Make .dylib the shared library suffix on darwin.
        (#322476, Vladimir Panov)
2006-03-06 08:06:22 +00:00
Anders Carlsson
c57fc7b6fd Skip checking thread flags on Darwin. Fix suggested by Manish Singh.
2006-03-06  Anders Carlsson  <andersca@imendio.com>

        * configure.in:
        Skip checking thread flags on Darwin. Fix suggested by Manish Singh.
        (#314794, Gregor Riepl)
2006-03-06 07:53:24 +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
Matthias Clasen
eab0e631cb Bump version 2006-02-24 18:03:36 +00:00
Matthias Clasen
2f4f39095f 2.10.0 2006-02-24 17:17:35 +00:00
Matthias Clasen
da3fc6eed8 Preparations for 2.10 2006-02-24 14:25:06 +00:00
Matthias Clasen
8b3b3adb6d Add tests for g_utf8_strlen().
2006-02-24  Matthias Clasen  <mclasen@redhat.com>

        * tests/utf8-pointer.c: Add tests for g_utf8_strlen().

        * glib/gutf8.c: Fix boundary cases in g_utf8_strlen().
        (#332435)
2006-02-24 13:56:58 +00:00
Kjartan Maraas
a629b3f02d Plug leaks reported by valgrind. Same. Same Same. Same. Same.
2006-02-23  Kjartan Maraas  <kmaraas@gnome.org>

	* tests/completion-test.c: (main): Plug leaks reported by
	valgrind.
	* tests/convert-test.c: (test_iconv_state), (test_one_half):
	Same.
	* tests/patterntest.c: (test_compilation): Same
	* tests/shell-test.c: (do_argv_test): Same.
	* tests/unicode-caseconv.c: (main): Same.
	* tests/uri-test.c: (run_to_uri_tests): Same.
2006-02-23 09:09:55 +00:00
Martyn James Russell
dde67f284d Updated to test _sort, _sort_with_data, _insert_sorted and
* tests/asyncqueue-test.c:
* tests/list-test.c:
* tests/slist-test.c: Updated to test _sort, _sort_with_data,
_insert_sorted and _insert_sorted_with_data API.
2006-02-19 17:17:32 +00:00
Matthias Clasen
c773a618e3 Add paramspec-test
2006-02-18  Matthias Clasen  <mclasen@redhat.com>

	* tests/gobject/Makefile.am: Add paramspec-test

	* tests/gobject/paramspec-test.c: Some GParamSpec tests.
2006-02-18 21:07:18 +00:00
Matthias Clasen
fb7ae4674a Add more tests.
2006-02-18  Matthias Clasen  <mclasen@redhat.com>

	* tests/gobject/gvalue-test.c: Add more tests.
2006-02-18 20:37:14 +00:00
Kang Jeong-Hee
3afc87dd62 p in str, not str in p 2006-02-17 18:06:17 +00:00
Sebastian Wilhelmi
139b852e0c Fix deadlock when signalling the thread which freed a thread pool
2006-02-15  Sebastian Wilhelmi  <seppi@seppi.de>

	* glib/gthreadpool.c: Fix deadlock when signalling the thread
	which freed a thread pool (#331110, Chris Wilson).
2006-02-15 22:10:49 +00:00
Tim Janik
8a8f185feb only define _XOPEN_SOURCE to 600 to get at posix_memalign() in case we
Tue Feb 14 17:00:43 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: only define _XOPEN_SOURCE to 600 to get at
        posix_memalign() in case we actually are going to use it, because
        we detected a compliant implementation (#328997).

        * configure.in (enable_included_printf): don't include malloc.h when
        testing for posix_memalign() funcitonality, since this may break the
        test on some systems (#328997).
2006-02-14 16:31:37 +00:00
Matthias Clasen
16d640b06c Improve docs 2006-02-14 13:15:40 +00:00
Matthias Clasen
af818b6bc8 Bump version 2006-02-11 14:17:05 +00:00
Matthias Clasen
72abb1a5ac 2.9.6 2006-02-11 14:05:58 +00:00
Behdad Esfahbod
db298b2f46 Specify the type of varargs arguments. (bug #317679)
2006-01-31  Behdad Esfahbod  <behdad@gnome.org>

        * docs/reference/glib/tmpl/relations.sgml (g_relation_insert): Specify
        the type of varargs arguments. (bug #317679)
2006-01-31 23:22:52 +00:00
Matthias Clasen
74c1b53256 Touch README and INSTALL here to pacify automake. (#329124, Kjartan
2006-01-31  Matthias Clasen  <mclasen@redhat.com>

	* autogen.sh: Touch README and INSTALL here to pacify
	automake.  (#329124, Kjartan Maraas, Tim Janik)
2006-01-31 17:34:38 +00:00
Tim Janik
20887fa148 carry out all dtalist pointer accesses atomically, some missing cases
Tue Jan 31 16:45:03 2006  Tim Janik  <timj@imendio.com>

        * glib/gdataset.c: carry out all dtalist pointer accesses atomically,
        some missing cases where pointed out by Sebastian Wilhelmi.
2006-01-31 15:46:34 +00:00
Tim Janik
7162fbbbfd generate build/win32/vs8/Makefile, to fix build breakage.
Tue Jan 31 12:33:48 2006  Tim Janik  <timj@imendio.com>

        * configure.in: generate build/win32/vs8/Makefile, to fix build breakage.
2006-01-31 11:39:03 +00:00
David Schleef
d0feaee819 Update URL
2006-01-30  David Schleef  <ds@schleef.org>

        * glib/grand.c: Update URL
2006-01-30 18:32:17 +00:00
Sven Herzberg
e70a6c4be9 tell how to create container classes which are as flexible as a GValue is
2006-01-29  Sven Herzberg  <herzi@gnome-de.org>

        * docs/reference/gobject/tmpl/param_value_types.sgml: tell how to
	create container classes which are as flexible as a GValue is
2006-01-29 14:30:22 +00:00
Matthias Clasen
42c462606f Bump version 2006-01-27 14:37:54 +00:00
Matthias Clasen
666e90eae6 2.9.5 2006-01-27 14:37:02 +00:00
Matthias Clasen
b0b1b2d4db Updates 2006-01-27 13:01:37 +00:00
Matthias Clasen
6c9179512d Fix C99isms. (#328705, Kazuki Iwamoto)
2006-01-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmem.c (g_mem_init_nomessage): Fix C99isms.  (#328705,
	Kazuki Iwamoto)
2006-01-26 19:43:48 +00:00
Tim Janik
bd88bf87da fixed buglets reported by Jens Granseuer in #328254.
Wed Jan 25 19:16:57 2006  Tim Janik  <timj@imendio.com>

        * fixed buglets reported by Jens Granseuer in #328254.

        * configure.in: free the memory allocated in posix_memalign() tests.

        * glib/gslice.c: spelling fixes.
2006-01-25 18:20:28 +00:00
Tim Janik
eda944bca5 honour g_mem_gc_friendly settings when freeing slices, make sure
Wed Jan 25 16:39:18 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: honour g_mem_gc_friendly settings when freeing
        slices, make sure g_mem_gc_friendly is properly initialized.

        * gmem.[hc]: ensure g_mem_gc_friendly is initialized from G_DEBUG upon
        the first allocation. applied some branching optimizations.

        * docs/macros.txt: reflected --enable-gc-friendly change and
        described ENABLE_GC_FRIENDLY_DEFAULT as well as G_DEBUG=gc-friendly.

        * configure.in: changed --enable-gc-friendly=yes to define
        ENABLE_GC_FRIENDLY_DEFAULT.

        * glib/garray.c: changed ENABLE_GC_FRIENDLY macro #ifdef-s to
        if (G_UNLIKELY (g_mem_gc_friendly)).

        * glib/gtree.c:
        * glib/ghash.c: removed ENABLE_GC_FRIENDLY code which is now taken
        care of by g_slice_free1().

        * tests/slice-test.c: fixed leaks, reported by Kjartan Maraas.
2006-01-25 15:51:43 +00:00
Tim Janik
7b744cf4d2 only use posix_memalign() if it's known to work, revert to memalign()
Tue Jan 24 17:49:36 2006  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: only use posix_memalign() if it's known to work,
        revert to memalign() otherwise.

        * configure.in: check for broken posix_memalign() implementations
        to fix #328254.
2006-01-24 16:56:17 +00:00
Matthias Clasen
3c62ff454a Use UTF-16LE as target encoding on all little-endian systems. (#143380,
2006-01-24  Matthias Clasen  <mclasen@redhat.com>

	* tests/unicode-encoding.c: Use UTF-16LE as target encoding
	on all little-endian systems.  (#143380, Marc Moorcroft)
2006-01-24 15:25:11 +00:00
Matthias Clasen
fc2c35293d Change the shared libary extension for hpux-ia64 to so. (#328253, The
2006-01-23  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Change the shared libary extension for hpux-ia64
	to so.  (#328253, The Written Word)
2006-01-24 05:04:57 +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
c2d358fbbb Bump version 2006-01-18 17:35:27 +00:00
Matthias Clasen
1154014f26 2.9.4 2006-01-18 17:16:21 +00:00
Matthias Clasen
402a1081ae Add a note about casting the results of g_new() and g_new0().
2006-01-17  Matthias Clasen  <mclasen@redhat.com>

	* glib/tmpl/memory.sgml: Add a note about casting the results
	of g_new() and g_new0().
2006-01-18 03:51:39 +00:00
Sebastian Wilhelmi
f4484f51bf To avoid deadlocks get rid of the settings G_LOCK. Use the
2006-01-17  Sebastian Wilhelmi  <seppi@seppi.de>

	* glib/gthreadpool.c: To avoid deadlocks get rid of the settings
	G_LOCK. Use the unused_thread_queue lock instead. Change
	g_thread_pool_thread_proxy such that threads only wait on
	non-exlusive pools for at most a 1/2 second. Do not reorder tasks
	due to superfluous tasks. Global tasks wait at most for
	max-idle-time milliseconds. Make sure, that no task is woken up
	twice for the same event via a wakeup_serial. This fixes #324228.

	* tests/threadpool-test.c: Adapt test accordingly. Do not pass
	invalid NULL into the thread pools. This as well fixes #327290.
2006-01-17 20:06:27 +00:00
Matthias Clasen
47d0894a11 Bump version 2006-01-17 00:04:52 +00:00
Matthias Clasen
7f737f1f34 2.9.3 2006-01-17 00:00:17 +00:00
Matthias Clasen
7523252384 Updates
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates
2006-01-16 23:10:47 +00:00
Matthias Clasen
488cee4977 Rework the strict aliasing fix to not break C++, pointed out by Murray
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthread.h (g_static_mutex_get_mutex_impl_shortcut):
	Rework the strict aliasing fix to not break C++, pointed
	out by Murray Cumming.
2006-01-16 23:03:10 +00:00
Matthias Clasen
5fb7be3961 Signal waiting threads, problem noticed by Christian Kellner.
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

        * glib/gasyncqueue.c (g_async_queue_push_sorted_unlocked):
        Signal waiting threads, problem noticed by Christian Kellner.
2006-01-16 22:14:17 +00:00
Matthias Clasen
11a3e72c3a Fix bug 326747, Alberto Ruiz:
2006-01-16  Matthias Clasen  <mclasen@redhat.com>

	Fix bug 326747, Alberto Ruiz:

	* glib/gconvert.c (make_valid_utf8): Change this function to
	replace unknown characters by the Unicode replacement character
	instead of '?', and don't append "(invalid encoding)".
	(g_filename_display_name, g_filename_display_basename): Document
	how to determine if the filename was in an invalid encoding.
2006-01-16 14:54:45 +00:00
Matthias Clasen
fb3e4c63ef Replace the simple recursive implementation by a nonrecursive, threaded
2006-01-14  Matthias Clasen  <mclasen@redhat.com>

	* glib/gtree.c: Replace the simple recursive implementation
	by a nonrecursive, threaded implementation by Maurizio
	Monge.  (#169285)
2006-01-14 05:24:10 +00:00
Matthias Clasen
42e7c208b7 Fix the assert to not always trigger. (#326558, Daichi Kawahata)
2006-01-12  Matthias Clasen  <mclasen@redhat.com>

	* tests/asyncqueue-test.c (main): Fix the
	assert to not always trigger.  (#326558,
	Daichi Kawahata)
2006-01-12 20:27:16 +00:00
Matthias Clasen
c93ebd50af Don't test items_read and items_written in error cases where it is not
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

	* tests/convert-test.c: Don't test items_read and
	items_written in error cases where it is not set.
2006-01-11 16:49:22 +00:00
Matthias Clasen
e31bd40d43 Set error to NULL.
2006-01-11  Matthias Clasen  <mclasen@redhat.com>

	* tests/asyncqueue-test.c: Set error to NULL.
2006-01-11 16:30:21 +00:00
Matthias Clasen
a3a469192c Break some long lines.
2006-01-08  Matthias Clasen  <mclasen@redhat.com>

	* glib/gtree.c: Break some long lines.

	* tests/tree-test.c: Add more tests.
2006-01-09 04:11:12 +00:00
Matthias Clasen
0f3dfbfc86 Include config.h first 2006-01-08 23:21:01 +00:00
Sven Herzberg
82395be214 explain that G_TYPE_INSTANCE_GET_CLASS() does behave different during
2005-12-20  Sven Herzberg  <herzi@gnome-de.org>

        * docs/reference/gobject/tmpl/gtype.sgml: explain that
	G_TYPE_INSTANCE_GET_CLASS() does behave different during
	initialization
2006-01-08 15:13:28 +00:00
Matthias Clasen
4a71102e70 Fix a build problem on OS X. 2006-01-06 05:50:40 +00:00
Matthias Clasen
3439650dd1 Bump version 2006-01-06 05:09:30 +00:00
Matthias Clasen
9090c67afc 2.9.2 2006-01-06 05:07:47 +00:00
Hans Breuer
920519fd61 added gslice.obj
2006-01-05  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in : added gslice.obj
2006-01-05 23:37:02 +00:00
Matthias Clasen
4a38d13665 Updates 2006-01-05 21:58:36 +00:00
Matthias Clasen
90bd00b055 Clarify the documentation of source ids a bit. (#325874, Dan Williams)
2006-01-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmain.c: Clarify the documentation of source ids
	a bit.  (#325874, Dan Williams)
2006-01-05 21:07:55 +00:00
Matthias Clasen
e16ec3b973 Fix another strict aliasing problem.
2006-01-05  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Fix another strict aliasing problem.
2006-01-05 14:30:04 +00:00
Matthias Clasen
fbf0e8bc7d Avoid use of varargs macro. (#325864, Kazuki IWAMOTO)
2006-01-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gthreadpool.c: Avoid use of varargs macro.  (#325864,
	Kazuki IWAMOTO)
2006-01-05 14:24:35 +00:00
Manish Singh
7be75a123b glib/glib.symbols don't macroized g_access, g_chdir, and g_unlink either,
2006-01-04  Manish Singh  <yosh@gimp.org>

        * glib/glib.symbols
        * glib/gstdio.h: don't macroized g_access, g_chdir, and g_unlink
        either, since they have the same issue as g_rmdir. (Related to
        bug #325249)
2006-01-05 06:21:49 +00:00
Tim Janik
f2613bf9ed don't reverse chunk order when creating magazines, so we hand out chunks
Wed Jan  4 13:33:25 2006  Tim Janik  <timj@gtk.org>

        * glib/gslice.c (magazine_cache_pop_magazine): don't reverse chunk
        order when creating magazines, so we hand out chunks with ascending
        adresses.
2006-01-04 13:03:22 +00:00
Abel Cheung
9c9e953440 Added "ml" "zh_HK" to ALL_LINGUAS.
2006-01-04  Abel Cheung  <maddog@linuxhall.org>

	* configure.in: Added "ml" "zh_HK" to ALL_LINGUAS.
2006-01-04 02:27:22 +00:00
Martyn James Russell
941faa1ca9 - Added new API g_thread_pool_get_idle_time() and
* docs/reference/glib/glib-sections.txt:
* glib/glib.symbols:
* glib/gthreadpool.[ch]:
- Added new API g_thread_pool_get_idle_time() and
g_thread_pool_set_idle_time(). (#324228).

* tests/threadpool-test.c:
- Updated test case to do thread pool sorting, thread pool with
no sorting and a thread pool with idle thread timeouts.
2006-01-03 15:09:52 +00:00
Matthias Clasen
be5d72cba0 Add new functions 2006-01-03 14:52:34 +00:00
Matthias Clasen
796aa7e06e Small fixes 2006-01-03 12:01:05 +00:00
Michael Meeks
d2555b65ee new method to determine if the current thread is the owner of the context.
2005-12-20  Michael Meeks  <michael.meeks@novell.com>

	* glib/gmain.c (g_main_context_is_owner): new method
	to determine if the current thread is the owner of the
	context.
2006-01-03 10:24:07 +00:00
Matthias Clasen
a5a39466a1 Don't provide g_rmdir() as a macro expanding to rmdir, since rmdir is not
2006-01-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gstdio.h:
	* glib/gstdio.c (g_rmdir): Don't provide g_rmdir() as a macro
	expanding to rmdir, since rmdir is not declared in a portable
	system header we can include in gstdio.h.  (#325249, Jani Monoses)
2006-01-03 02:53:05 +00:00
Tor Lillqvist
07e1d54fb7 Set the GIOChannels for stdout and stderr to unbuffered. Otherwise the
2006-01-01  Tor Lillqvist  <tml@novell.com>

	* glib/gspawn-win32.c (g_spawn_sync_utf8): Set the GIOChannels for
	stdout and stderr to unbuffered. Otherwise the giochannel layer
	will try to read from them regardless whether the
	g_io_channel_win32_poll() call here has indicated
	readability or not. (#325310)
2006-01-01 11:15:56 +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
Manish Singh
a05f171524 use LC_ALL instead of LC_COLLATE, to make sure we really override things.
2005-12-27  Manish Singh  <yosh@gimp.org>

        * tests/run-collate-tests.sh: use LC_ALL instead of LC_COLLATE, to
        make sure we really override things.
2005-12-27 23:35:52 +00:00
Matthias Clasen
1e4efb6554 Fix #316221, Michal Benes, Stanislav Brabec;
2005-12-27  Matthias Clasen  <mclasen@redhat.com>

        Fix #316221, Michal Benes, Stanislav Brabec;

        * configure.in: Fix a strict aliasing problem in
        g_static_mutex_get_mutex().
        * glib/gthread.h: ...and in
        g_static_mutex_get_mutex_impl_shortcut().
2005-12-27 19:50:02 +00:00
Matthias Clasen
97ffe020cd Add a cast to silence compiler warnings. (#321978, Andrew Paprocki)
2005-12-27  Matthias Clasen  <mclasen@redhat.com>

        * glib/gdatasetprivate.h: Add a cast to silence compiler
        warnings.  (#321978, Andrew Paprocki)
2005-12-27 19:21:36 +00:00
Matthias Clasen
d947ad7167 Partial fix for bug #32937, Bogdan Nicula.
2005-12-27  Matthias Clasen  <mclasen@redhat.com>

        Partial fix for bug #32937, Bogdan Nicula.

        * configure.in: Check for malloc.h
        * glib/gslice.c: Don't include malloc.h unconditionally.
2005-12-27 19:15:12 +00:00
Manish Singh
4a94f2d332 export LC_COLLATE so it takes. (#324950, Dan Yefimov)
2005-12-27  Manish Singh  <yosh@gimp.org>

        * tests/run-collate-tests.sh: export LC_COLLATE so it takes.
        (#324950, Dan Yefimov)
2005-12-27 08:23:08 +00:00
Matthias Clasen
8ade96bdce On Win32, include process.h (#325015, Kazuki Iwamoto)
2005-12-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gslice.c: On Win32, include process.h  (#325015, Kazuki
	Iwamoto)
2005-12-26 23:18:09 +00:00
Matthias Clasen
3ca25a1efa Updates 2005-12-26 05:23:08 +00:00
Matthias Clasen
47d2ef18ea Fix C99isms. (#324950, Dan Yefimov)
2005-12-25  Matthias Clasen  <mclasen@redhat.com>

        * tests/slice-test.c: Fix C99isms.  (#324950, Dan Yefimov)
2005-12-26 04:59:34 +00:00
Matthias Clasen
513be6bbae Updates 2005-12-21 06:33:37 +00:00
Matthias Clasen
700a71f010 New function to sort tasks pushed into a threadpool. (#324479, Martyn
2005-12-20  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gthreadpool.h:
	* glib/gthreadpool.c (g_thread_pool_set_sort_function): New function
	to sort tasks pushed into a threadpool.  (#324479, Martyn Russell)

	* tests/threadpool-test.c: Test this.
2005-12-21 04:45:56 +00:00
Tim Janik
3f9d65375e added mem_error() and mem_assert() to test and handle errors without
Tue Dec 20 18:14:14 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.[hc]: added mem_error() and mem_assert() to test and
        handle  errors without depending on gmessage.c which might not be
        setup when the error occours.
        removed G_SLICE_CONFIG_ALWAYS_FREE config option, fixed the code so
        always freeing can be achieved by adjusting the working set time to
        0 with G_SLICE_CONFIG_WORKING_SET_MSECS.
        added G_SLICE_CONFIG_COLOR_INCREMENT to test different color increments
        (mainly 0 and 1). reduced the minimum block size to 128 bytes, to
        minimize wastage if small amounts of differently sized structrues are
        allocated, this does come at a performance cost of roughly 5% though.
        fixed up block alignment calculation, so it works for varying
        block sizes. only use strerror() not g_strerror() since the latter
        depends on working GQuark and GSlice.
        mem_error(): implemented in terms of fprintf and vfprintf.

        * tests/slice-color.c: new program to test cache colorization effects.

        * tests/slice-test.c: trade G_SLICE_CONFIG_ALWAYS_FREE for 0 duration
        G_SLICE_CONFIG_WORKING_SET_MSECS.
2005-12-20 17:35:02 +00:00
Matthias Clasen
df21b345c5 Set an error in all failure cases. (#324332, Tim-Philipp Müller)
2005-12-17  Matthias Clasen  <mclasen@redhat.com>

        * glib/goption.c (parse_short_option): Set an error in all
        failure cases.  (#324332, Tim-Philipp Müller)
2005-12-18 02:46:27 +00:00
Sebastian Wilhelmi
78568970db Fix memory barrier position in g_atomic_int_get and g_atomic_pointer_get.
2005-12-17  Sebastian Wilhelmi  <seppi@seppi.de>

	* glib/gatomic.c: Fix memory barrier position in g_atomic_int_get
	and g_atomic_pointer_get. Add g_atomic_int_set and
	g_atomic_pointer_set implementations for the !DEFINE_WITH_MUTEXES &&
	G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case, as well as defining them
	as functions (additionally to the macros in the header) for the
	!G_ATOMIC_OP_MEMORY_BARRIER_NEEDED case.
2005-12-17 12:20:50 +00:00
Matthias Clasen
63732bdf5e Don't return a pointer to a const struct, since apps expect to be able to
2005-12-16  Matthias Clasen  <mclasen@redhat.com>

        *  glib/gmem.c (g_allocator_new): Don't return a pointer to
        a const struct, since apps expect to be able to modify it.
        (#324179, J. Ali Harlow)
2005-12-16 21:13:18 +00:00
Tim Janik
7c24467a1c added g_atomic_pointer_set() and g_atomic_int_set() for systems where the
Tue Dec 13 10:13:32 2005  Tim Janik  <timj@imendio.com>

        * glib/gatomic.h: added g_atomic_pointer_set() and g_atomic_int_set()
        for systems where the initialization of atomic variables requires a
        write memory barrier.
2005-12-13 09:15:52 +00:00
Matthias Clasen
0d19d25fe4 Bump version 2005-12-09 20:00:06 +00:00
Matthias Clasen
eff8046fcc 2.9.1 2005-12-09 18:05:25 +00:00
Alexander Larsson
dd1878cd75 Use G_GNUC_WARN_UNUSED_RESULT on list functions that return the whole
2005-12-09  Alexander Larsson  <alexl@redhat.com>

	* glib/glist.h:
	* glib/gslist.h:
	Use G_GNUC_WARN_UNUSED_RESULT on list functions that return
	the whole list.
2005-12-09 13:58:57 +00:00
Matthias Clasen
52917fc408 Updates
2005-12-08  Matthias Clasen  <mclasen@redhat.com>

	* NEWS: Updates
2005-12-08 05:00:35 +00:00
Martyn James Russell
c6ad7b7ac8 - Call g_queue_insert_sorted() instead of duplicating the code. - Call
* glib/gasyncqueue.c:
- Call g_queue_insert_sorted() instead of duplicating the code.
- Call g_queue_sort() instead of duplicating the code.
- Invert sort function results to make sure the same sort function
gives the same results across glist, gslist, gqueue and
gasyncqueue.

* tests/asyncqueue-test.c:
- Updated the sort function to reflect the example in the
documentation for gasyncqueue.c.
2005-12-07 12:09:44 +00:00
Martyn James Russell
9763367246 Missed the ChangeLog 2005-12-07 11:36:48 +00:00
Tor Lillqvist
d63b58e8c5 Look up prefix at run-time on Win32, assuming the standard directory
2005-12-07  Tor Lillqvist  <tml@novell.com>

	* glib-gettextize.in: Look up prefix at run-time on Win32,
	assuming the standard directory structure with glib-gettextize in
	$prefix/bin.
2005-12-07 03:57:14 +00:00
Matthias Clasen
d3388eb4e8 Exempt GTK+ from the mem chunk deprecation, since we need GTK+ 2.8 to
2005-12-06  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
	we need GTK+ 2.8 to compile against GLib 2.10.
2005-12-06 14:16:27 +00:00
Manish Singh
b995c03ea2 set LC_COLLATE, not LANG, to be sure to override any user settings.
2005-12-05  Manish Singh  <yosh@gimp.org>

        * tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
        to override any user settings.
2005-12-05 21:45:06 +00:00
Matthias Clasen
886e00c760 Revert an accidental commit 2005-12-05 21:09:20 +00:00
Matthias Clasen
c9387d9069 Documentation updates. (#323291, Morten Welinder)
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutf8.c: Documentation updates.  (#323291, Morten Welinder)
2005-12-05 19:09:00 +00:00
Matthias Clasen
81f0bb11a9 Set MALLOC_CHECK_ and MALLOC_PERTURB_
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* tests/Makefile.am (TESTS_ENVIRONMENT):
	* tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
	MALLOC_CHECK_ and MALLOC_PERTURB_

	* tests/run-collate-tests.sh: Run the collation tests explicitly
	in en_US locale. (#320463)
2005-12-05 16:35:38 +00:00
Matthias Clasen
7d5800d718 Deprecate mem chunks 2005-12-05 15:54:44 +00:00
Matthias Clasen
0b5560da8b Add versioned deprecation information 2005-12-05 15:38:54 +00:00
Martyn James Russell
a127920458 - Added support for sorting async queues by with _push_sorted(),
* docs/reference/glib/glib-sections.txt:
* glib/gasyncqueue.[ch]:
- Added support for sorting async queues by with _push_sorted(),
_push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).

* tests/Makefile.am:
* tests/asyncqueue-test.c:
- Added test case for gasyncqueue.c
2005-12-05 15:08:45 +00:00
Tim Janik
6ed79b115c implement chain walking for arbitrary ->next pointer offsets in
Mon Dec  5 15:53:20 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: implement chain walking for arbitrary ->next pointer
        offsets in g_slice_free_chain_with_offset() based on a patch by behdad
        in bug 323178. moved time consuming logic from g_slice_free() out of
        the inner loop, so g_slice_free_chain_with_offset() provides a real
        performance benefit over g_slice_free1() now.

        * glib/gslice.h: renamed g_slice_free_chain() to
        g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
        a type-safe macro as suggested in bug 323178.
        simplified the macro implementation of g_slice_free() and implemented
        it in a type safe manner for all compliers as suggested by Morten
        Welinder <mortenw@gnome.org>.

        * glib/gmain.c:
        * glib/glist.c:
        * glib/gslist.c:
        * glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
2005-12-05 15:01:27 +00:00
Matthias Clasen
559e1057a0 Add some docs.
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* glib/gasyncqueue.c: Add some docs.
2005-12-05 13:50:39 +00:00
Matthias Clasen
5c32d5236f Fix compiler warnings.
2005-12-05  Matthias Clasen  <mclasen@redhat.com>

	* tests/libmoduletestplugin_a.c: Fix compiler warnings.

	* glib/gatomic.c: In the ia64 implementation, use
	__sync builtin without _si or _di suffix.  (#321229,
	Stanislav Brabec, patch by Andreas Schwab)
2005-12-05 13:37:55 +00:00
Behdad Esfahbod
9200814d86 Remove comma at the end of enum.
2005-12-04  Behdad Esfahbod  <behdad@gnome.org>

        * glib/gslice.h: Remove comma at the end of enum.
2005-12-05 00:45:55 +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
Matthias Clasen
00f952f8e8 Add a macro to make gcc warn if a function result is ignored. (#145466,
2005-12-04  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
	to make gcc warn if a function result is ignored.  (#145466,
	Arjan van de Ven, Alex Larsson)

	* glib/gmem.h: Add the new attribute to g_realloc and
	g_try_realloc.
2005-12-04 06:41:58 +00:00
Matthias Clasen
36c836435b Deprecate g_cache_value_foreach. (#322956, Nicolas Caniart)
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols:
	* glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
	Nicolas Caniart)
2005-12-03 06:53:31 +00:00
Matthias Clasen
d87c91a396 Make mapping of empty files work. (#321530)
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

        * glib/gmappedfile.c: Make mapping of empty files
        work.  (#321530)
2005-12-03 06:44:02 +00:00
Matthias Clasen
1fe373b279 Don't fork a new process just to fix the permissions of the created temp
2005-12-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gfileutils.c: Don't fork a new process just to
	fix the permissions of the created temp file.  (#321318,
	Alexis S. L. Carvalho)
2005-12-03 06:10:52 +00:00
Matthias Clasen
d1379dbdf8 Add a note about Solaris threads.
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* README.in: Add a note about Solaris threads.
2005-12-02 21:40:43 +00:00
Matthias Clasen
f42f6da6d5 Remove support for Solaris threads. (#136971, Sebastian Wilhelmi, patch by
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gspawn.c:
	* configure.in: Remove support for Solaris threads.
	(#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
2005-12-02 21:37:25 +00:00
Matthias Clasen
7ddcde62c0 Define G_GUINT64_CONSTANT in analogy to G_GINT64_CONSTANT. (#322568,
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Define G_GUINT64_CONSTANT in analogy to
	G_GINT64_CONSTANT.  (#322568, Andrew Paprocki)
2005-12-02 21:25:45 +00:00
Matthias Clasen
ec2155a896 Portability fixes, C99ism removal 2005-12-02 20:11:28 +00:00
Matthias Clasen
8f843302f8 Add a missing volatile for the IA64 implementation.
2005-12-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
	the IA64 implementation.
2005-12-02 16:57:24 +00:00
Tim Janik
1e01f52ed4 some naming and type size fixups.
Fri Dec  2 16:18:09 2005  Tim Janik  <timj@imendio.com>

        * glib/gslice.c: some naming and type size fixups.
2005-12-02 15:18:39 +00:00
Tim Janik
605fc3d480 reworked GCC-specific type-safe macro variant into something less verbose,
Fri Dec  2 13:08:58 2005  Tim Janik  <timj@gtk.org>

        * glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
        variant into something less verbose, but digestible for gcc-3.4.
2005-12-02 12:11:34 +00:00
Tim Janik
b78b4ee7fe extended to perform the benchmarking on the old memchunk code if 'O' is
Fri Dec  2 10:55:07 2005  Tim Janik  <timj@imendio.com>

        * tests/slice-test.c: extended to perform the benchmarking on the old
        memchunk code if 'O' is selected.

        * tests/memchunks.c: new file which contains the old GLib mem chunks
        implementation with prefix old_mem_chunk_.

        * tests/Makefile.am: added memchunks.c
2005-12-02 12:10:49 +00:00