summaryrefslogtreecommitdiff
path: root/iconv/gconv_int.h
AgeCommit message (Collapse)Author
2012-02-09Replace FSF snail mail address with URLs.Paul Eggert
2012-01-08Simplify char16_t implementationUlrich Drepper
2012-01-07Remove pre-ISO C supportUlrich Drepper
No more __const.
2012-01-07More char16_t and char32_t supportUlrich Drepper
It works now for UTF-8 locales
2012-01-01Add uchar.h support, part 1Ulrich Drepper
c16 support for locales other than the C locale is still missing.
2007-07-28* iconv/gconv_int.h (__GCONV_NULCONV): New internal only error code.Ulrich Drepper
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV if from and to charsets are the same. * iconv/gconv_db.c (__gconv_find_transform): Likewise. * intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open returns __GCONV_NOCONV, but not for __GCONV_NULCONV. 2007-07-17 Jakub Jelinek <jakub@redhat.com> * wcsmbs/wchar.h: Only define wint_t if __need_wint_t. Don't define wint_t when __need_mbstate_t unless it is necessary. (__mbstate_t): Use __WINT_TYPE__ rather than wint_t in the typedef if possible. * wctype/wctype.h (wint_t): Define by including wchar.h with __need_wint_t instead of including stddef.h with __need_wint_t and as fallback definining it ourselves. * iconv/gconv.h (__need_wint_t): Define before including wchar.h. * sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC or _GLIBCPP_USE_WCHAR_T. (__need_wchar_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T. (__need_wint_t): Don't define before including stddef.h, define before including wchar.h only if _LIBC or _GLIBCPP_USE_WCHAR_T. (_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T. * sysdeps/mach/hurd/_G_config.h: Likewise. * sysdeps/generic/_G_config.h: Likewise. * libio/libio.h (__wunderflow, __wuflow, __woverflow): Only prototype if _LIBC or _GLIBCPP_USE_WCHAR_T. (_IO_getwc_unlocked, _IO_putwc_unlocked): Only define if _LIBC or _GLIBCPP_USE_WCHAR_T.
2006-05-15* include/rpc/pmap_prot.h: Mark all functions as hidden.Ulrich Drepper
* nscd/nscd_initgroups.c: Mark __gr_map_handle as hidden. * nscd/nscd_getgr_r.c: Likewise. * include/rpc/pmap_rmt.h: Mark all functions as hidden. * nscd/nscd_getai.c (__hst_map_handle): Mark as hidden. * nscd/nscd_gethst_r.c (__hst_map_handle): Likewise. * stdlib/longlong.h (__clz_tab): Mark as hidden. * iconv/gconv_int.h: Mark __gconv_lock as hidden.
2005-12-21* locale/xlocale.c (_nl_C_locobj): Mark as const.Ulrich Drepper
* include/locale.h: Define _nl_C_locobj_ptr. * iconv/gconv_charset.h: Use _nl_C_locobj_ptr instead of using pointer to _nl_C_locobj because we also need a cast. * iconv/gconv_conf.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * locale/duplocale.c: Likewise. * locale/freelocale.c: Likewise. * locale/newlocale.c: Likewise. * misc/syslog.c: Likewise. * stdlib/strtod_l.c: Likewise. * sysdeps/unix/sysv/linux/getloadavg.c: Likewise.
2005-04-05* iconv/gconv_int.h: Include <ctype.h> and <string.h>.Roland McGrath
2004-12-22(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper
2007-07-122.5-18.1Jakub Jelinek
2004-03-25* Makerules ($(common-objpfx)shlib.lds): Don't use \n in rhs of sedRoland McGrath
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-09Update.Ulrich Drepper
* iconv/gconv_db.c: Don't define lock as static. Rename to __gconv_lock and export from the file. * iconv/gconv_int.h: Declare __gconv_lock. * libio/iofclose.c [_LIBC] (_IO_new_fclose): Lock gconv lock before __gconv_release_step calls. Patch by Shunichi Sagawa <s-sagawa@jp.fujitsu.com>. * iconv/gconv_simple.c (internal_ucs4_loop): Fix typo in last change. * iconv/gconv_db.c
2003-06-11Update.Ulrich Drepper
2003-06-11 Ulrich Drepper <drepper@redhat.com> * allocatestack.c (queue_stack): Always inline. * ptreadhP.h (__do_cancel): Likewise.
2002-12-02Update.Ulrich Drepper
2002-11-30 Bruno Haible <bruno@clisp.org> * iconv/gconv.h (__gconv_btowc_fct): New typedef. (struct __gconv_step): New field __btowc_fct. * wcsmbs/btowc.c (__btowc): Use the __btowc_fct shortcut if possible. * iconv/gconv_int.h (__BUILTIN_TRANSFORM): Renamed from __BUILTIN_TRANS. (__gconv_btwoc_ascii): New declaration. * iconv/gconv_simple.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument. (__gconv_btwoc_ascii): New function. * iconv/gconv_builtin.h: Add BtowcFct argument to all BUILTIN_TRANSFORMATION invocations. * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Add BtowcFct argument. * iconv/iconvconfig.c (BUILTIN_TRANSFORMATION): Likewise. * iconv/gconv_builtin.c (map): New field btowc_fct. (BUILTIN_TRANSFORMATION): Add BtowcFct argument. Use it to initialize btowc_fct field. (__gconv_get_builtin_trans): Initialize __btowc_fct field. * iconv/gconv_cache.c (find_module): Initialize __btowc_fct field. * iconv/gconv_db.c (gen_steps, increment_counter): Likewise. * wcsmbs/wcsmbsload.c (to_wc, to_mb): Likewise. * iconv/skeleton.c: Document STORE_REST and FROM_ONEBYTE. (gconv_init): Initialize __btowc_fct field. Undefine EXTRA_LOOP_ARGS and FROM_ONEBYTE at the end. * iconv/loop.c: Document ONEBYTE_BODY. (gconv_btowc, FROM_ONEBYTE): Define if ONEBYTE_BODY is defined. Undefine ONEBYTE_BODY at the end. * iconvdata/8bit-generic.c (ONEBYTE_BODY): New macro. * iconvdata/8bit-gap.c (NONNUL): New macro. (BODY for FROM_LOOP): Use it. (ONEBYTE_BODY): New macro. * iconvdata/isiri-3342.c (HAS_HOLES): Set to 1. (NONNUL): New macro. * iconvdata/ansi_x3.110.c (ONEBYTE_BODY): New macro. * iconvdata/armscii-8.c (ONEBYTE_BODY): New macro. * iconvdata/cp1255.c (ONEBYTE_BODY): New macro. * iconvdata/cp1258.c (ONEBYTE_BODY): New macro. * iconvdata/tcvn5712-1.c (ONEBYTE_BODY): New macro. * iconvdata/big5.c (ONEBYTE_BODY): New macro. * iconvdata/big5hkscs.c (ONEBYTE_BODY): New macro. * iconvdata/euc-cn.c (ONEBYTE_BODY): New macro. * iconvdata/euc-jp.c (ONEBYTE_BODY): New macro. * iconvdata/euc-jisx0213.c (ONEBYTE_BODY): New macro. * iconvdata/euc-kr.c (ONEBYTE_BODY): New macro. * iconvdata/euc-tw.c (ONEBYTE_BODY): New macro. * iconvdata/gbk.c (ONEBYTE_BODY): New macro. * iconvdata/gb18030.c (ONEBYTE_BODY): New macro. * iconvdata/ibm932.c: Include <stdbool.h>. (TRUE, FALSE): Remove macros. (BODY for FROM_LOOP): Remove unused variable rp1. (ONEBYTE_BODY): New macro. (BODY for TO_LOOP): Use bool. * iconvdata/ibm932.h (__ibm932sb_to_ucs4_idx): Remove array. * iconvdata/ibm943.c: Include <stdbool.h>. (TRUE, FALSE): Remove macros. (BODY for FROM_LOOP): Remove unused variable rp1. (ONEBYTE_BODY): New macro. (BODY for TO_LOOP): Use bool. * iconvdata/ibm943.h (__ibm943sb_to_ucs4_idx): Remove array. * iconvdata/iso8859-1.c (ONEBYTE_BODY): New macro. * iconvdata/iso_6937-2.c (ONEBYTE_BODY): New macro. * iconvdata/iso_6937.c (ONEBYTE_BODY): New macro. * iconvdata/johab.c (ONEBYTE_BODY): New macro. * iconvdata/sjis.c (ONEBYTE_BODY): New macro. * iconvdata/shift_jisx0213.c (ONEBYTE_BODY): New macro. * iconvdata/t.61.c (ONEBYTE_BODY): New macro. * iconvdata/uhc.c (ONEBYTE_BODY): New macro. * iconvdata/gbbig5.c: Tweak comment.
2002-08-29* sysdeps/generic/readelflib.c (process_elf_file): Fix typo.Roland McGrath
* iconv/gconv_int.h: Include <stdlib.h> for alloca decl. (norm_add_slashes): alloca -> __alloca * sysdeps/generic/readelflib.c (process_elf_file): Make LOADADDR p_vaddr/p_offset when computing LOADADDR.
2002-08-04Update.Ulrich Drepper
2002-08-04 Ulrich Drepper <drepper@redhat.com> * stdio-common/psignal.c: Declare _sys_siglist_internal. Use USEINT to access _sys_siglist. * string/strsignal.c: Likewise. * sysdeps/generic/siglist.c: Add _sys_siglist_internal alias. * sysdeps/gnu/siglist.c: Likewise. * sysdeps/unix/siglist.c: Likewise. * sysdeps/unix/sysv/linux/arm/siglist.c: Likewise. * libio/fileops.c: Add missing INTUSEs for _IO_file_jumps. * libio/wfileops.c: Add missing INTUSE for _IO_file_close. * intl/dcigettext.c: Define _nl_default_dirname_internal as hidden alias and use it. * intl/bindtextdom.c: Use _nl_default_dirname_internal. * include/netinet/in.h: Add declaration of in6addr_loopback_internal. * inet/in6_addr.c: Add INTVARDEF for in6addr_loopback. * sysdeps/posix/getaddrinfo.c: Use INTUSE for in6addr_loopback access. * include/time.h: Add libc_hidden_proto for __gmtime_r. * time/gmtime.c (__gmtime_r): Add libc_hidden_def. * iconv/Versions: Replace __gconv_alias_db, __gconv_modules_db, and __gconv_cache with __gconv_get_alias_db, __gconv_get_modules_db, and __gconv_get_cache respectively. * iconv/gconv_cache.c (gconv_cache): Renamed for __gconv_cache and defined static. Change all users. (__gconv_get_cache): New function. * iconv/gconv_db.c (__gconv_get_modules_db): New function. (__gconv_get_alias_db): New function. * iconv/gconv_int.h (__gconv_alias_db): Declare as hidden. (__conv_modules_db): Likewise. Add prototypes for __gconv_get_cache, __gconv_get_modules_db, and __gconv_get_alias_db. * iconv/iconv_prog.c: Use the new functions instead of accessing the variables. * include/stdlib.h: Add prototype and libc_hidden_proto for __default_morecore. * sysdeps/generic/morecore.c: Include <stdlib.h>. * malloc/obstack.c: Remove fputs macro. * malloc/mtrace.c: Remove fopen macro.
2002-03-15Update.Ulrich Drepper
2002-03-15 Ulrich Drepper <drepper@redhat.com> * sysdeps/i386/i386-mcount.S: Just call __mcount_internal, it is an internal function. Adjust for internal_function calling convention. * sysdeps/i386/machine-gmon.h: Declare and define __mcount_internal as internal_function. * sysdeps/generic/framestate.c: Declare fallback_frame_state_for as hidden. * nss/XXX-lookup.c (DB_LOOKUP_FCT): Add internal_function to declaration and definition. * nss/getXXbyYY_r.c (DB_LOOKUP_FCT): Add internal_function to declaration. * nss/getXXent_r.c: Likewise. * nss/nsswitch.h (db_lookup_function): Add internal_function to definition. * include/time.h: Declare __localtime_r as hidden. * include/grp.h: Declare __getgrent_r as hidden. * include/netdb.h: Declare __gethostent_r, __getnetent_r, __getservent_r, and __getprotoent_r as hidden. * include/pwd.h: Declare __getpwent_r as hidden. * include/shadow.h: Declare __getspent_r as hidden. * include/rpc/netdb.h: Declare __getrpcent_r as hidden. * iconv/gconv_int.h: Declare __gconv_read_conf, __gconv_alias_compare, and __gconv_transliterate as hidden. Add internal_function to __gconv_get_path declaration. * iconv/gconv_int.h: Add internal_function to __gconv_get_path definition. Add attribute_hidden to __gconv_read_conf definition.
2002-03-12Update.Ulrich Drepper
* include/stdlib.h (__libc_drand48_data): Declare as hidden. * stdlib/drand48.c: Remove declaration of __libc_drand48_data here. * stdlib/erand48.c: Likewise. * stdlib/jrand48.c: Likewise. * stdlib/lcong48.c: Likewise. * stdlib/lrand48.c: Likewise. * stdlib/mrand48.c: Likewise. * stdlib/nrand48.c: Likewise. * stdlib/seed48.c: Likewise. * stdlib/srand48.c: Likewise. * stdio-common/_itoa.c (_itoa_base_table): Declare as hidden. (_itoa_lower_digits_internal): New declaration. (_itoa_upper_digits_internal): New declaration. (_itoa): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. * stdio-common.h (_itoa_lower_digits_internal): New declaration. (_itoa_upper_digits_internal): New declaration. (_itoa_word): Use INTUSE to acces _itoa_upper_digits and _itoa_lower_digits. * stdio-common/itoa-digits.c: Use INTVARDEF with _itoa_lower_digits. * stdio-common/itoa-udigits.c: Use INTVARDEF with _itoa_upper_digits. * elf/dl-minimal.c (_itoa): Declare _itoa_lower_digits as hidden. * elf/dl-reloc.c (_dl_reloc_bad_type): Likewise. * stdio-common/_itowa.c (_itoa_base_table): Declare as hidden. (_itowa_lower_digits): Likewise. (_itowa_upper_digits): Likewise. * stdio-common/_itowa.h (_itowa_lower_digits): Likewise. (_itowa_upper_digits): Likewise. * intl/plural-exp.h (attribute_hidden): Define as empty macro if not already defined. (GERMANIC_PLURAL): Declare as hidden. * posix/getopt.c (__getopt_initialized): Declare as hidden. (attribute_hidden): Define as empty macro if not already defined. * iconv/gconv_int.h (__gconv_path_elem): Declare hidden. (__gconv_max_path_elem_len): Likewise. (__gconv_path_envvar): Likewise. * math/Makefile (gmp-objs): Remove mp_clz_tab. * stdlib/Makefile (aux): Remove mp_clz_tab. * stdlib/mp_clz_tab.c: Removed. Not needed anywhere. * stdlib/exit.h (__exit_funcs): Declare as hidden.
2001-08-14Update.Ulrich Drepper
2001-08-14 Jakub Jelinek <jakub@redhat.com> * resolv/nss_dns/dns-host.c (RESOLVSORT): Define. (addrsort): New function. * resolv/gethnamaddr.c (RESOLVSORT): Define. 2001-08-14 Jakub Jelinek <jakub@redhat.com> * string/strsignal.c (free_mem): Remove. 2001-08-14 Andreas Jaeger <aj@suse.de> * inet/inet_ntoa.c (free_mem): Remove, it's not used anymore. Closes PR libc/2477, reported by Dylan Alex Simon <dylan@dylex.caltech.edu>. 2001-08-14 Ulrich Drepper <drepper@redhat.com> * locale/Makefile (aux): Add xlocale. * locale/xlocale.c: New file. * include/locale.c (_nl_C_locobj): Declare. * iconv/gconv_charset.h: Use __tolower_l, __isdigit_l, __isspace_l with _nl_C_locobj instead of tolower, isdigit, isspace. * iconv/gconv_conf.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * locale/newlocale.c: Minor cleanups.
2001-07-27Update.Ulrich Drepper
2001-07-27 Ulrich Drepper <drepper@redhat.com> * iconv/gconv_cache.c (__gconv_compare_alias_cache): New function. * iconv/gconv_int.h: Add prototype for __gconv_compare_alias_cache. * iconv/gconv_charset.h: Replace __gconv_lookup_alias prototype with __gconv_compare_alias prototype. * iconv/gconv_db.c (__gconv_lookup_alias): Removed. (__gconv_compare_alias): New function. * locale/findlocale.c (_nl_find_locale): Ise __gconv_compare_alias instead of calling __gconv_lookup_alias twice and compare here.
2001-07-24Update.Ulrich Drepper
* iconv/gconv_cache.c (find_module): Don't allocate room for the filename. Use alloca, we don't need it beyond this function. (__gconv_release_cache): New function. * iconv/gconv_db.c (__gconv_close_transform): Call __gconv_release_cache after the steps are handled. * iconv/gconv_dl.c (__gconv_find_shlib): Allocate file name in the record as well. * iconv/gconv_int.h: Add prototype fpr __gconv_release_cache.
2001-07-22Update.Ulrich Drepper
2001-07-22 Ulrich Drepper <drepper@redhat.com> * iconv/gconv_builtin.c (struct builtin_map): Remove init and end elements. (BUILTIN_TRANSFORMATION): Remove Init and End parameters. (__gconv_get_builtin_trans): Initialize __init_fct and __end_fct to NULL. * iconv/gconv_builtin.h: Remove NULL parameters for Init and End in all BUILTIN_TRANSFORMATION calls. * iconv/gconv_conf.c (BUILTIN_TRANSFORMATION): Remove Init and End parameters. * iconv/gconv_simple.c: Likewise. * iconv/gconv_db.c (gen_steps): Internal converters don't have initializers, move the code accordingly. * iconv/gconv_conf.c (__gconv_read_conf): Don't read configuration file if STATIC_GCONV is defined. * iconv/gconv_conf.c (__gconv_path_envvar): New global variable. (__gconv_get_path): Use it instead of call getenv. (__gconv_read_conf): First see whether cache can be used. If yes, don't do any work here. * iconv/gconv_db.c (__gconv_release_step): Renamed from release_step and exported. Change callers. (__gconv_find_transform): First call __gconv_lookup_cache and only continue if it signals no cache available. Remove some unnecessary tests. * iconv/gconv_int.h: Declare __gconv_path_envvar, __gconv_lookup_cache, __gconv_release_step, and __gconv_loaded_cache. * iconv/gconv_cache.c: New file. * iconv/iconvconfig.c: New file. * iconv/iconvconfig.h: New file. * iconv/strtab.c: New file. * iconv/Makefile: Add rules to build new files and programs.
2001-07-12Fix comment typo.Ulrich Drepper
2001-07-06Update to LGPL v2.1.Andreas Jaeger
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.
2000-11-20Update.Ulrich Drepper
2000-11-20 Ulrich Drepper <drepper@redhat.com> * csu/gmon-start.c: Always have prototype for __gmon_start. * csu/version.c: Add prototypes for __libc_print_version and __libc_main. * iconv/gconv.c: Include gconv_int.h and gconv.h. * iconv/gconv.h (struct __gconv_step): Remove const from __from_name and __to_name. * iconv/gconv_builtin.h: Add ASCII module definitions. * iconv/gconv_conf.c (__gconv_path_elem): Remove const. (add_module): Add cast to avoid warning. Rework construction of strings for new module. * iconv/gconv_db.c (__gconv_alias_compare): Make s1 and s2 const. (derivation_compare): Likewise. * iconv/gconv_dl.c (do_release_shlib): Remove const from nodep. (__gconv_release_shlib): Cast do_release_shlib as parameter for twalk. * iconv/gconv_int.h (__gconv_path_elem): Remove const. (struct gconv_alias): Remove const from fromname and toname. * iconv/gconv_simple.c: Include gconv_builtin.h to get prototypes for loop functions. (internal_ucs4_loop): Use correct const-ness. (ucs4_internal_loop): Likewise. (internal_ucs4le_loop): Likewise. (ucs4le_internal_loop_single): Likewise. * iconv/gconv_trans.c (__gconv_transliterate): Make from_idx, from_tbl, to_idx, to_tbl, winbuf, winbufend const. Change casts in assignments appropriately. (struct known_trans): Remove const from fname. (trans_compare): Make s1 and s2 const. * iconv/loop.c (LOOPFC): Make outend parameter const. Add cast to avoid warning. * iconv/skeleton.c: Remove cast in calls of loop functions. * iconvdata/gconv-modules: Remove US-ASCII definitions. * iconvdata/iso646.c: Remove US_ASCII support. * include/set-hooks.h (DEFINE_HOOK): Also generate prototype. * include/unistd.h: Add __libc_check_standard_fds prototype. * string/bits/string2.h (__mempcpy_args): Add const to casts. * sysdeps/generic/initfini.c: Add prototypes for dummy, _init, and _fini. * sysdeps/generic/libc-start.c: Add prototype for __libc_start_main. * sysdeps/i386/i486/bits/string.h (strcmp): Add const to casts. * sysdeps/unix/sysv/linux/dl-osinfo.h (dl_fatal): Add cast to avoid warning. * sysdeps/unix/sysv/linux/init-first.c: Add prototypes for __libc_init_first and _dl_start. * sysdeps/unix/sysv/linux/mips/clone.S: Fix comments.
2000-09-05Update.Ulrich Drepper
2000-09-03 Bruno Haible <haible@clisp.cons.org> * charmaps/EUC-TW: Add commented non-reversible mappings. 2000-09-03 Bruno Haible <haible@clisp.cons.org> * charmaps/CP949: New file. 2000-09-03 Bruno Haible <haible@clisp.cons.org> * charmaps/GB2312: Remove 0x80..0xA0, 0xAA..0xAF, 0xF8..FF. 2000-09-03 Bruno Haible <haible@clisp.cons.org> * charmaps/EUC-JP: Nonreversibly map 0xA1C0 to U+005C and 0x8FA2B7 to U+007E.
2000-06-23* iconv/gconv_int.h (norm_add_slashes): Protect suffix expansion.Andreas Jaeger
2000-06-20Update.Ulrich Drepper
* iconv/gconv_int.h (strict gconv_module): Remove all members associated with regular expressions. Use a simple string as the from name. * iconv/gconv_db.c: Remove code handling regular expressions. * iconv/gconv_conf.c: Likewise. * iconv/iconv_prog.c: Likewise. * iconv/gconv_builtin.h: Adjust for change in gconv_conf.c.
2000-06-19Update.Ulrich Drepper
2000-06-19 Ulrich Drepper <drepper@redhat.com> * iconv/gconv.h (__gconv_trans_fct): Add new parameter. General namespace cleanup. (struct __gconv_trans_data): Add next field. (struct __gconv_step_data): Make __trans a pointer. * iconv/gconv_conf.c: Split out code to find gconv directories from __gconv_read_conf in new functions. * iconv/gconv_int.h: Define new data structure and declare new functions for handling of gconv directory list. * iconv/gconv_open.c: Allow more than one error handling step being used. Call function to load error handling module if it is none of the builtin transformations. * iconv/gconv_close.c: Add code to free transliteration data. * iconv/gconv_trans.c: Add functions to load and unload modules implementing transliteration etc. * iconv/skeleton.c: Call all context functions now that more than one module is allowed. * iconv/loop.c (STANDARD_ERR_HANDLING): New macro. * iconv/gconv_simple.c: Use STANDARD_ERR_HANDLING macro for places where the full error handling using transliteration is needed. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/big5hkscs.c: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/euc-tw.c: Likewise. * iconvdata/gbgbk.c: Likewise. * iconvdata/gbk.c: Likewise. * iconvdata/iso-2022-cn.c: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/unicode.c: Likewise. * iconvdata/utf-16.c: Likewise. * libio/iofwide.c: Reset __trans member of __gconv_trans_data structure correctly after last change. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * localedata/Makefile: Set -Wno-format for some files since gcc does not know all the format specifiers. 2000-06-18 Ulrich Drepper <drepper@redhat.com> * locale/loadlocale.c (_nl_unload_locale): Remove a bit of unneeded code. * locale/lc-time.c (_nl_init_era_entries): Likewise.
2000-06-16Update.Ulrich Drepper
2000-06-16 Ulrich Drepper <drepper@redhat.com> * iconv/gconv_int.h (norm_add_slashes): Optionally add given suffix. * iconv/gconv_open.c: Remove error handling specification from `from' character set name. * intl/loadmsgcat.c (_nl_load_domain): Call norm_add_slashes with new parameter to always enable transliteration. * locale/localeinfo.h (LIMAGIC): Bump number because of incompatible change. (struct locale_data): Add new members use_translit and options. * locale/findlocale.c (_nl_find_locale): Set use_translit flag is character set name contained modifier TRANSLIT. * locale/loadlocale.c (_nl_load_locale): Initialize new use_translit and options fields. (_nl_unload_locale): Free options string if necessary. * wcsmbs/wcsmbsload.c (__wcsmbs_load_conv): Enable translation if the locale names suggested this. * locale/C-address.c: Add two new initialilzers to adjust data structure for new format. * locale/C-collate.c: Likewise. * locale/C-ctype.c: Likewise. * locale/C-identification.c: Likewise. * locale/C-measurement.c: Likewise. * locale/C-messages.c: Likewise. * locale/C-monetary.c: Likewise. * locale/C-name.c: Likewise. * locale/C-numeric.c: Likewise. * locale/C-paper.c: Likewise. * locale/C-telephone.c: Likewise. * locale/C-time.c: Likewise. * locale/setlocale.c: Add some more __builtin_expect.
2000-06-16Update.Ulrich Drepper
2000-06-15 Ulrich Drepper <drepper@redhat.com> * iconv/gconv.h (__gconv_fct): Change type of fifth parameter to unsigned char **. (__gconv_init_fct): Remove two parameters. * iconv/gconv_int.h (__gconv_transliterate): Renamed from gconv_transliterate. Remove two parameters. Change prototypes of builtin functions according to __gconv_fct change. * iconv/skeleton.c: Change type of fifth parameter. make sure it is != NULL only during error handling. Stop in this case after the conversion. * iconv/gconv_trans.c: Replace with real implementation for __gconv_transliterate. * iconv/gconv_open.c: Adjust for renaming of __gconv_transliterate. * iconv/gconv.c: Change calls to downstream functions once again. Use NULL for the fifth parameter instead of pointer to output buffer. * libio/iofwide.c: Likewise. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * iconv/gconv_simple.c: Remove two parameters from error handling function call. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/big5hkscs.c: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/euc-tw.c: Likewise. * iconvdata/gbgbk.c: Likewise. * iconvdata/gbk.c: Likewise. * iconvdata/iso-2022-cn.c: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/unicode.c: Likewise. * iconvdata/utf-16.c: Likewise.
2000-06-12Update.Ulrich Drepper
2000-06-12 Ulrich Drepper <drepper@redhat.com> * Rules (%.out): Define GCONV_PATH in the environment. * assert/Depend: New file. * iconvdata/Depend: New file. * intl/Depend: New file. * timezone/Makefile (build-testdata): Add GCONV_PATH to environment. * intl/tst-gettext.sh: Likewise. * iconv/Makefile (routines): Add gconv_trans. * iconv/gconv_trans.c: New file. * iconv/gconv.h (struct __gconv_trans_data): New type. (__gconv_fct): New parameter with starting position in output buffer. (__gconv_trans_fct, __gconv_trans_context_fct, __gconv_trans_query_fct, __gconv_trans_init_fct, __gconv_trans_end_fct): New types. (struct __gconv_step): Add new member __trans. * iconv/gconv_int.h: Pretty print prototypes. (gconv_transliterate): New prototype. (__BUILTIN_TRANS): Update for new conversion function interface. * iconv/gconv.c (__gconv): Pass new parameter to conversion function. * iconv/gconv_open.c (__gconv_open): Recognize error handling suffix in names, find appropriate function, and install in the conversion steps it can be used. * iconv/skeleton.c: Add additional parameter for beginning of output buffer. Change calls of downstream functions. * iconv/loop.c: Change loop function interface completely. Pass in step and step_data structure. Remove optimization for BODY with NEED_LENGTH_TEST == 0. * iconv/gconv_simple.c: Update interfaces of functions. Insert appropriate error handling code to use transliteration steps. Remove optimization for BODY with NEED_LENGTH_TEST == 0. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/big5hkscs.c: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/euc-tw.c: Likewise. * iconvdata/gbgbk.c: Likewise. * iconvdata/gbk.c: Likewise. * iconvdata/iso-2022-cn.c: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/unicode.c: Likewise. * iconvdata/utf-16.c: Likewise. * libio/iofwide.c: Adjust to new interface of gconv functions. Use DL_CALL_FCT. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise.
2000-06-10Update.Ulrich Drepper
* iconv/skeleton.c: Rename converted written to correcter name irreversible. * iconv/gconv.c: Rename converted variable to correcter name irreversible. * iconv/gconv_int.h: Likewise. * iconv/gconv_simple.c: Likewise. * iconv/iconv.c: Likewise. * iconv/loop.c: Likewise. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/big5hkscs.c: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/gbgbk.c: Likewise. * iconvdata/gbk.c: Likewise. * iconvdata/iso-2022-cn.c: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/unicode.c: Likewise. * iconvdata/utf-16.c: Likewise.
2000-05-04Update.Ulrich Drepper
* libio/stdio.h: Make fseeko and ftello prototypes available is __USE_LARGEFILE. Patch by Paul Eggert <eggert@twinsun.com>. * sysdeps/generic/dl-environ.c (unsetenv): Follow change to the real unsetenv implementation from 1999-07-29 [PR libc/1714]. 2000-05-03 Bruno Haible <haible@clisp.cons.org> * intl/dcigettext.c (dcigettext): Do the defaulting of 'domainname' before calling tfind. 2000-03-05 Jakub Jelinek <jakub@redhat.com> * resolv/resolv.h (res_querydomain): Remove redefinition to __res_querydomain (reported by Owen Taylor <otaylor@redhat.com>). 2000-05-03 Ulrich Drepper <drepper@redhat.com> * po/gl.po: Update from translation team. * manual/intro.texi (Program Basics): Change section title. * manual/process.texi: Fix reference. (Executing a File): Add reference exec in other section. * manual/signal.texi: Fix reference. * manual/startup.texi: Document syscall function. Patches by Bryan Henderson <bryanh@giraffe-data.com>. 2000-04-29 Bruno Haible <haible@clisp.cons.org> * intl/libintl.h (bind_textdomain_codeset): New declaration. * intl/bindtextdom.c (set_binding_values): New function. (bindtextdomain): Call it. (bind_textdomain_codeset): New function. * intl/dcigettext.c (dcigettext): Pass binding to _nl_find_domain. (free_mem): Free each binding's codeset. * intl/gettextP.h (struct binding): Add codeset field. (_nl_find_domain): Add domainbinding argument. * intl/finddomain.c (_nl_find_domain): Add domainbinding argument. Pass it to _nl_make_l10nflist. * intl/loadinfo.h (struct loaded_l10nfile): Add domainbinding field. (_nl_make_l10nflist): Add domainbinding argument. * intl/l10nflist.c (_nl_make_l10nflist): Add domainbinding argument. * intl/loadmsgcat.c (_nl_load_domain): Look at the domainbinding's codeset when determining outcharset. If !_LIBC && HAVE_ICONV, call locale_charset(). * manual/message.texi: New node "Charset conversion in gettext". 2000-04-30 Bruno Haible <haible@clisp.cons.org> * catgets/open_catalog.c (__open_catalog): Use __builtin_expect where appropriate. Handle possible __read error. 2000-04-29 Bruno Haible <haible@clisp.cons.org> * intl/gettextP.h (__builtin_expect): Define as empty if not a compiler builtin. * intl/loadinfo.h (__builtin_expect): Likewise. * intl/dcigettext.c (dcigettext, _nl_find_msg): Use __builtin_expect where appropriate. * intl/loadmsgcat.c (_nl_load_domain): Likewise. * intl/localealias.c (extend_alias_table): Return an error indicator. (read_alias_file): Bail out if extend_alias_table fails. 2000-04-29 Bruno Haible <haible@clisp.cons.org> * intl/loadmsgcat.c: Define _GNU_SOURCE as early as possible. * intl/localealias.c: Likewise. 2000-05-01 Bruno Haible <haible@clisp.cons.org> * intl/loadmsgcat.c (_nl_load_domain): Initialize domain->conv_tab. Initialize domain->plural and domain->nplurals even if there is no nullentry. 2000-05-01 Bruno Haible <haible@clisp.cons.org> * intl/dcigettext.c (_nl_find_msg): Terminate __gconv loop if return value is == __GCONV_OK or == __GCONV_EMPTY_INPUT, not != __GCONV_OK. In case of failure, goto converted. 2000-05-01 Bruno Haible <haible@clisp.cons.org> * wcsmbs/wcsmbsload.c (norm_add_slashes): Move away. * iconv/gconv_int.h (norm_add_slashes): Move to here. * intl/loadmsgcat.c (_nl_load_domain): Normalize strings passed to __gconv_open. 2000-04-29 Bruno Haible <haible@clisp.cons.org> * intl/dcigettext.c (transcmp): Compare the domains as well. (dcigettext): Call strlen (msgid1) after testing msgid1 against NULL, not before. * intl/loadmsgcat.c (_nl_load_domain): Deal with EINTR. Include <errno.h>. 2000-05-03 Ulrich Drepper <drepper@redhat.com>
2000-04-21Update.Ulrich Drepper
* iconv/gconv_simple.c: Define separate functions to convert from UCS4/UCS4-LE to the internal encoding. * iconv/gconv_builtin.h: Use separate functions to convert from UCS4/UCS4-LE to the internal encoding. * iconv/gconv_int.h: Declare __gconv_transform_ucs4_internal and __gconv_transform_ucs4le_internal. * iconv/gconv_simple.c (internal_utf8_loop): Correct check for output buffer overflow. Reported by Ulrich.Brink@sap.com.
2000-04-09Update.Ulrich Drepper
2000-04-09 Ulrich Drepper <drepper@redhat.com> Implement handling of restartable conversion functions according to ISO C. * iconv/gconv.h (__gconv_fct): Add additional parameter. * iconv/gconv_int.h (__BUILTIN_TRANS): Likewise. * iconv/gconv.c: Pass additional parameter to conversion function. * iconv/gconv_simple.c (internal_ucs4_loop_single): New function. (internal_ucs4le_loop_single): New function. (__gconv_transform_ascii_internal): Define ONE_DIRECTION. (__gconv_transform_internal_ascii): Likewise. (__gconv_transform_internal_utf8): Likewise. (__gconv_transform_utf8_internal): Likewise. (__gconv_transform_ucs2_internal): Likewise. (__gconv_transform_internal_ucs2): Likewise. (__gconv_transform_ucs2reverse_internal): Likewise. (__gconv_transform_internal_ucs2reverse): Likewise. (internal_ucs4le_loop_unaligned): Before return __GCONV_INCOMPLETE_INPUT check that the remaining bytes really form a valid character. Otherwise return __GCONV_ILLEGAL_INPUT. (__gconv_transform_utf8_internal): Define STORE_REST and UNPACK_BYTES. * iconv/loop.c: Fit in definition of function to convert one character for processing of left-over bytes from the state object. * iconv/skeleton.c (gconv): Rename inbuf to inptrp and inbufend to inend to match names in loop functions. (RESET_INPUT_BUFFER): Change apprpriately. (gconv): If needed, call function to process bytes from the state object. Similar at the end: store left over bytes if input is incomplete. Take extra argument and add new argument to all calls of the conversion function. * iconvdata/iso-2022-cn.c: Adjust numeric values used to store information in the state object to not conflict with length count. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/unicode.c: Adjust for change change in parameters of skeleton function. * iconvdata/utf-16.c: Likewise. * libio/iofwide.c: Add new parameter to all calls of conversion function. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * iconvdata/gbgbk.c: Always define MAX_NEEDED_OUTPUT and MAX_NEEDED_INPUT.
2000-03-28Update.Ulrich Drepper
2000-03-23 Bruno Haible <haible@clisp.cons.org> * iconv/gconv_int.h (__gconv_transform_ucs2little_internal, __gconv_transform_internal_ucs2little): Remove declarations. * iconv/gconv_simple.c (__gconv_transform_ucs2_internal, __gconv_transform_internal_ucs2): Never need to bswap_16. (__gconv_transform_ucs2reverse_internal, __gconv_transform_internal_ucs2reverse): Always need to bswap_16.
2000-03-21Update.Ulrich Drepper
* iconv/gconv_builtin.c: Include <endian.h>. * iconv/gconv_builtin.h: Add UCS-BE aliases. Add UCS-4LE transformation. Define UNICODEBIG and UNICODELITTLE according to current platform. * iconv/gconv_int.h: Declare __gconv_transform_ucs2reverse_internal, __gconv_transform_internal_ucs2reverse, and __gconv_transform_internal_ucs4le. * iconv/gconv_simple.c: Implement __gconv_transform_internal_ucs4le, __gconv_transform_ucs2reverse_internal and __gconv_transform_internal_ucs2reverse. * iconvdata/Makefile (modules): Add UNICODE. (distribute): Add unicode.c. * iconvdata/gconv-modules: Add definitions for UNICODE module. * iconvdata/unicode.c: New file. * iconvdata/utf-16.c: Rewrite code to emit BOM. Correct code to determine byte order of input and convert accordingly.
2000-01-19Update.Ulrich Drepper
2000-01-18 Ulrich Drepper <drepper@cygnus.com> * iconv/loop.c (COUNT_CONVERTED): Remove macro, comment, and all uses. Remove done variable and all uses. * iconv/skeleton.c: Update comment for *written modification. * iconv/gconv_int.h (__gconv): Update comment.
1999-08-22Update.Ulrich Drepper
1999-08-22 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_int.h (GCONV_AVOID_NOCONV): New definition. (__gconv_find_transform): Update prototype. (__gconv_open): Likewise. * iconv/gconv_open.c: Take extra parameter and pass it to __gconv_find_transform. * iconv/gconv_db.c (__gconv_find_transform): Take extra parameter with flags. If GCONV_AVOID_NOCONV flag is set don't return copying transformation. * iconv/iconv_open.c: Pass extra parameter to __gconv_open. * wcsmbs/wcsmbsload.c: Likewise. * intl/dcgettext.c (_nl_find_msg): Rewrite to use gconv instead of iconv for glibc. * intl/gettextP.h: Likewise. * intl/loadmsgcat.c: Likewise. * posix/regexbug1.c: New file. * posix/Makefile (tests): Add regexbug1.
1999-06-28Update.Ulrich Drepper
* sysdeps/libm-ieee754/e_gamma_r.c: Initialize *signgamp for NaN returns. * sysdeps/libm-ieee754/e_gammaf_r.c: Likewise. * sysdeps/libm-ieee754/e_gammal_r.c: Likewise. Reported by John Reiser <jreiser@BitWagon.com> [PR libc/1185]. * elf/dl-dst.h: Fix typo. * elf/dl-open.c: Likewise. 1999-06-26 Zack Weinberg <zack@rabi.columbia.edu> * elf/dl-libc.c: New file, provides three functions: __libc_dlopen, __libc_dlclose, __libc_dlsym. * include/dlfcn.h: Prototype them. Prototype _dl_addr. * elf/Makefile (routines): Add dl-libc.c. * elf/dl-profstub.c (_dl_mcount_wrapper): Change type of argument to void *. * elf/ldsodefs.h: Change proto and use of _dl_mcount_wrapper to match. * iconv/gconv.c: Include dlfcn.h. * iconv/gconv_db.c: Likewise. * malloc/mtrace.c: Likewise. Don't include ldsodefs.h. * iconv/gconv_int.h (struct __gconv_loaded_object): Change `handle' to a void *. (__gconv_find_func): Delete prototype. * iconv/gconv_dl.c: Don't include ldsodefs.h. Remove dlerror_run and related functions and structs. Use __libc_dlopen, __libc_dlsym, __libc_dlclose. * nss/nsswitch.c: Likewise. 1999-06-28 Ulrich Drepper <drepper@cygnus.com>
1999-06-16Update.Ulrich Drepper
* Versions.def: Add GLIBC_2.2 for libc. * iconv/gconv.h: Make header suitable for inclusion in public header by protecting all names with __. * iconv/gconv.c: Adapt for symbol name changes. * iconv/gconv.h: Likewise. * iconv/gconv_builtin.c: Likewise. * iconv/gconv_close.c: Likewise. * iconv/gconv_db.c: Likewise. * iconv/gconv_dl.c: Likewise. * iconv/gconv_int.h: Likewise. * iconv/gconv_open.c: Likewise. * iconv/gconv_simple.c: Likewise. * iconv/iconv.c: Likewise. * iconv/iconv_close.c: Likewise. * iconv/iconv_open.c: Likewise. * iconv/loop.c: Likewise. * iconv/skeleton.c: Likewise. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/ansi_x3.110.c: Likewise. * iconvdata/big5.c: Likewise. * iconvdata/cns11643.h: Likewise. * iconvdata/cns11643l1.h: Likewise. * iconvdata/euc-cn.c: Likewise. * iconvdata/euc-jp.c: Likewise. * iconvdata/euc-kr.c: Likewise. * iconvdata/euc-tw.c: Likewise. * iconvdata/gb2312.h: Likewise. * iconvdata/iso-2022-jp.c: Likewise. * iconvdata/iso-2022-kr.c: Likewise. * iconvdata/iso646.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso_6937-2.c: Likewise. * iconvdata/iso_6937.c: Likewise. * iconvdata/jis0201.h: Likewise. * iconvdata/jis0208.h: Likewise. * iconvdata/jis0212.h: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/ksc5601.h: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t.61.c: Likewise. * iconvdata/uhc.c: Likewise. * stdlib/mblen.c: Likewise. * stdlib/mbtowc.c: Likewise. * stdlib/wctomb.c: Likewise. * wcsmbs/btowc.c: Likewise. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wchar.h: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsmbsload.c: Likewise. * wcsmbs/wcsmbsload.h: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise. * include/limits.h (MB_LEN_MAX): Increase to 16. * sysdeps/generic/_G_config.h: Define _G_fpos_t as struct. Define _G_iconv_t. * sysdeps/unix/sysv/linux/_G_config.h: Likewise. * include/wchar.h: Change mbstate_t to __mbstate_t. * libio/Makefile (routines): Add wfiledoalloc, oldiofgetpos, oldiofgetpos64, oldiofsetpos, oldiofsetpos64, fputwc, fputwc_u, getwc, getwc_u, getwchar, getwchar_u, iofgetws, iofgetws_u, iofputws, iofputws_u, iogetwline, iowpadn, ioungetwc, putwc, putwc_u, putchar, putchar_u, swprintf, vwprintf, wprintf, wscanf, fwscanf, vwscanf, vswprintf, iovswscanf, swscanf, wgenops, wstrops, wfileops, and iofwide. (tests): Add tst_swprintf, tst_wprintf, tst_swscanf, and tst_wscanf. * libio/Versions: Add _IO_fgetpos, _IO_fgetpos64, _IO_fsetpos, _IO_fsetpos64, fgetpos, fgetpos64, fgetwc, fgetwc_unlocked, fgetws, fgetws_unlocked, fputwc, fputwc_unlocked, fputws, fputws_unlocked, fsetpos, fsetpos64, fwide, fwprintf, fwscanf, getwc, getwc_unlocked, getwchar, getwchar_unlocked, putwc, putwc_unlocked, putwchar, putwchar_unlocked, swprintf, swscanf, ungetwc, vfwprintf, vswprintf, vwprintf, vfwscanf, vswscanf, vwscanf, wprintf, and wscanf to GLIBC_2.2 for libc. * libio/libio.h: Define codecvt struct. Define _IO_wide_data. Extend _IO_file contain pointer to codecvt, widedata and mode. (_IO_getwc_unlocked): New macro. (_IO_putwc_unlocked): New macro. (_IO_fwide): New macro. * libio/libioP.h: Add new prototypes and adjust existing declarations. * libio/fileops.c (_IO_new_file_close_it): Reset normal or widedata buffers based on mode. (new_do_write): Set _IO_write_end to _IO_buf_end if stream is wide oriented. (_IO_new_file_overflow): Don't depend only on _IO_CURRENTLY_PUTTING flag to be enough to signal unallocated buffer. For wide oriented stream don't make it linebuffered. Don't use _IO_do_flush, use _IO_new_do_write directly. (_IO_new_file_seekoff): Change return value type to _IO_off64_t. (_IO_file_seek): Likewise. * libio/genops.c (_IO_least_marker): Make global. (__underflow): Orient stream if not already done. (__uflow): Likewise. (_IO_default_seekpos): Change to type _IO_off64_t. (_IO_default_seekoff): Likewise. (_IO_default_seek): Likewise. (_IO_no_init): New function. Similar to _IO_init but allows to orient in initialization. * libio/iolibio.h: Add prototype for _IO_vswprintf. Change _IO_pos_BAD to use _IO_off64_t. * libio/ftello.c: Use _IO_off_t. For now abort when use with wide char stream. * libio/ftello64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofopncook.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/oldfileops.c: Likewise. * libio/iofgetpos.c: Store state of conversion if necessary. * libio/iofgetpos64.c: Likewise. * libio/iofsetpos.c: Restore conversion state if necessary. * libio/iofsetpos64.c: Likewise. * libio/iofdopen.c: Initialize so that stream can be wide oriented. * libio/iofopen.c: Likewise. * libio/iofopen64.c: Likewise. * libio/iopopen.c: Likewise. * libio/iovdprintf.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/memstream.c: Likewise. * libio/obprintf.c: Likewise. * libio/iofputs.c: Orient stream if not already happened. * libio/iofputs_u.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iofwrite_u.c: Likewise. * libio/ioputs.c: Likewise. * libio/iosetbuffer.c: Handle not yet oriented stream. * libio/iosetvbuf.c: Likewise. * libio/oldstdfiles.c: Adjust FILEBUF_LITERAL call. * libio/stdfiles.c: Likewise. * libio/strops.c (_IO_str_overflow): Correctly free buffer after failed allocation. (_IO_str_seekoff): Use _IO_off64_t. * libio/vasprintf.c: Pre-orient stream. * libio/vsnprintf.c: Likewise. * libio/fputwc.c: New file. * libio/fputwc_u.c: New file. * libio/fwprintf.c: New file. * libio/fwscanf.c: New file. * libio/getwc.c: New file. * libio/getwc_u.c: New file. * libio/getwchar.c: New file. * libio/getwchar_u.c: New file. * libio/iofgetws.c: New file. * libio/iofgetws_u.c: New file. * libio/iofputws.c: New file. * libio/iofputws_u.c: New file. * libio/iofwide.c: New file. * libio/iogetwline.c: New file. * libio/ioungetwc.c: New file. * libio/iovswscanf.c: New file. * libio/iowpadn.c: New file. * libio/oldiofgetpos.c: New file. * libio/oldiofgetpos64.c: New file. * libio/oldiofsetpos.c: New file. * libio/oldiofsetpos64.c: New file. * libio/putwc.c: New file. * libio/putwc_u.c: New file. * libio/putwchar.c: New file. * libio/putwchar_u.c: New file. * libio/swprintf.c: New file. * libio/swscanf.c: New file. * libio/tst_swprintf.c: New file. * libio/tst_swscanf.c: New file. * libio/tst_wprintf.c: New file. * libio/tst_wscanf.c: New file. * libio/tst_wscanf.input: New file. * libio/vswprintf.c: New file. * libio/vwprintf.c: New file. * libio/vwscanf.c: New file. * libio/wfiledoalloc.c: New file. * libio/wfileops.c: New file. * libio/wgenops.c: New file. * libio/wprintf.c: New file. * libio/wscanf.c: New file. * libio/wstrops.c: New file. * stdio-common/Makefile (routines): Add _itowa, itowa-digits, vfwprintf, and vfwscanf. * stdio-common/_itoa.c (base_table): Rename to _IO_base_table and make global. * stdio-common/_itowa.c: New file. * stdio-common/_itowa.h: New file. * stdio-common/itoa-digits.c: Minimal optimization. * stdio-common/itowa-digits.c: New file. * stdio-common/printf-parse.h: Allow use in wide character context. * stdio-common/printf-prs.c: Define ISASCII and MBRLEN. * stdio-common/printf.h (printf_info): Add wide bit. * stdio-common/printf_fp.c: Determine from wide bit whether stream is wide oriented or not. * stdio-common/printf_size.c: Likewise. * sysdeps/generic/printf_fphex.c: Likewise. * stdlib/strfmon.c: Call __printf_fp with wide bit cleared. * stdio-common/vfprintf.c: Rewrite to allow use in wide character context. * stdio-common/vfscand.c: Likewise. * stdio-common/vfwprintf.c: New file. * stdio-common/vfwscanf.c: New file. * time/Makefile (routines): Add wcsftime. (tests): Add tst_wcsftime. * time/Versions: Add wcsftime to GLIBC_2.2 for libc. * time/strftime.c: Make usable as wcsftime. * time/wcsftime.c: New file. * time/tst_wcsftime.c: New file. * wcsmbs/Makefile (routines): Add wmempcpy and wcschrnul. * wcsmbs/Versions: Add wmempcpy and wcschrnul to GLIBC_2.2 for libc. * wcsmbs/wcschrnul.c: New file. * wcsmbs/wmemcpy.c: New file. * wcsmbs/wmemcpy.c: Rename to __wmemcpy and make wmemcpy weak alias. * wcsmbs/wmemmove.c: Likewise for wmemmove. * manual/stdio.texi: Document is_char and wide element if printf_info. * manual/time.texi: Document wcsftime. * include/wchar.h: Add prototypes for __wmemcpy, __wmempcpy, __wmemmove, __wcschrnul, and __vfwscanf. * locale/langinfo.h: Add new LC_TIME entries for wchar_t data. * locale/C-time.c: Adapt for above change. * locale/categories.def: Likewise. * locale/localeinfo.h: Likewise. * localedata/Makefile: Don't run tests for now.
1999-04-24Update.Ulrich Drepper
1999-04-24 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_builtin.h: Add definitions for UTF16 builtins. * iconv/gconv_int.h: Declare UTF16 functions. * iconv/gconv_simple.c: Add UTF16 conversion functions. * timezone/zic.c (dolink): Append complete path not only filename
1999-03-15Update.Ulrich Drepper
1999-03-15 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv.h (gconv_fct): Change parameter from `char' to `unsigned char'. (gconv_step_data): Likewise. * iconv/gconv_int.h (__gconv): Likewise. (__BUILINT_TRANS): Likewise. * iconv/gconv.c (__gconv): Likewise. * iconv/iconv.c (iconv): Add casts for call of __gconv. * iconv/skeleton.c: Change local parameters and variable from `char' to `unsigned char'. Remove casts from calls into modules. * iconvdata/iso-2022-jp.c (gconv): Change local variable outbuf from `char' to `unsigned char'. * wcsmbs/btowc.c: Change pointers from `char *' to `unsigned char *'. * wcsmbs/mbrtowc.c: Likewise. * wcsmbs/mbsnrtowcs.c: Likewise. * wcsmbs/mbsrtowcs.c: Likewise. * wcsmbs/wcrtomb.c: Likewise. * wcsmbs/wcsnrtombs.c: Likewise. * wcsmbs/wcsrtombs.c: Likewise. * wcsmbs/wctob.c: Likewise.
1999-01-18Update.Ulrich Drepper
1999-01-18 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_conf.c (add_module): Complete rewrite. Use cleverer data structures and avoid creating intermediate representations first. Rewrite also all helper functions. * iconv/gconv_db.c (find_derivation): Use new data structure for module database. * iconv/Versions: Remove __gconv_nmodules. * iconv/iconv_prog.c: Rewrite generation of charset name list to use new data structure. * iconv/gconv_int.h (struct gconv_module): Add new elements for database data structure. (__gconv_modules_db): Update type. (__gconv_transform_dummy): Removed. * iconv/gconv_builtin.h: Remove dummy transformation. * iconv/gconv_simple.c: Remove __gconv_transform_dummy. * sysdeps/unix/sysv/linux/sparc/sparc32/syscalls.list: Remove __syscall_vfork, add vfork. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * Rules: Add dummp.c and dummy.o to common-generated.
1998-12-17Update.Ulrich Drepper
* iconv/gconv_int.h (gconv_module): Add new element from_regex_mem. * iconv/gconv_conf.c (module_compare): Make s1 and s2 const. (detect_conflict): New function. (add_alias): Call detect_conflict to see whether there is already a module for the new name. (add_module): Make sure there is no alias for the new name. (read_conf_file): Call add_alias with new argument. (__gconv_read_conf): Don't destroy module tree immediately after walking it. We need it to test the internal conversions for conflicts. * iconv/gconv_db.c (find_derivation): Don't allocate memory for regular expression. There is now room in the module descriptor. (free_mem): Don't free memory for regular expression.
1998-10-30Update.Ulrich Drepper
1998-10-30 18:11 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_conf.c (__gconv_read_conf): Don't define as internal_function since it is called through a pointer. * iconv/gconv_db.c (free_derivation): Likewise. * iconv/gconv_int.h: Adjust prototype od __gconv_read_conf. * posix/wordexp.c: Add internal_function to parse_backtick definition. * rt/aio_misc.c: Add internal_function to __aio_free_request, __aio_find_req, __aio_find_req_fd, and __aio_enqueue_request definitions. * rt/aio_notify.c: Add internal_function to __aio_notify_only and __aio_notify definitions. * wcsmbsload.c: Add internal_function to __wcsmbs_load_conv definition.
1998-05-08Update.Ulrich Drepper
1998-05-08 12:26 Ulrich Drepper <drepper@cygnus.com> * iconv/gconv_int.h (struct gconv_module): Remove cost field and add cost_hi and cost_lo. * iconv/gconv_conf.c (builtin_modules): Initialize cost_hi from Cost parameter and set cost_lo to INT_MAX. (add_module): Take new parameter and use it to initialize cost_lo. (read_conf_file): Count modules being loaded and use counter for new parameter to add_module. * iconv/gconv_db.c (find_derivation): When look for cost examine cost_hi and cost_lo. 1998-05-08 10:52 Ulrich Drepper <drepper@cygnus.com> * string/bits/string2.h: Don't use unsigned char * unless really necessary since this disturbs C++. * sysdeps/i386/i486/bits/string.h: Likewise. Patch by Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>. 1998-05-08 13:53 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * malloc/malloc.c (top_check): Fix last change.
1998-04-24Update.Ulrich Drepper
<<<<<<< ChangeLog 1998-04-23 22:43 Ulrich Drepper <drepper@cygnus.com> * elf/dl-load.c (fillin_rpath): Handle empty element returned by strsep as current directory. * iconv/gconv_builtin.h: Add aliases unicode and unicodebig for Java. Add definitions for unicodelittle implementation. * iconv/gconv_int.h: Add declaration for unicodelittle functions. * iconv/gconv_simple.c: Define unicodelittle functions. * iconv/iconv_prog.c: Make program print information about position of illegal character in input. * iconv/skeleton.c: Use __strcasecmp instead of __strcasestr for comparison of charset name. * iconvdata/big5.c (CHARSET_NAME): Adapt for this. * iconvdata/ebcdic-at-de-a.c: Likewise. * iconvdata/ebcdic-at-de.c: Likewise. * iconvdata/ebcdic-ca-fr.c: Likewise. * iconvdata/euccn.c: Likewise. * iconvdata/eucjp.c: Likewise. * iconvdata/euckr.c: Likewise. * iconvdata/euctw.c: Likewise. * iconvdata/hp-roman8.c: Likewise. * iconvdata/iso6937.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/iso8859-10.c: Likewise. * iconvdata/iso8859-2.c: Likewise. * iconvdata/iso8859-3.c: Likewise. * iconvdata/iso8859-4.c: Likewise. * iconvdata/iso8859-5.c: Likewise. * iconvdata/iso8859-6.c: Likewise. * iconvdata/iso8859-7.c: Likewise. * iconvdata/iso8859-8.c: Likewise. * iconvdata/iso8859-9.c: Likewise. * iconvdata/johab.c: Likewise. * iconvdata/koi-8.c: Likewise. * iconvdata/koi8-r.c: Likewise. * iconvdata/latin-greek-1.c: Likewise. * iconvdata/latin-greek.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t61.c: Likewise. * iconvdata/uhc.c: Likewise. * iconvdata/iso646.c: Add support for more ISO 646 variants. * iconvdata/TESTS: Add tests for ISO646 module. * iconvdata/gconv-modules: Add new modules. * iconvdata/testdate/CSA_Z243.4-1985-1: New tests for ISO646 module. * iconvdata/testdate/CSA_Z243.4-1985-1..UCS2: Likewise. * iconvdata/testdate/CSA_Z243.4-1985-2: Likewise. * iconvdata/testdate/CSA_Z243.4-1985-2..UCS4: Likewise. * iconvdata/testdate/DIN_66003: Likewise. * iconvdata/testdate/DIN_66003..UTF8: Likewise. * iconvdata/testdate/DS_2089: Likewise. * iconvdata/testdate/DS_2089..UTF8: Likewise. * iconvdata/testdate/ES: Likewise. * iconvdata/testdate/ES..UTF8: Likewise. * iconvdata/testdate/ES2: Likewise. * iconvdata/testdate/ES2..UTF8: Likewise. * iconvdata/testdate/GB_1988-80: Likewise. * iconvdata/testdate/GB_1988-80..UTF8: Likewise. * iconvdata/testdate/IT: Likewise. * iconvdata/testdate/IT..UTF8: Likewise. * iconvdata/testdate/JIS_C6220-1969-RO: Likewise. * iconvdata/testdate/JIS_C6220-1969-RO..UTF8: Likewise. * iconvdata/testdate/JIS_C6229-1984-B: Likewise. * iconvdata/testdate/JIS_C6229-1984-B..UTF8: Likewise. * iconvdata/testdate/JUS_I.B1.002: Likewise. * iconvdata/testdate/JUS_I.B1.002..UTF8: Likewise. * iconvdata/testdate/KSC5636: Likewise. * iconvdata/testdate/KSC5636..UTF8: Likewise. * iconvdata/testdate/MSZ_7795.3: Likewise. * iconvdata/testdate/MSZ_7795.3..UTF8: Likewise. * iconvdata/testdate/NC_NC00-10: Likewise. * iconvdata/testdate/NC_NC00-10..UTF8: Likewise. * iconvdata/testdate/NF_Z_62-010: Likewise. * iconvdata/testdate/NF_Z_62-010..UTF8: Likewise. * iconvdata/testdate/NF_Z_62-010_1973: Likewise. * iconvdata/testdate/NF_Z_62-010_1973..UTF8: Likewise. * iconvdata/testdate/NS_4551-1: Likewise. * iconvdata/testdate/NS_4551-1..UTF8: Likewise. * iconvdata/testdate/NS_4551-2: Likewise. * iconvdata/testdate/NS_4551-2..UTF8: Likewise. * iconvdata/testdate/PT: Likewise. * iconvdata/testdate/PT..UTF8: Likewise. * iconvdata/testdate/PT2: Likewise. * iconvdata/testdate/PT2..UTF8: Likewise. * iconvdata/testdate/SEN_850200_B: Likewise. * iconvdata/testdate/SEN_850200_B..UTF8: Likewise. * iconvdata/testdate/SEN_850200_C: Likewise. * iconvdata/testdate/SEN_850200_C..UTF8: Likewise. * iconvdata/cns11643.h: Use uint32_t instead of wchar_t. * iconvdata/cns11643l1.h: Likewise. * iconvdata/latin-greek-1.h: Likewise. * iconvdata/latin-greek.h: Likewise. * iconvdata/koi8-r.h: Likewise. * iconvdata/jis0212.h: Likewise. * iconvdata/gb2312.h: Likewise. * iconvdata/ksc5601.h: Likewise. * iconvdata/8bit-gap.c: Use 32 bit type for idx element of struct gap. * iconvdata/Makefile: Add rules for lots of more modules. * iconvdata/cp1250.c: New file. * iconvdata/cp1251.c: New file. * iconvdata/cp1252.c: New file. * iconvdata/cp1253.c: New file. * iconvdata/cp1254.c: New file. * iconvdata/cp1255.c: New file. * iconvdata/cp1256.c: New file. * iconvdata/cp1257.c: New file. * iconvdata/ebcdic-dk-no-a.c: New file. * iconvdata/ebcdic-dk-no.c: New file. * iconvdata/ebcdic-es-a.c: New file. * iconvdata/ebcdic-es-s.c: New file. * iconvdata/ebcdic-es.c: New file. * iconvdata/ebcdic-fi-se-a.c: New file. * iconvdata/ebcdic-fi-se.c: New file. * iconvdata/ebcdic-fr.c: New file. * iconvdata/ebcdic-is-friss.c: New file. * iconvdata/ebcdic-it.c: New file. * iconvdata/ebcdic-pt.c: New file. * iconvdata/ebcdic-uk.c: New file. * iconvdata/ebcdic-us.c: New file. * iconvdata/ibm037.c: New file. * iconvdata/ibm038.c: New file. * iconvdata/ibm1004.c: New file. * iconvdata/ibm1026.c: New file. * iconvdata/ibm1047.c: New file. * iconvdata/ibm256.c: New file. * iconvdata/ibm273.c: New file. * iconvdata/ibm274.c: New file. * iconvdata/ibm275.c: New file. * iconvdata/ibm277.c: New file. * iconvdata/ibm278.c: New file. * iconvdata/ibm280.c: New file. * iconvdata/ibm281.c: New file. * iconvdata/ibm284.c: New file. * iconvdata/ibm285.c: New file. * iconvdata/ibm290.c: New file. * iconvdata/ibm297.c: New file. * iconvdata/ibm420.c: New file. * iconvdata/ibm423.c: New file. * iconvdata/ibm424.c: New file. * iconvdata/ibm437.c: New file. * iconvdata/ibm500.c: New file. * iconvdata/ibm850.c: New file. * iconvdata/ibm851.c: New file. * iconvdata/ibm852.c: New file. * iconvdata/ibm855.c: New file. * iconvdata/ibm857.c: New file. * iconvdata/ibm860.c: New file. * iconvdata/ibm861.c: New file. * iconvdata/ibm862.c: New file. * iconvdata/ibm863.c: New file. * iconvdata/ibm864.c: New file. * iconvdata/ibm865.c: New file. * iconvdata/ibm868.c: New file. * iconvdata/ibm869.c: New file. * iconvdata/ibm870.c: New file. * iconvdata/ibm871.c: New file. * iconvdata/ibm875.c: New file. * iconvdata/ibm880.c: New file. * iconvdata/ibm891.c: New file. * iconvdata/ibm903.c: New file. * iconvdata/ibm904.c: New file. * iconvdata/ibm905.c: New file. * iconvdata/ibm918.c: New file. * locale/iso-4217.def: Update. * localedata/locales/pt_BR: Correct. Patches by Andreas Jaeger. * stdio-common/vfscanf.h: Recognize nan and inf in floating-point formats. 1998-04-22 Andreas Jaeger <aj@arthur.rhein-neckar.de> * elf/dl-load.c (_dl_init_paths): ';' is also a terminal for LD_LIBRARY_PATH. 1998-04-22 Gordon Matzigkeit <gord@profitpress.com> * Makerules: Change occurances of `cd dir; cmd' to `cd dir && cmd'. * Makefile: Likewise. * posix/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. 1998-04-22 Gordon Matzigkeit <gord@profitpress.com> * sysdeps/mach/hurd/bits/dirent.h: New file. * sysdeps/mach/hurd/readdir64.c: New file. * sysdeps/mach/hurd/readdir64_r.c: New file. 1998-04-21 Gordon Matzigkeit <gord@profitpress.com> * stdio/stdio.h (vasprintf, __asprintf, asprintf, vdprintf, dprintf): Synchronize declarations with libio/stdio.h. 1998-04-21 Gordon Matzigkeit <gord@profitpress.com> * elf/dlerror.c (dlerror): Don't assume that __libc_internal_tsd_get is defined. __libc_getspecific is already well-protected, so just use it directly. 1998-04-22 Gordon Matzigkeit <gord@profitpress.com> * io/ftw.h (ftw): Fix typo. 1998-04-21 Gordon Matzigkeit <gord@profitpress.com> * sysdeps/gnu/utmp_file.c: Fix typo. 1998-04-22 11:06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * iconvdata/run-iconv-test.sh: Fix more portability bugs. When one part of a test fails move on to the next test. 1998-04-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/i386/bits/setjmp.h (_JMPBUF_UNWINDS): Compare addresses as pointers, not signed integers. 1998-04-22 11:06 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>