ChangeLog 16.7 KB
Newer Older
Behdad Esfahbod's avatar
Behdad Esfahbod committed
1 2 3 4 5
2007-01-04  Behdad Esfahbod  <behdad@gnome.org>

	* tests/bit-test.c (builtin_bit_nth_lsf1), (builtin_bit_nth_lsf2),
	(builtin_bit_nth_msf): Fix tests on x86_64.

6 7 8 9 10
2007-01-03  Behdad Esfahbod  <behdad@gnome.org>

	* glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
	(calculate_max_length), (print_entry), (print_help): Take zerowidth
	and double-width chars into consideration when computing width of a
Behdad Esfahbod's avatar
Behdad Esfahbod committed
11
	string.  Also fix another bug in width computation. (#346955)
12 13 14 15

	* glib/guniprop.c (g_unichar_iszerowidth): Fix typo.  It was not
	working correctly.

16 17 18 19 20 21
2007-01-03  Behdad Esfahbod  <behdad@gnome.org>

	* glib/glib.symbols:
	* glib/gunicode.h:
	* glib/guniprop.c: Add g_unichar_iszerowidth(). (#347645)

22 23 24 25 26 27 28 29 30
2007-01-03  Behdad Esfahbod  <behdad@gnome.org>

	* glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use
	__builtin_clzl for g_bit_storage if available (#371670).

	* tests/Makefile.am:
	* tests/bit-test.c: New test, to test g_bit_* operations against
	naive and builtin implementations.

31 32 33 34 35
2007-01-02  Behdad Esfahbod  <behdad@gnome.org>

	* configure.in: Avoid more warnings from running libtool --config.
	(#391364)

36 37 38 39
2007-01-03  Michael Natterer  <mitch@imendio.com>

	* removed all .cvsignore files. SVN doesn't need them.

40 41 42 43 44 45 46 47
2007-01-02  Emmanuele Bassi  <ebassi@gnome.org>

	* glib/gbookmarkfile.c (expand_exec_line): Add support for
	expanding the desktop entry spec variables %U (list of URIs)
	and %F (list of filenames), so that using the command line
	from the Exec and TryExec key of a desktop entry file works
	as intended.

48 49 50 51 52
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Avoid warnings from running libtool --config.
	(#391364, Loïc Minier)

53 54 55 56 57
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gbookmarkfile.c (g_bookmark_file_get_app_info): 
	Return an error if the uri is bad. (#391370, Maciej Piechotka)

58 59 60 61 62
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/glib.symbols: Guard g_slice_debug_tree_statistics
	by G_ENABLE_DEBUG.  (#390940, Kazuki Iwamoto)

63 64 65 66 67 68
2007-01-02  Michael Natterer  <mitch@imendio.com>

	* configure.in
	* Makefile.am: remove references to build/ until a proper decision
	has been made what to do with it.

69 70 71 72 73
2007-01-01  Matthias Clasen  <mclasen@redhat.com>

	* glib-gettextize.in: Silence autoconf warnings about
	datarootdir.  (#391367, Loïc Minier)

74 75 76 77
2006-12-31  Matthias Clasen  <mclasen@redhat.com>

	* glib/gslice.c: Fix some C99isms.  (#390913, Kazuki Iwamoto)

78 79 80 81 82 83
Fri Dec 29 13:28:07 2006  Tim Janik  <timj@imendio.com>

	* glib/gslice.c: turned detection of too late g_thread_init() calls
	into a warning. this is a temporary work-around for some head-room
	to fix affected programs, memory corruption still occours regardless.

84 85 86 87 88 89
2006-12-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/gobject/Makefile.am:
	* tests/gobject/dynamictype.c: New test for dynamic type 
	registration macros. 

90 91 92 93 94
Thu Dec 28 21:14:45 2006  Tim Janik  <timj@imendio.com>

	* glib/gslice.c: removed pthread-dependant debugging bits, the code
	was already converted to GMutex. this obsoletes Tor's recent fixups.

95 96
2006-12-28  Tor Lillqvist  <tml@novell.com>

97 98
	* glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME)
	* glib/gutils.c (get_windows_directory_root): : Use only the wide
99 100
	character API here, too.

101 102 103
	* glib/gslice.c: Make it compile on Win32 without pthreads: Use a
	Win32 critical section instead.

104 105 106 107 108 109
	* glib/gmessages.c (g_logv): On Win32, if we get a fatal error
	message while being debugged we break into the debugger with
	G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough
	to continue after the breakpoint. The user presumably knows what
	he is doing and deserves what he gets. (#376645, Andreas Köhler)

110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
Thu Dec 28 12:50:31 2006  Tim Janik  <timj@imendio.com>

	* glib/gslice.h, glib/gslice.c: implemented static debugging
	hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks.
	use abort() to exit in mem_error() to allow catching of these in gdb.
	abort programs with a descriptive error message if g_thread_init() is
	called after GSlice was in use. previously this just silently corrupted
	the magazines.

	* glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte 
	pointer alignment on 64bit systems and request smaller slice sizes
	on 32bit systems.

	* tests/slice-test.c: support '~' option flag to introduce slice 
	allocation/release corruption with a significant probability. this
	allowes testing of G_SLICE=debug-blocks.

127 128 129 130 131 132 133 134 135 136 137 138 139
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

	* glib/gconvert.[hc]:
	* glib/gfileutils.c:
	* glib/giochannel.c:
	* glib/goption.c:
	* glib/gspawn.c:
	* glib/gunicollate.c:
	* glib/gutils.c:
	* tests/timeloop-basic.c: 
	Consistently use gsize rather than size_t.  (#333310,
	Morten Welinder)

140 141 142 143 144
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Use AC_CACHE_CHECK for the nl_langinfo
	check.  (#304517, Lőrinczy Zsigmond)

145 146 147 148 149 150 151 152
2006-12-27  Tor Lillqvist  <tml@novell.com>

	* glib/gwin32.h
	* glib/gwin32.c (get_package_directory_from_module)
	(g_win32_get_package_installation_directory)
	(g_win32_get_package_installation_subdirectory): Add const to
	gchar* arguments. (#384523, Yevgen Muntyan)
	
153 154 155 156 157 158 159
2006-12-27  Ryan Lortie  <desrt@desrt.ca>

	* glib/ghash.c: cache the value of the hash function
	in the GHashNode.  this speeds up resizing the hash
	table and it also allows a slight optimisation on
	lookups.  (#388332)

160 161 162 163 164
2006-12-27  Matthias Clasen  <mclasen@redhat.com>

	* glib/gunicollate.c (g_utf8_collate_key): Don't modify
	the current locale.  (#389300)

Matthias Clasen's avatar
Matthias Clasen committed
165 166
2006-12-26  Matthias Clasen  <mclasen@redhat.com>

167 168 169
	* glib/gutf8.c: Add hints for locale-dependent interfaces.
	* glib/gconvert.c: Add hints for locale-dependent interfaces.

Matthias Clasen's avatar
Matthias Clasen committed
170 171 172
	* glib/gconvert.c (g_get_filename_charsets): Improve
	formatting of docs. 

173 174 175 176 177
2006-12-26  Behdad Esfahbod  <behdad@gnome.org>

	* configure.in: Use libtool to determine shared library suffix.
	(#357245)

178 179 180 181 182 183
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

	* tests/run-collate-tests.sh:
	* tests/unicode-collate.c: Silently skip tests if
	we can't set LC_COLLATE to en_US.  (#336438)

184 185 186 187 188 189 190 191
2006-12-19  Matthias Clasen  <mclasen@redhat.com>

	* glib/gkeyfile.c (g_key_file_is_key_name): Accept
	'/', '+' and '.' in key names, since gnome-vfs uses
	mime types as keys in some cache.

	* tests/keyfile-test.c: Tests for the above.

192 193
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

194 195 196
	* configure.in: Fix the broken poll test.  (#387260,
	Christian Persch)

197 198 199 200 201
	* glib/gmain.c (child_watch_helper_thread): Readd a
	return which was removed as dead code a while ago.
	icc may consider it dead, but gcc doesn't like non-void
	functions without a return...  (#354707)

202 203
	* tests/Makefile.am: Try a different fix for bug 346373.

Matthias Clasen's avatar
Matthias Clasen committed
204 205 206 207 208 209 210 211
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

	Fix bug 161288:

	* configure.in: Check for wcslen.

	* glib/gnulib/vasnprintf.c: Handle wcslen missing.

212 213
2006-12-18  Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
Matthias Clasen committed
214 215
	* glib/gkeyfile.c: Accept '@' in locale names.

216 217 218 219 220
	* glib/gkeyfile.c: Tighten up the check for allowed
	key and group names.  (#343191, Tommi Komulainen)

	* tests/keyfile-test.c: Test handling of key and group names.

221 222 223
	* tests/Makefile.am: Don't use $RANDOM if the shell doesn't
	have it.  (#346373, Thomas Klausner)

224 225 226 227 228
2006-12-17  Behdad Esfahbod  <behdad@gnome.org>

	* glib/gstring.c: Improve docs about string functions taking a
	length.  (#378727)

Matthias Clasen's avatar
Matthias Clasen committed
229 230
2006-12-17  Matthias Clasen  <mclasen@redhat.com>

231 232 233 234 235 236 237
	* glib/gconvert.c:
	* glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL
	where gcc doesn't complain about it.

	* glib/ghash.c: Make ref_count an int to avoid compiler
	warnings.

238 239
	* configure.in: Use AC_LANG_SOURCE for the clock test.
	
240 241 242 243
	* glib/gthreadpool.h:
	* glib/gthreadpool.c (g_thread_pool_free): Don't use "wait"
	as parameter name.  (#379207, Christian Biere)

Matthias Clasen's avatar
Matthias Clasen committed
244 245 246
	* glib/gspawn.c: Refer to g_child_watch_add() in addition
	to waitpid().

247 248 249
	* glib/gstrfuncs.c (g_strndup, g_strnfill): Move docs
	inline, and improve wording.  (#372598, Behdad Esfahbod)

250 251 252
	* glib/gspawn.c: Add some pointers to the gdk_spawn_
	variants.  (#338134, Federico Mena Quintero)

253 254 255 256
	* configure.in: Make montonic clock test work again. Does
	AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
	tests below the thread checks to fix #364663.

257 258 259
	* tests/run-markup-tests.sh: Don't use diff -u  (#380801,
	Marek Rouchal)

260 261 262
	* glib/gspawn.c: Fix the recent fdwalk()-related changes
	to not break mapping-test.  (#286838, Marco Barisione)

Matthias Clasen's avatar
Matthias Clasen committed
263 264 265
	* glib/gstring.c (g_string_chunk_new): Don't shadow size.
	(#386760, Kazuki IWAMOTO)

Matthias Clasen's avatar
Matthias Clasen committed
266 267
2006-12-16  Matthias Clasen  <mclasen@redhat.com>

268 269
	* glib/gstring.c: Move more documentation inline.

270 271 272
	* configure.in: Use AC_COMPILE_IFELSE for the monotonic
	clock test.  (#362918, Han-Wen Nienhuys, Jeremy Lainé)

Matthias Clasen's avatar
Matthias Clasen committed
273 274
	* glib/gstring.c: Move documentation inline. 

275 276
2006-12-15  Matthias Clasen  <mclasen@redhat.com>

277 278 279
	* glib/giochannel.h: Make ref_count a gint to avoid
	compiler warnings.  (#321977, Andrew Paprocki)

280 281 282
	* configure.in: On Solaris, set CFLAGS and LDFLAGS that
	work both with Sun cc and gcc.  (#315061, Lazlo Peter)

283 284 285
	* glib/gspawn.c: Undefine READ_OK to fix the build on
	old versions of Darwin.  (#327800)

286 287 288 289
	* glib/glib.symbols:
	* glib/gstring.[hc] (g_string_chunk_clear): Add a function
	for clearing a GStringChunk. (#364608, Matt Barnes)

Matthias Clasen's avatar
Matthias Clasen committed
290 291 292
	* glib/guniprop.c (interval_compare): Avoid a compiler
	warning.

293 294 295
	* glib/gspawn.c (do_exec): Call set_cloexec() with
	the right parameters.  (#386252, Guillaume Desmottes)

296 297 298 299 300 301 302 303 304 305 306 307
2006-12-15  Matthias Clasen  <mclasen@redhat.com>

	Fix #357585, Padraig O'Briain.
	
	* configure.in: Check for fdwalk.
	
	* glib/gspawn.c (do_exec): Use fdwalk() to close all
	file descriptors. 

	* glib/gspawn.c (fdwalk): Fallback implementation of
	fdwalk.

308 309
2006-12-14  Matthias Clasen  <mclasen@redhat.com>

310 311 312 313
	* glib/gconvert.c (open_converter): Don't use alloca
	and avoid allocating memory for small keys that are 
	already cached.  (#172406, Morten Welinder)

314 315 316
	* glib/gmain.c (g_child_watch_add_full): Improve the docs.
	(#345569, Tim-Philipp Müller)

317 318 319 320 321
	* glib/gkeyfile.c (g_key_file_add_group): If the group
	is already there, make it current.  (#385910, Joe Halliwell)

	* tests/keyfile-test.c: Add a test for duplicate groups/keys.

322 323 324 325 326
2006-12-13  Matthias Clasen  <mclasen@redhat.com>

	* m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in
	GLIB_WITH_NLS.  (#385132, Laszlo Peter)

327 328 329 330 331 332 333
2006-12-12  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Add a check for broken poll on Mac OS X.

	* glib/gmain.c: Use poll emulation on OS X.  (#302672, Toby Peterson,
	patch by Dave Vasilevsky)

334 335
2006-12-11  Matthias Clasen  <mclasen@redhat.com>

336 337 338
	* glib/gatomic.c: Don't use local numeric labels in
	inline assembler on AIX.  (#316434, Hans Rosenfeld)

339 340 341
	* glib/gunicode.h (g_utf8_next_char): Cast to const char *,
	not char *.  (#138153, Nikolai Weibull)

342 343 344 345 346
Wed Nov 22 16:09:13 2006  Tim Janik  <timj@gtk.org>

	* glib/gmacros.h: added G_GNUC_MAY_ALIAS, suggested by Mathias
	Hasselmann in bug #335341, fixes bug #335853.

Matthias Clasen's avatar
Matthias Clasen committed
347 348 349 350 351
2006-11-15  Matthias Clasen  <mclasen@redhat.com>

	* m4macros/glib-gettext.m4: Apply a patch from James 
	Henstridge for compatibility with automake 2.60 (#343825)

352 353 354 355 356
2006-11-14  Behdad Esfahbod  <behdad@gnome.org>

	* sanity_check: Replace bash-specific == with sh-understood =.
	Fixes bug #373864.

357 358 359 360 361
2006-11-05  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in : glib/ version not the gobject/ 
	one I accidentially commited. Fixes bug #371074.
	
362 363 364 365 366 367 368 369 370 371
2006-11-05  Tor Lillqvist  <tml@novell.com>

	* makefile.mingw
	* gmodule/makefile.mingw.in
	* glib/makefile.mingw.in
	* gobject/makefile.mingw.in
	* gthread/makefile.mingw.in
	* tests/makefile.mingw.in: Remove from CVS. Haven't been
	maintained or distributed for long.

372 373 374 375 376
2006-10-26  Pascal Terjan  <pterjan@linuxfr.org>

	* glib/libcharset/localcharset.c: Fix small leak on failed
	realloc in _g_locale_get_charset_aliases (#338582)

377 378 379 380 381
2006-10-16  Behdad Esfahbod  <behdad@gnome.org>

	* glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS).  (#362543,
	Peter Kjellerstedt)

382 383 384 385 386
2006-10-15  Sebastian Wilhelmi  <seppi@seppi.de>

	* tests/Makefile.am: Compile errorcheck-mutex-test with thread
	libraries explicitly. (#74748, Javier Villavicencio)

Matthias Clasen's avatar
Matthias Clasen committed
387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	Add a way to obtain Unicode script information.  (#348348,
	Marco Barisione)

	* glib/glib.symbols:
	* glib/gunicode.h: Add GUnicodeScript enumeration and
	g_unichar_get_script. 
	
	* glib/guniprop.c: Implement g_unichar_get_script.

	* glib/gscripttable.h: Generated private header containing
	script tables.

	* glib/gen-script-table.pl: Script to generate gscripttable.h.

	* glib/Makefile.am: Update

Matthias Clasen's avatar
Matthias Clasen committed
405 406 407 408 409
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* tests/run-markup-tests.sh: Small portability fix.  (#347944,
	Dan McMahill)

410 411 412 413 414 415 416
2006-10-07  Tor Lillqvist  <tml@novell.com>

	* glib/gwin32.c (get_package_directory_from_module)
	(g_win32_get_package_installation_directory): g_strdup the keys
	that we are passed before adding them to the hash tables, to guard
	against the caller freeing them. (#355955, Andreas Köhler)

Matthias Clasen's avatar
Matthias Clasen committed
417 418 419 420
2006-10-06  Matthias Clasen  <mclasen@redhat.com> 

	* glib/gtimer.c: Fix a typo.  (#359190)

421 422 423 424 425 426 427
2006-10-02  Behdad Esfahbod  <behdad@gnome.org>

	* glib/Makefile.am:
	* gobject/Makefile.am:
	Include pltcheck.sh in EXTRA_DIST, and remove redefinition of TESTS.
	(#358966)

428 429
2006-10-01  Matthias Clasen  <mclasen@redhat.com>

430 431 432 433 434
	* glib/gtimer.c (g_usleep): Use nsleep to implement
	g_usleep on AIX.  (#321974, Andrew Paprocki)

	* configure.in: Check for nsleep

435 436 437
	* glib/gmain.c: Fix typos in doc comments.  
	(#358421, Tom Tromey)

Matthias Clasen's avatar
Matthias Clasen committed
438 439 440 441 442 443 444 445
2006-09-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/pltcheck.sh: A script to check PLT entries.
	* glib/Makefile.am (TESTS): Run pltcheck.sh

	* glib/*: Fix includes to correct some issues with
	PLT entries.  (#354522, Behdad Esfahbod)

446 447 448 449 450 451
2006-09-17  Hans Breuer  <hans@breuer.org>

	* glib/makefile.msc.in gobject/makefile.msc.in : better filtering
	of G_GNUC_* stuff when generating .def files. Now also works with
	newer (less tolerant) linkers, e.g. from vc2500e

452 453
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

Matthias Clasen's avatar
Matthias Clasen committed
454 455 456
	* glib/gbacktrace.c: Assume string.h is available. 
	(#354523, Behdad Esfahbod)

Matthias Clasen's avatar
Matthias Clasen committed
457 458
	* configure.in: Bump version to 2.13.0

459 460 461 462
	* glib/glib.symbols:
	* glib/gmain.[hc]: Add functions to create approximate
	timeouts.  (#353942, Arjan van de Ven)

463 464 465
	* glib/gstdio.c (g_rename): Initialize save_errno.
	(#355206, Mike Edenfield)

466 467 468 469 470
2006-09-03  Matthias Clasen  <mclasen@redhat.com>

	* glib/gerror.c: Allocate GErrors using the slice allocator.
	(#354054, Matt Barnes)

Matthias Clasen's avatar
Matthias Clasen committed
471 472 473 474
2006-09-02  Matthias Clasen  <mclasen@redhat.com>

	* glib/gtimer.c: Forgotten HAVE_CLOCK_GETTIME.

475 476 477 478 479 480
2006-09-02  Tor Lillqvist  <tml@novell.com>

	* glib/gutils.c (g_get_any_init_do): Correct C99ism (mixed
	declarations and code) in Win32 ifdef branch. (#353903, Mike
	Edenfield)

Abel Cheung's avatar
Abel Cheung committed
481 482 483 484
2006-09-01  Abel Cheung  <abel@oaka.org>

	* configure.in: Added 'dz' 'hy' to ALL_LINGUAS.

Matthias Clasen's avatar
Matthias Clasen committed
485 486 487 488 489 490 491
2006-09-01  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Check for CLOCK_MONOTONIC.

	* glib/gtimer.c: Only use clock_gettime if we
	have a monotonic clock.

492 493 494 495 496
2006-08-31  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Add missing includes to a few test
	programs.  (#353580, Chris Wilson)

497 498 499 500 501
2006-08-30  Matthias Clasen  <mclasen@redhat.com>

	* glib/gmarkup.c (g_markup_vprintf_escaped): Don't call
	va_end on caller-provided va_args.  (#353584, Chris Wilson)

502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524
2006-08-29  Tor Lillqvist  <tml@novell.com>

	Remove support for Windows 9x/ME, as will be done also in Pango
	and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
	it's pretty pointless to keep the Win9x code in here either. If
	somebody is interested, the code can always be found in older GLib
	versions, and in CVS.

	* glib/gdir.c
	* glib/gfileutils.c
	* glib/gspawn-win32-helper.c
	* glib/gspawn-win32.c
	* glib/gstdio.c
	* glib/gutils.c
	* glib/gwin32.c
	* glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
	G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
	branches, and any variables or static functions used only by the
	Win9x branches.

	* glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
	run on Win9x.

525 526
2006-08-27  Matthias Clasen  <mclasen@redhat.com>

527 528
	* configure.in: Fix pthread compiler flag detection.

529 530 531
	* glib/gtimer.c: Use Posix monotonic clocks instead of 
	gettimeofday when available.  (#336114, William Jon McCann)

532 533 534 535 536
2006-08-26  Matthias Clasen  <mclasen@redhat.com>

	* glib/gutils.h: 
	* glib/gscanner.c: Fix some typos.  (#351741, Kjartan Maraas)

537 538 539 540 541 542 543 544 545 546 547 548 549 550
2006-08-25  Matthias Clasen  <mclasen@redhat.com>

	* configure.in: Fix the pthread compiler flag detection.

	* glib/gunicode.h: 
	* glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
	from gconvert.c, move it to gutf8.c, and export it privately.

	* glib/gconvert.c (g_filename_display_name): Adjust callers.

	* glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
	places to ensure error messages are valid UTF-8.  (#351853,
	Simon Budig)

Matthias Clasen's avatar
Matthias Clasen committed
551
2006-08-22  Matthias Clasen <mclasen@redhat.com>
552

Matthias Clasen's avatar
Matthias Clasen committed
553
	* Branch for 2.12
554