Ulrich Drepper
43bc8ac6ea
* catgets/gencat.c: Use GPL, not LGPL.
...
* elf/cache.c: Likewise.
* elf/chroot_canon.c: Likewise.
* elf/ldconfig.c: Likewise.
* elf/readlib.c: Likewise.
* iconv/dummy-repertoire.c: Likewise.
* iconv/iconv_charmap.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* iconv/iconvconfig.c: Likewise.
* locale/programs/3level.h: Likewise.
* locale/programs/charmap-dir.c: Likewise.
* locale/programs/charmap-dir.h: Likewise.
* locale/programs/charmap-kw.gperf: Likewise.
* locale/programs/charmap.c: Likewise.
* locale/programs/charmap.h: Likewise.
* locale/programs/config.h: Likewise.
* locale/programs/ld-address.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-identification.c: Likewise.
* locale/programs/ld-measurement.c: Likewise.
* locale/programs/ld-messages.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-name.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-paper.c: Likewise.
* locale/programs/ld-telephone.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* locale/programs/linereader.c: Likewise.
* locale/programs/linereader.h: Likewise.
* locale/programs/locale-spec.c: Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/localedef.h: Likewise.
* locale/programs/locarchive.c: Likewise.
* locale/programs/locfile-kw.gperf: Likewise.
* locale/programs/locfile-token.h: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/locfile.h: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/programs/repertoire.h: Likewise.
* locale/programs/simple-hash.c: Likewise.
* locale/programs/simple-hash.h: Likewise.
* locale/programs/xmalloc.c: Likewise.
* locale/programs/xstrdup.c: Likewise.
* malloc/memusagestat.c: Likewise.
* nscd/aicache.c: Likewise.
* nscd/cache.c: Likewise.
* nscd/connections.c: Likewise.
* nscd/dbg_log.c: Likewise.
* nscd/gai.c: Likewise.
* nscd/getgrgid_r.c: Likewise.
* nscd/getgrnam_r.c: Likewise.
* nscd/gethstbyad_r.c: Likewise.
* nscd/gethstbynm2_r.c: Likewise.
* nscd/getpwnam_r.c: Likewise.
* nscd/getpwuid_r.c: Likewise.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c: Likewise.
* nscd/initgrcache.c: Likewise.
* nscd/mem.c: Likewise.
* nscd/nscd.c: Likewise.
* nscd/nscd_conf.c: Likewise.
* nscd/pwdcache.c: Likewise.
* posix/getconf.c: Likewise.
* sysdeps/generic/nscd_setup_thread.c: Likewise.
* sysdeps/unix/sysv/linux/nscd_setup_thread.c: Likewise.
2005-12-07 05:49:17 +00:00
Ulrich Drepper
a334319f65
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
2004-12-22 20:10:10 +00:00
Jakub Jelinek
0ecb606cb6
2.5-18.1
2007-07-12 18:26:36 +00:00
Roland McGrath
db2f05ba83
* Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sed
...
substitutions; the semicolon terminators are enough for ld anyway.
* elf/dl-deps.c (_dl_map_object_deps): Use alloca instead of
dynamically sized auto array in function already using alloca.
* locale/programs/ld-ctype.c (ctype_output): Likewise.
* locale/programs/ld-time.c (time_output): Likewise.
* elf/dl-misc.c (_dl_debug_vdprintf): Use macro instead of const for
IOV array size.
* locale/programs/charmap.c (charmap_read): Avoid alloca (or strdupa)
when also using dynamically-sized auto array.
* locale/programs/locfile.c (locfile_read): Likewise.
* locale/programs/repertoire.c (repertoire_read): Likewise.
* nis/nis_print_group_entry.c (nis_print_group_entry): Likewise.
* locale/programs/locarchive.c (enlarge_archive): Likewise.
* posix/annexc.c (check_header): Likewise.
* iconv/gconv_int.h (norm_add_slashes): Don't handle null SUFFIX.
strlen ("") gets optimized away just as well.
* intl/loadmsgcat.c (_nl_init_domain_conv): Update caller.
* wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Likewise.
2004-03-25 03:54:03 +00:00
Ulrich Drepper
f2b98f97eb
Update.
...
* inet/getnetgrent_r.c (innetgr): Add int* parameter to getfct
definition and pass &errno in use of this variable.
Reported by Simon Wilkinson <simon@sxw.org.uk> [PR libc/2911].
2002-02-04 Andreas Schwab <schwab@suse.de>
* locale/programs/localedef.h (WITH_CUR_LOCALE): Define.
* locale/programs/charmap-dir.c: Wrap calls that output messages
with WITH_CUR_LOCALE. Include "localedef.h" first.
* locale/programs/charmap.c: Likewise.
* locale/programs/ld-address.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-identification.c: Likewise.
* locale/programs/ld-measurement.c: Likewise.
* locale/programs/ld-messages.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-name.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-paper.c: Likewise.
* locale/programs/ld-telephone.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* locale/programs/linereader.c: Likewise.
* locale/programs/linereader.h: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/repertoire.c: Likewise.
2002-02-05 Ulrich Drepper <drepper@redhat.com>
2002-02-05 23:29:24 +00:00
Ulrich Drepper
47e8b4439d
Update.
...
2001-12-09 Ulrich Drepper <drepper@redhat.com>
Implement transliteration of characters in strings of the locale
definitions.
* locale/programs/linereader.c: Adjust for additional parameter to
lr_token.
(get_string): If character <Uxxxx> is not found try to transliterate
it.
* locale/programs/ld-ctype.c: Adjust for additional parameter to
lr_token. Add const to charmap parameter of all functions.
(find_translit, find_translit2): New functions.
* locale/programs/charmap.c: Adjust for additional parameter to
lr_token.
* locale/programs/repertoire.c: Likewise.
* locale/programs/linereader.h: Likewise.
* locale/programs/ld-address.c: Likewise. Add const to charmap
parameter of all functions.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/ld-identification.c: Likewise.
* locale/programs/ld-measurement.c: Likewise.
* locale/programs/ld-messages.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-name.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-paper.c: Likewise.
* locale/programs/ld-paper.c: Likewise.
* locale/programs/ld-telephone.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/localedef.h: Likewise.
* locale/programs/locfile.h: Likewise. Add declaration for
find_translit.
* locale/programs/simple-hash.c: Add const to first parameter of
find_entry, iterate_table, and lookup.
* locale/programs/simple-hash.h: Likewise.
* locale/localeinfo.h: Don't define __LC_LAST here. Include <locale.h>
instead.
* include/locale.h: Define __LC_LAST.
* iconv/Makefile (CFLAGS-linereader.c): Define to -DNO_TRANSLITERATION.
2001-12-10 01:37:56 +00:00
Andreas Jaeger
41bdb6e20c
Update to LGPL v2.1.
...
2001-07-06 Paul Eggert <eggert@twinsun.com>
* manual/argp.texi: Remove ignored LGPL copyright notice; it's
not appropriate for documentation anyway.
* manual/libc-texinfo.sh: "Library General Public License" ->
"Lesser General Public License".
2001-07-06 Andreas Jaeger <aj@suse.de>
* All files under GPL/LGPL version 2: Place under LGPL version
2.1.
2001-07-06 04:58:11 +00:00
Ulrich Drepper
93693c4d82
Update.
...
2001-02-04 Ulrich Drepper <drepper@redhat.com>
* iconv/Makefile (iconv_prog-modules): Define. Add vpath to find
files in locale/programs. Add CFLAGS definition to allow compiling
localedef files.
* iconv/dummy-repertoire.c: New file.
* iconv/iconv_charmap.c: New file.
* iconv/iconv_prog.h: New file.
* iconv/iconv_prog.c: Make verbose and omit_invalid global.
(main): If parameter for -f and -t contain slashes try first to resolve
the strings as filenames of charmap files. Use them for conversion
in this case.
* iconvdata/run-iconv-test.sh: If charmaps exist also run tests with
iconv getting charmap names as parameters.
* locale/programs/linereader.c (lr_token): Take extra parameters
verbose and pass it to get_string.
(get_string): Take extra parameters verbose.
* locale/programs/charmap.c (parse_charmap): Take extra parameters
verbose and be_quiet. Change all callers of lr_token and
parse_charmap.
* locale/programs/charmap.h: Likewise.
* locale/programs/ld-address.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-identification.c: Likewise.
* locale/programs/ld-measurement.c: Likewise.
* locale/programs/ld-messages.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-name.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-paper.c: Likewise.
* locale/programs/ld-telephone.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* locale/programs/linereader.c: Likewise.
* locale/programs/linereader.h: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/locfile.h: Likewise.
* locale/programs/repertoire.c: Likewise.
2001-02-05 05:57:24 +00:00
Andreas Jaeger
646b69707e
Update.
...
* locale/programs/repertoire.c (repertoiremap_hash): Don't specify
array size.
2000-09-22 15:12:09 +00:00
Ulrich Drepper
1c95408c74
Update.
...
* locale/programs/repertoire.c (repertoire_new_char): NUL
terminated names of character in range.
2000-02-15 07:37:37 +00:00
Ulrich Drepper
f0a4b6b1fe
Update.
...
* locale/programs/ld-ctype.c (get_character): If tok_ucs4 found, first
try to get sequence from charmap with Uxxxxxxxx name.
(charclass_ucs4_ellipsis): Likewise.
(charclass_charcode_ellipsis): Allow byte sequence missing.
(read_writestring): Free allocated memory in case of an error.
(set_class_defaults): Don't search repertoire map for wide character
default values; we know it's UCS4.
* locale/programs/repertoire.c (repertoire_find_value): Just return an
error if no repertoire map was loaded.
(repertoire_find_symbol): Likewise.
(repertoire_find_seq): Likewise.
2000-01-18 01:54:44 +00:00
Ulrich Drepper
3c83337805
Update.
...
2000-01-17 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/repertoire.c (repertoire_read): Don't print
error message when repertoire map is missing.
(repertoire_complain): Print error message for missing map, but only
once.
* locale/programs/repertoire.h (repertoire_complain): Add prototype.
* locale/programs/linereader.c (get_string): Prefer getting names
from charseq entries. Try finding Uxxxxxxxx names in charmap
before trying to map from repertoire.
2000-01-17 08:39:58 +00:00
Ulrich Drepper
70e51ab9f3
Update.
...
* locale/programs/ld-collate.c (collate_output): Don't start with empty
extrapool and indirectpool obstacks since we need the offsets to be
nonzero.
(collate_read): Call load_locale, not find_locale.
* locale/programs/ld-ctype.c (ctype_finish): If LC_CTYPE category
wasn't defined in the file also initialize repertoire if possible.
* locale/programs/ld-time.c (time_finish): Fix message string.
* locale/programs/linereader.c: Cast parameters of lr_error to
correct type to prevnet warning.
* locale/programs/localedef.c (load_locale): New file.
* locale/programs/localedef.h: Add its prototype.
* locale/programs/repertoire.c (repertoire_new_char): Add missing
parameters to lr_error call.
* localedata/Makefile: Enable running tests again.
* localedata/tests/test2.def: Adjust syntax to new specification.
* localedata/tests/test3.def: Likewise.
* localedata/tst-trans.sh: Redirect output of program into file.
* string/strcoll.c: Fix many error in new implementation to make it
pass (at least) the test suite.
* locale/Makefile: Don't link localedef statically anymore.
* locale/ld-collate.c (struct element_t): Add field is_character and
use it to distinguish real character from collating elements and
symbols.
* locale/programs/ld-time.c: Likewise.
1999-12-27 05:05:12 +00:00
Ulrich Drepper
5b5255f197
Update.
...
1999-09-21 Ulrich Drepper <drepper@cygnus.com>
* locale/programs/repertoire.c (repertoire_find_value): Abort if
rep parameter is NULL.
(repertoire_find_symbol): Likewise.
(repertoire_find_seq): Likewise.
1999-09-21 15:43:20 +00:00
Ulrich Drepper
4b10dd6c19
Update.
...
* locale/Makefile (distribute): Add iso-639.def and iso-3166.def.
Change charset.h to charmap.h.
(categories): Add new categories. Leave out collate for now.
Update build rules.
* locale/categories.def: Add definitions for new categories.
* locale/langinfo.h: Likewise.
* locale/locale.h: Likewise.
* locale/C-address.c: New file.
* locale/C-identification.c: New file.
* locale/C-measurement.c: New file.
* locale/C-name.c: New file.
* locale/C-paper.c: New file.
* locale/C-telephone.c: New file.
* locale/lc-address.c: Likewise.
* locale/lc-identification.c: Likewise.
* locale/lc-measurement.c: Likewise.
* locale/lc-name.c: Likewise.
* locale/lc-paper.c: Likewise.
* locale/lc-telephone.c: Likewise.
* locale/C-ctype.c: Update for locale rewrite.
* locale/C-messages.c: Likewise.
* locale/C-monetary.c: Likewise.
* locale/C-time.c: Likewise.
* locale/lc-collate.c: Likewise.
* locale/lc-ctype.c: Likewise.
* locale/lc-monetary.c: Likewise.
* locale/lc-time.c: Likewise.
* locale/localeinfo.h: Likewise.
* locale/newlocale.c: Likewise.
* locale/setlocale.c: Likewise.
* locale/weight.h: Likewise.
* locale/findlocale.c: Unconditionally use mmap.
Handle new categories.
* locale/loadlocale.c: Likewise.
* locale/iso-3166.def: New file.
* locale/iso-639.def: New file.
* locale/programs/charmap-kw.gperf: Add new keywords.
* locale/programs/locfile-kw.gperf: Likewise.
* locale/programs/locfile-token.h: Define new tokens.
* locale/programs/charmap.c: Rewrite to handle multibyte charsets.
* locale/programs/charmap.h: New file.
* locale/programs/charset.h: Removed.
* locale/programs/config.h: Add __LC_LAST.
* locale/programs/lc-address.c: New file.
* locale/programs/lc-identification.c: New file.
* locale/programs/lc-measurement.c: New file.
* locale/programs/lc-name.c: New file.
* locale/programs/lc-paper.c: New file.
* locale/programs/lc-telephone.c: New file.
* locale/programs/lc-collate.c: Update for locale rewrite.
* locale/programs/lc-ctype.c: Likewise.
* locale/programs/lc-messages.c: Likewise.
* locale/programs/lc-monetary.c: Likewise.
* locale/programs/lc-numeric.c: Likewise.
* locale/programs/lc-time.c: Likewise.
* locale/programs/locale.c: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/repertoire.c: Likewise.
* locale/programs/repertoire.h: Likewise.
* locale/programs/locfile.c: Update prototypes.
Update handle_copy definition.
* locale/programs/linereader.c: Add handling of wide char strings and
new definition file syntax.
* locale/programs/linereader.h (struct token): Add elements for wide
character strings.
* locale/programs/locale-spec.c: Disable handling of collation
elements for now.
* locale/programs/simple-hash.h: Cleanup.
* locale/programs/stringtrans.h: Handle quite of end of line.
* string/strcoll.c: Fall back on strcmp for now.
* string/strxfrm.c: Fall back on strncpy/strlen for now.
* time/strftime.c: Use new wide character data for wcsftime.
* time/strptime.c: Remove _nl_C_LC_TIME declaration.
* wctype/cname-lookup.h: Update for new LC_CTYPE data.
1999-08-31 07:04:41 +00:00
Ulrich Drepper
4360eafdd2
Update.
...
1999-06-18 Zack Weinberg <zack@rabi.columbia.edu>
* include/features.h: Define new macros __GNUC_PREREQ and
__GLIBC_PREREQ which can be used to test the version of gcc
and glibc respectively.
* assert/assert.h: Use __GNUC_PREREQ.
* intl/libintl.h: Likewise.
* math/complex.h: Likewise.
* math/tgmath.h: Likewise.
* misc/sys/cdefs.h: Likewise.
* posix/sys/types.h: Likewise.
* socket/sys/socket.h: Likewise.
* string/bits/string2.h: Likewise.
* sysdeps/alpha/fpu/bits/mathinline.h: Likewise.
* sysdeps/i386/fpu/bits/mathinline.h: Likewise.
1999-06-18 Zack Weinberg <zack@rabi.columbia.edu>
* include/libintl.h: Declare _libc_intl_domainname here.
Define _ and N_ here.
* include/libc-symbols.h: Don't include <libintl.h>. Don't
define _ and N_. Don't declare _libc_intl_domainname.
* Makeconfig (CPPFLAGS): Use -imacros to read libc-symbols.h.
* db2/config.h: Don't include sys/stat.h or define
HAVE_ST_BLKSIZE here...
* db2/compat.h: ...do it here.
* linuxthreads/internals.h: Include bits/libc-tsd.h after all
other headers.
* linuxthreads/no-tsd.c: Include sys/cdefs.h for __P.
* iconv/iconv.c: Include stddef.h for NULL.
* malloc/malloc.h: Include features.h.
* sysdeps/generic/morecore.c: Use __malloc_ptr_t not __ptr_t.
* sysdeps/unix/make_errlist.c: Write an "#include <libintl.h>"
into the generated file.
* sysdeps/gnu/errlist.awk: Likewise.
* sysdeps/gnu/errlist.c: Rebuilt.
* assert/assert-perr.c: Include libintl.h.
* assert/assert.c: Likewise.
* elf/dl-open.c: Likewise.
* elf/dlsym.c: Likewise.
* elf/dlvsym.c: Likewise.
* iconv/iconv_prog.c: Likewise.
* inet/rcmd.c: Likewise.
* inet/ruserpass.c: Likewise.
* locale/programs/charset.c: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/ld-messages.c: Likewise.
* locale/programs/ld-monetary.c: Likewise.
* locale/programs/ld-numeric.c: Likewise.
* locale/programs/ld-time.c: Likewise.
* locale/programs/locfile.c: Likewise.
* locale/programs/repertoire.c: Likewise.
* login/programs/database.c: Likewise.
* login/programs/request.c: Likewise.
* malloc/mcheck.c: Likewise.
* misc/error.c: Likewise.
* nis/nis_call.c: Likewise.
* nis/nis_callback.c: Likewise.
* nis/nis_error.c: Likewise.
* nis/nis_local_names.c: Likewise.
* nis/nis_print.c: Likewise.
* nis/nis_print_group_entry.c: Likewise.
* nis/ypclnt.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nscd/cache.c: Likewise.
* nscd/connections.c: Likewise.
* nscd/grpcache.c: Likewise.
* nscd/hstcache.c: Likewise.
* nscd/nscd_conf.c: Likewise.
* nscd/nscd_stat.c: Likewise.
* nscd/pwdcache.c: Likewise.
* posix/id.c: Likewise.
* resolv/herror.c: Likewise.
* stdio-common/psignal.c: Likewise.
* string/strsignal.c: Likewise.
* sunrpc/auth_unix.c: Likewise.
* sunrpc/clnt_perr.c: Likewise.
* sunrpc/clnt_raw.c: Likewise.
* sunrpc/clnt_tcp.c: Likewise.
* sunrpc/clnt_udp.c: Likewise.
* sunrpc/clnt_unix.c: Likewise.
* sunrpc/get_myaddr.c: Likewise.
* sunrpc/pm_getmaps.c: Likewise.
* sunrpc/pmap_clnt.c: Likewise.
* sunrpc/pmap_rmt.c: Likewise.
* sunrpc/rpc_main.c: Likewise.
* sunrpc/rpc_scan.c: Likewise.
* sunrpc/svc_run.c: Likewise.
* sunrpc/svc_simple.c: Likewise.
* sunrpc/svc_tcp.c: Likewise.
* sunrpc/svc_udp.c: Likewise.
* sunrpc/svc_unix.c: Likewise.
* sunrpc/xdr_rec.c: Likewise.
* sunrpc/xdr_ref.c: Likewise.
* sysdeps/mach/hurd/mips/dl-machine.c: Likewise.
* sysdeps/posix/gai_strerror.c: Likewise.
* sysdeps/unix/siglist.c: Likewise.
* sysdeps/unix/sysv/linux/siglist.c: Likewise.
* sysdeps/unix/sysv/linux/arm/siglist.c: Likewise.
* sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c: Likewise.
* timezone/zic.c: Likewise.
1999-06-19 09:58:37 +00:00
Ulrich Drepper
12a9fabe52
Update.
...
* locale/programs/locfile.c: Interpret I18NPATH value as base of
path, extended with "/locales/".
1998-04-30 18:52:38 +00:00
Ulrich Drepper
69f155d4fc
Update.
...
1998-04-30 16:45 Ulrich Drepper <drepper@cygnus.com>
* inet/ether_aton.c: Including netinet/if_ether.h is not necessary.
* locale/Makefile (distribute): Add programs/repertoire.h.
(localedef-modules): Add repertoire.
(CPPFLAGS): Define REPERTOIREMAP_PATH.
* locale/programs/repertoire.c: New file.
* locale/programs/repertoire.h: New file.
* locale/programs/charmap.c: Starting fixing character set handling
to handle multi-byte encodings.
* locale/programs/charset.c: Likewise.
* locale/programs/charset.h: Likewise.
* locale/programs/ld-collate.c: Likewise.
* locale/programs/ld-ctype.c: Likewise.
* locale/programs/linereader.c: Likewise.
* locale/programs/localedef.c: Likewise.
* locale/programs/locfile-kw.gperf: Likewise.
* locale/programs/locfile-kw.h: Likewise.
* locale/programs/locfile-token.h: Likewise.
* locale/programs/locfile.h: Likewise.
* locale/programs/stringtrans.c: Likewise.
1998-04-18 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/arm/memset.S: Fix off by one error.
* sysdeps/unix/sysv/linux/arm/sysdep.h (PSEUDO): On error, call
__syscall_error rather than syscall_error directly.
1998-04-17 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/arm/mmap.S: New file; implementation of
mmap() syscall for ARM.
* sysdeps/unix/arm/start.c: New file; startup code for ARM a.out
binaries.
1998-04-30 16:57:48 +00:00