2004-01-23 Tor Lillqvist <tml@iki.fi>
* glib/grand.c: Don't include <unistd.h> unless
HAVE_UNISTD_H. Include <process.h> on G_OS_WIN32.
(g_rand_new): Use getppid() only on G_OS_UNIX.
Thu Jan 22 00:41:34 2004 Matthias Clasen <maclas@gmx.de>
* glib/gutils.c (g_get_any_init): Don't treat the Win32
user name like a gecos field, and when extracting a real
name from a gecos field, replace '&' by the capitalized
user name (a traditional passwd feature).
(#118973, reported by Soeren Boll Overgaard)
Sat Jan 10 00:11:12 2004 Manish Singh <yosh@gimp.org>
* glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness
fixes.
* docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the
above take gulongs now. My docs suck, someone should revisit it.
Fri Dec 19 11:49:21 2003 George Lebl <jirka@5z.com>
* glib/grand.c
glib/grand.h (g_rand_new) (g_rand_new_with_seed)
(g_rand_new_with_seed_array) (g_rand_set_seed_array): Add
the init_by_array functionality from the reference implementation
of the mersenne twister (mt19937ar.c) and change the naming
to fit with the rest of the grand API. New functions are
g_rand_new_with_seed_array, g_rand_set_seed_array. This is only
reliable/tested for the 2.2 version of the seeding as that's what
the reference implementation uses. Also modify g_rand_new to
get 4 longs from /dev/urandom since that will always be available
anyway and we get more entropy and if /dev/urandom is unavailable
use also 4 longs for seeding using secs, usecs, getpid and getppid.
For version 2.0 use only a simple seed again but be more careful
about seeding with secs/usecs in this case.
* glib/grand.c
glib/grand.h (g_rand_copy): Add g_rand_copy function to copy the
current state of the random number generator.
* glib/grand.c (g_rand_new): Add testing for EINTR when reading
from /dev/urandom
* tests/rand-test.c: add testing of the array seeding stuff against
the reference implementation, plus add statistical sanity check
to see that the values outputted are truly kind of random. And
check that g_rand_copy truly copies the state by checking a few
terms.
Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
* glib/garray.[hc] (g_ptr_array_foreach): New function to
call a function for each element of a GPtrArray. (#114790)
* tests/array-test.c (main): Add a test for g_ptr_array_foreach().
Sun Dec 21 22:42:42 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the
mem_chunks list. (#127096, Balazs Scheidler)
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
return false for filenames not encoded in utf-8,
which is always true on win32
* glibconfig.h.win32.in : (u)int64 modifier isn't the
gcc 'll' but always the msvcrt one 'I64'
* glib/glib.def : updated
Thu Dec 11 10:31:21 2003 Manish Singh <yosh@gimp.org>
* glib/gmacros.h: change #elif with no expression to #else in
G_STRFUNC definition. Thanks to Damien Carbery, fixes#129101.
Tue Dec 2 02:29:41 2003 Matthias Clasen <maclas@gmx.de>
Fix for #103710, Mark Jones:
* glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}.
* configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h.
Thu Nov 27 17:04:08 2003 Tim Janik <timj@gtk.org>
* glib/gstrfuncs.c (g_strconcat): handle NULL arguments
gracefully.
* glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
current function (since G_STRLOC and G_GNUC_*FUNCTION became
unusable with gcc-3.0).
Wed Nov 26 16:45:16 2003 Roozbeh Pournader <roozbeh@sharif.edu>
* glib/gstrfuncs.c: Fixed a bad pointer comparison in
g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
Esfahbod).
* tests/strtod-test.c: Fixed the tests to catch the above.
Sat Nov 22 14:16:51.15 2003 Andrew Lanoix <alanoix@umich.edu>
* glib/giowin32.c: Bind inter-thread comminication
sockets to INADDR_LOOPBACK instead of INADDR_ANY.
Sat Nov 15 23:00:57 2003 Matthias Clasen <maclas@gmx.de>
* glib/guniprop.c (g_utf8_casefold): Add a NULL check
to be consistent with the other g_utf8_ functions. (#121618,
Tim-Philipp Müller)
2003-11-07 Mark McLoughlin <mark@skynet.ie>
* glib/gconvert.c: (get_filename_charset): re-work to
retain a copy of the cached charset rather than the
actual return value from g_get_charset (which may
change). Also, re-initialize the cache if it does
change. See bug #126454.
Thu Nov 6 00:04:46 2003 Matthias Clasen <maclas@gmx.de>
* glib/gconvert.c (get_filename_charset): Replacement for
have_broken_filenames() which consults the environment variable
G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
* glib/gconvert.c (g_filename_from_utf8):
* glib/gconvert.c (g_filename_to_utf8):
* glib/gconvert.c (_g_convert_thread_init): Use
get_filename_charset() instead of have_broken_filenames().
Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
* glib/gi18n-lib.h:
* glib/gi18n.h: New headers defining common gettext-support
macros.
* glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
and gi18n-lib.h.
* glib/gstrfuncs.h:
* glib/gstrfuncs.c (g_strip_context): Auxiliary function for
the implementation of Q_().
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/gstring.c (g_string_insert_len): Handle the case where the
to-be-inserted string is a substring of the target string.
(g_string_assign): Handle "s = s;".
(#114260, self.)
Sun Nov 2 01:47:31 2003 Matthias Clasen <maclas@gmx.de>
Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
* configure.in (HAVE_INT64_AND_I64): Define for MSVC to
include support for printing __int64 with format %I64 in
the gnulib printf wrappers.
* glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64
and TYPE_UINT64.
* glib/gnulib/printf-args.h (struct argument): Add a_int64 and
a_uint64 members.
* glib/gnulib/printf-args.c (printf_fetchargs): Support
TYPE_INT64 and TYPE_UINT64.
* glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
modifier and map formats to TYPE_INT64.
* glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
format modifier I64.
* glib/gnulib/README: Document the __int64 support.
Sat Nov 1 08:45:38 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_iterate): Set the
return value from the result of g_main_context_check()
(after we poll) rather than g_main_context_prepare.
(#121675, Padraig O'Briain)
2003-10-24 Tor Lillqvist <tml@iki.fi>
* configure.in: Force shared library (DLL) only on Windows.
(I don't think that is controversial?) Remove unnecessary
AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
Win32, it is not used by mingw or MSVC headers.
* config.h.win32.in
* glibconfig.h.win32.in: Match what configure produces.
* glib/gconvert.c
* glib/gutils.c: Mark a couple of functions and variables that
aren't public as static.
* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
it potentially differently, to silence compiler.
* glib/glib.def: Add some missing entries.
* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
libtestgobject.
* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
to g_object_set() and _get().
Thu Oct 23 12:38:24 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.0 ===
* tests/gobject/Makefile.am (dist-hook): Remove
and extra backslash.
* tests/gobject/Makefile.am (EXTRA_DIST): Add
testmarshal.list.
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add
missing gunicode-private.h.
* tests/testglib.c (main): Fix a warning.
* tests/gobject/ifaceinherit.c: Remove check that
wasn't supposed to work (adding an interface already
added to the derived class to the base class),
fix a bug.
Wed Oct 8 23:40:26 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmarkup.c (g_markup_printf_escaped):
(g_markup_vprintf_escaped): Document as 2.4 additions.
(unescape_text): Implement newline and whitespace normalization
according to the XML specification. (#123919)
(g_markup_escape_text): Document whitespace (non)handling.
2003-10-05 Matthias Clasen <maclas@gmx.de>
* configure.in: Make the various printf feature test macros
reflect the system printf, even when using the included printf.
In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h
needs that test result. (#122973)
* glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
directly check for _g_vasprintf.
* glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
if vasprintf() is available.
* glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
trailing nul to the file. (#122973)
* acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test
detect non-C99-compliance of AIX 5.1 and Solaris
vsnprintf(). (#122496)
2003-09-30 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c (do_spawn): Call protect_argv() in
do_spawn() instead of in do_spawn_with_pipes() so that we can use
the original argv[0] as the program file name parameter to
spawnv() in the shortcut (doing without helper process)
code. Fixes problem if GIMP 1.3 was installed in a path with
spaces in the name.
Tue Sep 30 15:31:16 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* glib/guniprop.c (has_more_above): make the argument const to
get rid of warning
* glib/garray.c (g_byte_array_remove_range): insert cast to get
rid of warning
2003-09-12 Noah Levitt <nlevitt@columbia.edu>
* glib/gen-unicode-tables.pl: Take a directory where to look for the
unicode files on the command line instead of 7 individual files.
2003-08-25 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
section twice, which might cause a hang. (#120653)
* glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
valid file descriptor and socket.
Mon Aug 25 12:17:20 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_unref_and_unlock):
When DISABLE_MEM_POOLS is set, loop through and free
the poll records explicitely, since g_mem_chunk_destroy()
won't do it. (#118121, Morten Welinder)
2003-08-19 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c (g_logv): [Win32] Make the fatal error message
box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
to get a nice stop-sign icon.
Tue Aug 19 03:55:29 2003 Tim Janik <timj@gtk.org>
* glib/gbsearcharray.h: license change, no restrictions are made
in the new license at all, the implmentation is simply provided
"as is" to allow copy-pasting the code into any third-party app.
naturally, the implementation is self-contained within the header
file to allow this.
default to non-shrinking behaviour, allow users to request shrinking
via G_BSEARCH_ARRAY_AUTO_SHRINK.
creation, deletion functions are now named g_bsearch_array_create()
and g_bsearch_array_free().
fixed const in prototypes, removed cruft.
(g_bsearch_array_insert): take only three arguments, do nothing if the
node to insert is already there.
(g_bsearch_array_replace): insert or replace if the node is already
there.
(g_bsearch_array_remove): remove nodes by index, the index of a node
can be found via g_bsearch_array_get_index().
removed other g_bsearch_array_remove*() variants.
(g_bsearch_array_lookup): minor optimizations.
(g_bsearch_array_lookup_sibling): return nodes on mismatches.
* glib/gbsearcharray.c: removed.