2002-12-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: use 0 instead of $defattr, as it isn't defined
anymore on platforms using -pthread and linux, where this is used,
only uses 0 anyway and not "pthread_attr_default".
Sun Dec 8 23:36:12 2002 Owen Taylor <otaylor@redhat.com>
* glib/gfileutils.c (g_file_test): Guard against
the POSIX allowed behavior where access (file, X_OK)
succeeds for uid==0 when no executable bits are set.
* glib/gfileutils.c (g_file_test): Add doc notes
about the possibility of race conditions, and the
fact that EXISTS and IS_EXECUTABLE give results
for the real uid not the effective user ID.
(#81854, Morten Welinder.)
Fri Dec 6 14:34:42 2002 Owen Taylor <otaylor@redhat.com>
Avoid literal UTF-8. (Allow it to build with
IRIX cc, #72757, Tomas Ogren)
* tests/patterntest.c (main): Convert literal
iso-8859-1 high bit characters in tests to
string escapes.
* glib/gunichartable.h glib/gen-unicode-tables.pl:
Use hex \xMN escapes rather than literal UTF-8
for casefold tables.
* configure.in: AC_PREREQ(2.53). needed for recent
GLIB_SIZEOF() changes.
Fri Dec 6 12:31:30 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: chmod 0755 scripts in AC_OUTPUT(), since
install -c won't necessarily do that. (#74376, Martin
Gansser, Joshua Weage)
Thu Dec 5 16:05:55 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Use AC_LINK_IFELSE(), not AC_TRY_RUN()
for va_copy(), __va_copy() checks.
* configure.in: When there is a reasonable default,
provide that in the 3rd argument of AC_TRY_RUN(),
instead of just leaving the 3rd argument empty.
* glib/tmpl/strings.sgml:
* glib/tmpl/scanner.sgml:
* glib/tmpl/main.sgml:
* glib/tmpl/macros_misc.sgml:
* glib/tmpl/hash_tables.sgml: Add Since and Deprecation info
for symbols documented in the templates.
* glib/gstrfuncs.c (g_strncasecmp): Break long deprecation
info into two paragraphs.
Thu Dec 5 15:43:46 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Fix multiple problems with the programs
in the argument of AC_TRY_RUN() having preprocessor
defines not in the first column.
Thu Dec 5 15:24:14 2002 Owen Taylor <otaylor@redhat.com>
Start of fixes for cross-compilation. Based on
patches from Dimi Shahbaz, Dan Kegel, Johannes Stenzenbach,
Amy Lin. (#58786)
* configure.in: Don't run the Digital-Unix 4 -std1 check
when cross_compiling.
* configure.in: Use AC_TRY_COMPILE() rather than
AC_TRY_RUN() for inline checks. (Daniel Egger)
* configure.in: use AC_CHECK_SIZEOF rather than
GLIB_SIZEOF for size_t. Remove unused checks for
size of ptrdiff_t/intmax_t.
* acglib.m4: Resync GLIB_SIZEOF of to the current
AC_CHECK_SIZEOF, which handles cross-compilation.
* acglib.m4: Remove no longer needed GLIB_SYSDEFS(),
add GLIB_CHECK_VALUE() as a wrapper around the
amazing _AC_COMPUTE_INT() autoconf 2.5x internal.
* configure.in: Redo the POLL* value checks in a
cross-compilation friendly way.
Thu Dec 5 15:28:37 2002 Owen Taylor <otaylor@redhat.com>
* glib/gtimer.c: Include glibconfig.h early so
that we include <windows.h> when needed.
* glib/gstrfuncs.c: Fix typo.
Tue Dec 3 21:10:28 2002 Owen Taylor <otaylor@redhat.com>
* configure.in: Add 3rd argument to remaining AC_DEFINES(),
so we can get rid of acconfig.h. (#76334, Daniel Egger)
* acconfig.h: Removed.
Tue Dec 3 01:05:00 2002 James M. Cape <jcape@ignore-your.tv>
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key):
Check for NULL before doing anything.
Mon Dec 2 16:34:13 2002 Owen Taylor <otaylor@redhat.com>
* === Released 2.1.3 ===
* NEWS: Updated.
[ Unmerged change from stable from May 16 ]
* autogen.sh: Remove check for GNU gettext, since it
was causing problems for Solaris CVS builds.
(#81885, Hidetoshi Tajima.)
* glib/gutils.c:
* glib/gtree.c:
* glib/gstring.c:
* glib/gstrfuncs.c:
* glib/giochannel.c: Move some docs inline, and add deprecation
information. To see the list of affected functions, grep for
"Deprecated:".
* glib/tmpl/strings.sgml:
* glib/tmpl/string_utils.sgml:
* glib/tmpl/misc_utils.sgml: Move some docs inline.
* configure.in: Fix the definitions around printf: either we use
system printf in which case HAVE_VASPRINTF, HAVE_C99_VSNPRINTF and
HAVE_UNIX98_PRINTF have already been determined by earlier tests,
or we use the included printf, in which case we know that these
three can be defined as 1. (#99826)
* glib/gmessages.h: Use G_LIKELY without surrounding parentheses
in g_assert() and g_return_[val]_if_fail() so that we always trigger
the gcc warning about "assignment used as truth value".
* glib/gmacros.h: Always put parentheses in G_LIKELY and G_UNLIKELY.
2002-11-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/grand.c, gthread/gthread-impl.c, tests/rand-test.c:
Improved the seeding algorithm. Old behaviour can be achived by
setting envvar G_RANDOM_VERSION to "2.0". (#99262)
* docs/reference/glib/glib-docs.sgml,
docs/reference/glib/Makefile.am: Renamed
docs/reference/glib/changes-2.0.sgml to
docs/reference/glib/changes.sgml and added section for changes
from 2.0 to 2.2 (Also corrected 1.0 to 1.2).
* README.in, docs/reference/glib/running.sgml,
docs/reference/glib/tmpl/random_numbers.sgml,
docs/reference/glib/changes.sgml: Added notes about the new
seeding algorithm.
2002-11-26 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Make CPPFLAGS, not CFLAGS, include
G_THREAD_CFLAGS. CFLAGS is used while linking too and thus GLib
programs would link to the threads library on some platforms. Also
fixed a bug manifesting through this change.
* glib/gmessages.h (g_assert):
(g_return_if_fail):
(g_return_val_if_fail): Remove the (no longer effective) empty
if-branch.
* glib/gmacros.h: Change the definition of G_LIKELY, so that
g_return_if_fail() and friends still trigger a gcc warning if
the expr is an assignment.
Fri Nov 22 09:39:09 2002 Owen Taylor <otaylor@redhat.com>
* glib/gmacros.h: Remove broken G_HIDDEN_SYMBOL
definition which wasn't supposed to be committed
at all.
Thu Nov 21 16:19:21 2002 Owen Taylor <otaylor@redhat.com>
* glib/ghash.c: Patch from Morten Welinder to
make ghash.c properly obey DISABLE_MEM_POOLS. (#96600)
2002-11-21 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/makefile.{mingw,msc}.in:
Hardcode 2.0 in the names, as that is what Makefile.am does.
2002-11-21 Tor Lillqvist <tml@iki.fi>
* gmodule/gmodule.rc.in
* gobject/gobject.rc.in
* gthread/gthread.rc.in: Hardcode 2.0 in the names, as that is
what the Makefile.am does.
2002-11-21 Tor Lillqvist <tml@iki.fi>
* config.h.win32.in: Update to match what is currently produced by
autotools.
* configure.in: Remove superfluous spaces on two shell variable
assignment lines. Don't define HAVE_GOOD_PRINTF as 0 if we don't
have a good printf, it is tested with #ifdef.
* glib/glib.def: Add new functions.
* glib/Makefile.am: If !HAVE_GOOD_PRINTF, add libtio.la to LIBADD
and DEPENDENCIES.
* glib/glib.rc.in: Hardcode 2.0 in the names, as that is what the
Makefile.am does.
positional parameters: (#79488)
* glib/gstrfuncs.c:
* glib/gspawn-win32.c:
* glib/gscanner.c:
* glib/gconvert.c:
* glib/gbacktrace.c: Use _g_printf wrappers.
* glib/gutils.c (g_vsnprintf): Simplify, since we can assume C99
snprintf semantics now.
* glib/gmessages.c (printf_string_upper_bound): No longer needed,
since we can assume C99 snprintf semantics now.
(g_logv): Simplify.
* acinclude.m4 (AC_FUNC_PRINTF_UNIX98): New macro to check wether
printf supports SUS positional parameters.
* configure.in: New option --enable-included-printf to force
compilation of trio; otherwise trio is compiled if the system
printf misses either C99 snprintf semantics of SUS positional
parameters.
* glib/Makefile.am (SUBDIRS): Conditionally compile trio.
(libglib_2_0_la_SOURCES): Add gprintf.c and gprintfint.h.
(glibsubinclude_HEADERS): Add gprintf.h.
* glib/gprintfint.h: New private wrapping either system printf
or trio printf variants in _g_printf wrappers for use inside glib.
* glib/gprintf.h: New public header declaring g_printf variants.
* glib/gprintf.c: Corresponding implementations.
* glib/trio/*: New directory, containing the trio-1.9 sources.
* glib/tmpl/string_utils.sgml: Add note on including gprintf.h,
move some docs inline.
* glib/glib-sections.txt: Add g_printf, g_vprintf, g_fprintf,
g_vfprintf, g_sprintf, g_vsprintf.
* glib/gmessages.h (g_return_if_fail):
(g_return_val_if_fail): Use G_LIKELY. (#69022)
* glib/gmacros.h (G_LIKELY):
(G_UNLIKELY): New macros for hinting the compiler about the
expected result of expressions. For gcc 3.x, define these
using __builtin_expect. (#69022)
* glib/tmpl/macros_misc.sgml: Document G_LIKELY, G_UNLIKELY.
* glib/glib-sections.txt: Add G_LIKELY, G_UNLIKELY.
Tue Nov 19 14:38:18 2002 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c (g_ascii_strtoull): Fix
strtull/strtoull type in docs (#99012, Morten
Welinder.) Add copyright information for code
taken from GNU libc.
2002-11-18 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c (do_spawn_with_pipes): Do handle
G_SPAWN_DO_NOT_REAP_CHILD after all, similarily as on Unix. If the
flag is not set, don't call DuplicateHandle() on the handle
returned by the helper process, and set the "child pid" returned
to the caller to zero. Close the handle to the helper process in
all cases.
* glib/gspawn.c (g_spawn_async_with_pipes): Document Windows
behaviour of G_SPAWN_DO_NOT_REAP_CHILD.
2002-11-18 Tor Lillqvist <tml@iki.fi>
[Win32] Fix the asynchronous g_spawn* to return the process handle
of the started program properly. (Note: not the process id. The
spawn*() functions in the C runtime return the created process's
handle. There doesn't seem to be any way to get the process id of
a child process if you have the handle. But then, the process
handle usually is more useful anyway.)
* glib/gspawn-win32-helper.c (WinMain): If the spawning of the
child process succeeded, and if asynchronous spawn (P_NOWAIT),
write the result handle up to the parent process, waiting to read
it in do_spawn_with_pipes().
* glib/gspawn-win32.c (do_spawn): Use return value from spawning
the helper. If it is -1 the helper wasn't found or couldn't be run
for some reason. Otherwise it is the helper's process handle.
(g_spawn_async_with_pipes): Pass the child_pid parameter on to
do_spawn_with_pipes().
(do_spawn_with_pipes): Take also a child_pid parameter. If
do_spawn() returned -1, fail immediately. Otherwise make the
handle passed to us by the helper process into a handle valid in
this process by calling DuplicateHandle().
2002-11-17 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c (g_spawn_async_with_pipes): Ignore the
G_SPAWN_DO_NOT_REAP_CHILD flag, can't be meaninfully implemented
on Windows, at least not now. Always pass dont_wait as TRUE to
do_spawn_with_pipes(). The semantics of the dont_wait parameter is
very different from the semantics of the intermediate_child
parameter to fork_exec_with_pipes() in the Unix version. This
fixes a serious bug, g_spawn_async() in fact behaved
synchronously.
(do_spawn_with_pipes, do_spawn): Rename from
fork_exec_with_pipes() and do_exec(), those names were from the
Unix bersion, and misleading.
(close_and_invalidate): Don't try to close invalid fds.
* glib/gspawn.c (g_spawn_async_with_pipes): Add warning about
Windows behaviour. There is no fork(), so the child_setup()
function is in fact called in the parent.
* glib/gspawn-win32-helper.c (WinMain): Insert spaces in argv
debugging output.
* tests/spawn-test-win32-gui.c: New file. Test program to be
linked as a GUI application. Behaves differently depending on how
invoked (by spawn-test).
* tests/spawn-test.c (run_tests): On Win32, run the
spawn-test-win32-gui program, too, in several ways, synchronously
and asynchronously.
* tests/Makefile.am: Corresponding change.
Thu Nov 7 19:32:26 2002 Owen Taylor <otaylor@redhat.com>
* glib/gutils.[ch] (g_set/get_application_name):
Patch from Havoc Pennington to add functions for
setting and getting a human readable application
name.
* configure.in: Up to version 2.1.3, since we'll
need to depend on last addition for GTK+.