diff options
-rw-r--r-- | ChangeLog | 15 | ||||
-rw-r--r-- | iconvdata/Makefile | 8 | ||||
-rw-r--r-- | iconvdata/gconv-modules | 8 | ||||
-rw-r--r-- | iconvdata/georgian-academy.c | 29 | ||||
-rw-r--r-- | iconvdata/georgian-ps.c | 29 | ||||
-rwxr-xr-x | iconvdata/tst-tables.sh | 2 | ||||
-rw-r--r-- | libio/genops.c | 18 | ||||
-rw-r--r-- | locale/programs/ld-collate.c | 43 | ||||
-rw-r--r-- | localedata/ChangeLog | 6 | ||||
-rw-r--r-- | localedata/SUPPORTED | 1 | ||||
-rw-r--r-- | localedata/charmaps/GEORGIAN-ACADEMY | 267 | ||||
-rw-r--r-- | localedata/charmaps/GEORGIAN-PS | 267 | ||||
-rw-r--r-- | localedata/locales/ka_GE | 5 | ||||
-rw-r--r-- | malloc/set-freeres.c | 14 |
14 files changed, 686 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog index 0f24b15997..923c79caa1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2001-08-04 Ulrich Drepper <drepper@redhat.com> + + * libio/genops.c (_IO_unbuffer_write): Force streams in narrow + orientation so that conversion modules aren't used anymore. + * malloc/set-freeres.c: Call _IO_cleanup before running subfreeres + functions to avoid using wide streams afterwards. + + * iconvdata/Makefile: Add rules to build GEORGIAN-PS and + GEORGIAN-ACADEMY. + * iconvdata/georgian-ps.c: New file. + * iconvdata/georgian-academy.c: New file. + * iconvdata/gconv-modules: Add entries for GEORGIAN-PS and + GEORGIAN-ACADEMY. + * iconvdata/tst-tables.sh: Add GEORGIAN-PS and GEORGIAN-ACADEMY. + 2001-08-03 Ulrich Drepper <drepper@redhat.com> * locale/programs/ld-collate (insert_value): If symbol in order diff --git a/iconvdata/Makefile b/iconvdata/Makefile index 53aeb2426c..419ea3c583 100644 --- a/iconvdata/Makefile +++ b/iconvdata/Makefile @@ -47,7 +47,8 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \ ISO_5428 ISO_10367-BOX MAC-IS MAC-UK NATS-DANO NATS-SEFI \ SAMI-WS2 ISO-IR-197 TIS-620 KOI8-U GBK ISIRI-3342 GBGBK \ ISO-2022-CN libISOIR165 UTF-16 UNICODE UTF-32 UTF-7 BIG5HKSCS \ - GB18030 ISO-2022-CN-EXT VISCII GBBIG5 CP10007 KOI8-T + GB18030 ISO-2022-CN-EXT VISCII GBBIG5 CP10007 KOI8-T \ + GEORGIAN-PS GEORGIAN-ACADEMY modules.so := $(addsuffix .so, $(modules)) @@ -138,7 +139,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk \ iso8859-16.c utf-16.c unicode.c utf-32.c utf-7.c big5hkscs.c \ iso-ir-165.c iso-ir-165.h gb18030.c iso-2022-cn-ext.c \ ibm932.c ibm932.h ibm943.c ibm943.h gbbig5.c cp10007.c \ - koi8-t.c + koi8-t.c georgian-ps.c georgian-academy.c # We build the transformation modules only when we build shared libs. ifeq (yes,$(build-shared)) @@ -177,7 +178,8 @@ gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \ inis-cyrillic iso_2033 iso_5427 iso_5427-ext \ iso_5428 iso_10367-box mac-is nats-dano nats-sefi \ iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \ - iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t + iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \ + georgian-ps georgian-academy gen-special-modules := iso8859-7jp diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules index 54692de455..1eacc1b51e 100644 --- a/iconvdata/gconv-modules +++ b/iconvdata/gconv-modules @@ -1434,3 +1434,11 @@ module INTERNAL VISCII// VISCII 1 # from to module cost module KOI8-T// INTERNAL KOI8-T 1 module INTERNAL KOI8-T// KOI8-T 1 + +# from to module cost +module GEORGIAN-PS// INTERNAL GEORGIAN-PS 1 +module INTERNAL GEORGIAN-PS// GEORGIAN-PS 1 + +# from to module cost +module GEORGIAN-ACADEMY// INTERNAL GEORGIAN-ACADEMY 1 +module INTERNAL GEORGIAN-ACADEMY// GEORGIAN-ACADEMY 1 diff --git a/iconvdata/georgian-academy.c b/iconvdata/georgian-academy.c new file mode 100644 index 0000000000..eb0e6364c2 --- /dev/null +++ b/iconvdata/georgian-academy.c @@ -0,0 +1,29 @@ +/* Conversion from and to GEORGIAN-ACADEMY. + Copyright (C) 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <georgian-academy.h> + +#define CHARSET_NAME "GEORGIAN-ACADEMY//" +#define HAS_HOLES 0 /* All 256 character are defined. */ + +#include <8bit-gap.c> diff --git a/iconvdata/georgian-ps.c b/iconvdata/georgian-ps.c new file mode 100644 index 0000000000..355eed3017 --- /dev/null +++ b/iconvdata/georgian-ps.c @@ -0,0 +1,29 @@ +/* Conversion from and to GEORGIAN-PS. + Copyright (C) 2001 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper <drepper@cygnus.com>, 2001. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ + +#include <stdint.h> + +/* Specify the conversion table. */ +#define TABLES <georgian-ps.h> + +#define CHARSET_NAME "GEORGIAN-PS//" +#define HAS_HOLES 0 /* All 256 character are defined. */ + +#include <8bit-gap.c> diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh index f403d17010..fea3914df3 100755 --- a/iconvdata/tst-tables.sh +++ b/iconvdata/tst-tables.sh @@ -183,6 +183,8 @@ cat <<EOF | TIS-620 KOI8-U VISCII + GEORGIAN-PS + GEORGIAN-ACADEMY #ISIRI-3342 This charset concept is completely broken # # Multibyte encodings come here diff --git a/libio/genops.c b/libio/genops.c index ad6c7f7ea4..f68912ceb4 100644 --- a/libio/genops.c +++ b/libio/genops.c @@ -881,12 +881,18 @@ _IO_unbuffer_write () { struct _IO_FILE *fp; for (fp = (_IO_FILE *) _IO_list_all; fp; fp = fp->_chain) - if (! (fp->_flags & _IO_UNBUFFERED) - && (! (fp->_flags & _IO_NO_WRITES) - || (fp->_flags & _IO_IS_APPENDING)) - /* Iff stream is un-orientated, it wasn't used. */ - && fp->_mode != 0) - _IO_SETBUF (fp, NULL, 0); + { + if (! (fp->_flags & _IO_UNBUFFERED) + && (! (fp->_flags & _IO_NO_WRITES) + || (fp->_flags & _IO_IS_APPENDING)) + /* Iff stream is un-orientated, it wasn't used. */ + && fp->_mode != 0) + _IO_SETBUF (fp, NULL, 0); + + /* Make sure that never again the wide char functions can be + used. */ + fp->_mode = -1; + } } int diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index e9e92e2bf4..d19e3bba59 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -939,24 +939,37 @@ insert_value (struct linereader *ldfile, const char *symstr, size_t symlen, { /* It's no character, so look through the collation elements and symbol list. */ - void *result; - - if (find_entry (&collate->sym_table, symstr, symlen, &result) == 0) + if (find_entry (&collate->elem_table, symstr, symlen, + (void **) &elem) != 0) { - /* It's a collation symbol. */ - struct symbol_t *sym = (struct symbol_t *) result; - elem = sym->order; + void *result; + struct symbol_t *sym = NULL; + + /* It's also collation element. Therefore it's either a + collating symbol or it's a character which is not + supported by the character set. In the later case we + simply create a dummy entry. */ + if (find_entry (&collate->sym_table, symstr, symlen, &result) == 0) + { + /* It's a collation symbol. */ + sym = (struct symbol_t *) result; + + elem = sym->order; + } if (elem == NULL) - elem = sym->order = new_element (collate, NULL, 0, NULL, - sym->name, strlen (sym->name), 0); - } - else if (find_entry (&collate->elem_table, symstr, symlen, - (void **) &elem) != 0) - { - /* It's also no collation element. Therefore ignore it. */ - lr_ignore_rest (ldfile, 0); - return 1; + { + elem = new_element (collate, NULL, 0, NULL, symstr, symlen, 0); + + if (sym != NULL) + sym->order = elem; + else + /* Enter a fake element in the sequence table. This + won't cause anything in the output since there is + no multibyte or wide character associated with + it. */ + insert_entry (&collate->seq_table, symstr, symlen, elem); + } } } else diff --git a/localedata/ChangeLog b/localedata/ChangeLog index df3441a7c6..ce1734d0a6 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,9 @@ +2001-08-04 Ulrich Drepper <drepper@redhat.com> + + * charmaps/GEORGIAN-PS: New file. + * charmaps/GEORGIAN-ACADEMY: New file. + * SUPPORTED: Add ka_GE/GEORGIAN-PS. + 2001-08-03 Ulrich Drepper <drepper@redhat.com> * Makefile: Add rules to build and run tst-mbswcs6. diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED index a97b54d57d..296de2ee2a 100644 --- a/localedata/SUPPORTED +++ b/localedata/SUPPORTED @@ -107,6 +107,7 @@ it_IT/ISO-8859-1 \ it_IT@euro/ISO-8859-15 \ iw_IL/ISO-8859-8 \ ja_JP.EUC-JP/EUC-JP \ +ka_GE/GEORGIAN-PS \ kl_GL/ISO-8859-1 \ ko_KR.EUC-KR/EUC-KR \ ko_KR.UTF-8/UTF-8 \ diff --git a/localedata/charmaps/GEORGIAN-ACADEMY b/localedata/charmaps/GEORGIAN-ACADEMY new file mode 100644 index 0000000000..9dc1bc9e78 --- /dev/null +++ b/localedata/charmaps/GEORGIAN-ACADEMY @@ -0,0 +1,267 @@ +<code_set_name> GEORGIAN-ACADEMY +<comment_char> % +<escape_char> / + +CHARMAP +<U0000> /x00 NULL (NUL) +<U0001> /x01 START OF HEADING (SOH) +<U0002> /x02 START OF TEXT (STX) +<U0003> /x03 END OF TEXT (ETX) +<U0004> /x04 END OF TRANSMISSION (EOT) +<U0005> /x05 ENQUIRY (ENQ) +<U0006> /x06 ACKNOWLEDGE (ACK) +<U0007> /x07 BELL (BEL) +<U0008> /x08 BACKSPACE (BS) +<U0009> /x09 CHARACTER TABULATION (HT) +<U000A> /x0a LINE FEED (LF) +<U000B> /x0b LINE TABULATION (VT) +<U000C> /x0c FORM FEED (FF) +<U000D> /x0d CARRIAGE RETURN (CR) +<U000E> /x0e SHIFT OUT (SO) +<U000F> /x0f SHIFT IN (SI) +<U0010> /x10 DATALINK ESCAPE (DLE) +<U0011> /x11 DEVICE CONTROL ONE (DC1) +<U0012> /x12 DEVICE CONTROL TWO (DC2) +<U0013> /x13 DEVICE CONTROL THREE (DC3) +<U0014> /x14 DEVICE CONTROL FOUR (DC4) +<U0015> /x15 NEGATIVE ACKNOWLEDGE (NAK) +<U0016> /x16 SYNCHRONOUS IDLE (SYN) +<U0017> /x17 END OF TRANSMISSION BLOCK (ETB) +<U0018> /x18 CANCEL (CAN) +<U0019> /x19 END OF MEDIUM (EM) +<U001A> /x1a SUBSTITUTE (SUB) +<U001B> /x1b ESCAPE (ESC) +<U001C> /x1c FILE SEPARATOR (IS4) +<U001D> /x1d GROUP SEPARATOR (IS3) +<U001E> /x1e RECORD SEPARATOR (IS2) +<U001F> /x1f UNIT SEPARATOR (IS1) +<U0020> /x20 SPACE +<U0021> /x21 EXCLAMATION MARK +<U0022> /x22 QUOTATION MARK +<U0023> /x23 NUMBER SIGN +<U0024> /x24 DOLLAR SIGN +<U0025> /x25 PERCENT SIGN +<U0026> /x26 AMPERSAND +<U0027> /x27 APOSTROPHE +<U0028> /x28 LEFT PARENTHESIS +<U0029> /x29 RIGHT PARENTHESIS +<U002A> /x2a ASTERISK +<U002B> /x2b PLUS SIGN +<U002C> /x2c COMMA +<U002D> /x2d HYPHEN-MINUS +<U002E> /x2e FULL STOP +<U002F> /x2f SOLIDUS +<U0030> /x30 DIGIT ZERO +<U0031> /x31 DIGIT ONE +<U0032> /x32 DIGIT TWO +<U0033> /x33 DIGIT THREE +<U0034> /x34 DIGIT FOUR +<U0035> /x35 DIGIT FIVE +<U0036> /x36 DIGIT SIX +<U0037> /x37 DIGIT SEVEN +<U0038> /x38 DIGIT EIGHT +<U0039> /x39 DIGIT NINE +<U003A> /x3a COLON +<U003B> /x3b SEMICOLON +<U003C> /x3c LESS-THAN SIGN +<U003D> /x3d EQUALS SIGN +<U003E> /x3e GREATER-THAN SIGN +<U003F> /x3f QUESTION MARK +<U0040> /x40 COMMERCIAL AT +<U0041> /x41 LATIN CAPITAL LETTER A +<U0042> /x42 LATIN CAPITAL LETTER B +<U0043> /x43 LATIN CAPITAL LETTER C +<U0044> /x44 LATIN CAPITAL LETTER D +<U0045> /x45 LATIN CAPITAL LETTER E +<U0046> /x46 LATIN CAPITAL LETTER F +<U0047> /x47 LATIN CAPITAL LETTER G +<U0048> /x48 LATIN CAPITAL LETTER H +<U0049> /x49 LATIN CAPITAL LETTER I +<U004A> /x4a LATIN CAPITAL LETTER J +<U004B> /x4b LATIN CAPITAL LETTER K +<U004C> /x4c LATIN CAPITAL LETTER L +<U004D> /x4d LATIN CAPITAL LETTER M +<U004E> /x4e LATIN CAPITAL LETTER N +<U004F> /x4f LATIN CAPITAL LETTER O +<U0050> /x50 LATIN CAPITAL LETTER P +<U0051> /x51 LATIN CAPITAL LETTER Q +<U0052> /x52 LATIN CAPITAL LETTER R +<U0053> /x53 LATIN CAPITAL LETTER S +<U0054> /x54 LATIN CAPITAL LETTER T +<U0055> /x55 LATIN CAPITAL LETTER U +<U0056> /x56 LATIN CAPITAL LETTER V +<U0057> /x57 LATIN CAPITAL LETTER W +<U0058> /x58 LATIN CAPITAL LETTER X +<U0059> /x59 LATIN CAPITAL LETTER Y +<U005A> /x5a LATIN CAPITAL LETTER Z +<U005B> /x5b LEFT SQUARE BRACKET +<U005C> /x5c REVERSE SOLIDUS +<U005D> /x5d RIGHT SQUARE BRACKET +<U005E> /x5e CIRCUMFLEX ACCENT +<U005F> /x5f LOW LINE +<U0060> /x60 GRAVE ACCENT +<U0061> /x61 LATIN SMALL LETTER A +<U0062> /x62 LATIN SMALL LETTER B +<U0063> /x63 LATIN SMALL LETTER C +<U0064> /x64 LATIN SMALL LETTER D +<U0065> /x65 LATIN SMALL LETTER E +<U0066> /x66 LATIN SMALL LETTER F +<U0067> /x67 LATIN SMALL LETTER G +<U0068> /x68 LATIN SMALL LETTER H +<U0069> /x69 LATIN SMALL LETTER I +<U006A> /x6a LATIN SMALL LETTER J +<U006B> /x6b LATIN SMALL LETTER K +<U006C> /x6c LATIN SMALL LETTER L +<U006D> /x6d LATIN SMALL LETTER M +<U006E> /x6e LATIN SMALL LETTER N +<U006F> /x6f LATIN SMALL LETTER O +<U0070> /x70 LATIN SMALL LETTER P +<U0071> /x71 LATIN SMALL LETTER Q +<U0072> /x72 LATIN SMALL LETTER R +<U0073> /x73 LATIN SMALL LETTER S +<U0074> /x74 LATIN SMALL LETTER T +<U0075> /x75 LATIN SMALL LETTER U +<U0076> /x76 LATIN SMALL LETTER V +<U0077> /x77 LATIN SMALL LETTER W +<U0078> /x78 LATIN SMALL LETTER X +<U0079> /x79 LATIN SMALL LETTER Y +<U007A> /x7a LATIN SMALL LETTER Z +<U007B> /x7b LEFT CURLY BRACKET +<U007C> /x7c VERTICAL LINE +<U007D> /x7d RIGHT CURLY BRACKET +<U007E> /x7e TILDE +<U007F> /x7f DELETE (DEL) +<U0080> /x80 PADDING CHARACTER (PAD) +<U0081> /x81 HIGH OCTET PRESET (HOP) +<U201A> /x82 SINGLE LOW-9 QUOTATION MARK +<U0192> /x83 LATIN SMALL LETTER F WITH HOOK +<U201E> /x84 DOUBLE LOW-9 QUOTATION MARK +<U2026> /x85 HORIZONTAL ELLIPSIS +<U2020> /x86 DAGGER +<U2021> /x87 DOUBLE DAGGER +<U02C6> /x88 MODIFIER LETTER CIRCUMFLEX ACCENT +<U2030> /x89 PER MILLE SIGN +<U0160> /x8a LATIN CAPITAL LETTER S WITH CARON +<U2039> /x8b SINGLE LEFT-POINTING ANGLE QUOTATION MARK +<U0152> /x8c LATIN CAPITAL LIGATURE OE +<U008D> /x8d REVERSE LINE FEED (RI) +<U008E> /x8e SINGLE-SHIFT TWO (SS2) +<U008F> /x8f SINGLE-SHIFT THREE (SS3) +<U0090> /x90 DEVICE CONTROL STRING (DCS) +<U2018> /x91 LEFT SINGLE QUOTATION MARK +<U2019> /x92 RIGHT SINGLE QUOTATION MARK +<U201C> /x93 LEFT DOUBLE QUOTATION MARK +<U201D> /x94 RIGHT DOUBLE QUOTATION MARK +<U2022> /x95 BULLET +<U2013> /x96 EN DASH +<U2014> /x97 EM DASH +<U02DC> /x98 SMALL TILDE +<U2122> /x99 TRADE MARK SIGN +<U0161> /x9a LATIN SMALL LETTER S WITH CARON +<U203A> /x9b SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +<U0153> /x9c LATIN SMALL LIGATURE OE +<U009D> /x9d OPERATING SYSTEM COMMAND (OSC) +<U009E> /x9e PRIVACY MESSAGE (PM) +<U0178> /x9f LATIN CAPITAL LETTER Y WITH DIAERESIS +<U00A0> /xa0 NO-BREAK SPACE +<U00A1> /xa1 INVERTED EXCLAMATION MARK +<U00A2> /xa2 CENT SIGN +<U00A3> /xa3 POUND SIGN +<U00A4> /xa4 CURRENCY SIGN +<U00A5> /xa5 YEN SIGN +<U00A6> /xa6 BROKEN BAR +<U00A7> /xa7 SECTION SIGN +<U00A8> /xa8 DIAERESIS +<U00A9> /xa9 COPYRIGHT SIGN +<U00AA> /xaa FEMININE ORDINAL INDICATOR +<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +<U00AC> /xac NOT SIGN +<U00AD> /xad SOFT HYPHEN +<U00AE> /xae REGISTERED SIGN +<U00AF> /xaf MACRON +<U00B0> /xb0 DEGREE SIGN +<U00B1> /xb1 PLUS-MINUS SIGN +<U00B2> /xb2 SUPERSCRIPT TWO +<U00B3> /xb3 SUPERSCRIPT THREE +<U00B4> /xb4 ACUTE ACCENT +<U00B5> /xb5 MICRO SIGN +<U00B6> /xb6 PILCROW SIGN +<U00B7> /xb7 MIDDLE DOT +<U00B8> /xb8 CEDILLA +<U00B9> /xb9 SUPERSCRIPT ONE +<U00BA> /xba MASCULINE ORDINAL INDICATOR +<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +<U00BC> /xbc VULGAR FRACTION ONE QUARTER +<U00BD> /xbd VULGAR FRACTION ONE HALF +<U00BE> /xbe VULGAR FRACTION THREE QUARTERS +<U00BF> /xbf INVERTED QUESTION MARK +<U10D0> /xc0 GEORGIAN LETTER AN +<U10D1> /xc1 GEORGIAN LETTER BAN +<U10D2> /xc2 GEORGIAN LETTER GAN +<U10D3> /xc3 GEORGIAN LETTER DON +<U10D4> /xc4 GEORGIAN LETTER EN +<U10D5> /xc5 GEORGIAN LETTER VIN +<U10D6> /xc6 GEORGIAN LETTER ZEN +<U10D7> /xc7 GEORGIAN LETTER TAN +<U10D8> /xc8 GEORGIAN LETTER IN +<U10D9> /xc9 GEORGIAN LETTER KAN +<U10DA> /xca GEORGIAN LETTER LAS +<U10DB> /xcb GEORGIAN LETTER MAN +<U10DC> /xcc GEORGIAN LETTER NAR +<U10DD> /xcd GEORGIAN LETTER ON +<U10DE> /xce GEORGIAN LETTER PAR +<U10DF> /xcf GEORGIAN LETTER ZHAR +<U10E0> /xd0 GEORGIAN LETTER RAE +<U10E1> /xd1 GEORGIAN LETTER SAN +<U10E2> /xd2 GEORGIAN LETTER TAR +<U10E3> /xd3 GEORGIAN LETTER UN +<U10E4> /xd4 GEORGIAN LETTER PHAR +<U10E5> /xd5 GEORGIAN LETTER KHAR +<U10E6> /xd6 GEORGIAN LETTER GHAN +<U10E7> /xd7 GEORGIAN LETTER QAR +<U10E8> /xd8 GEORGIAN LETTER SHIN +<U10E9> /xd9 GEORGIAN LETTER CHIN +<U10EA> /xda GEORGIAN LETTER CAN +<U10EB> /xdb GEORGIAN LETTER JIL +<U10EC> /xdc GEORGIAN LETTER CIL +<U10ED> /xdd GEORGIAN LETTER CHAR +<U10EE> /xde GEORGIAN LETTER XAN +<U10EF> /xdf GEORGIAN LETTER JHAN +<U10F0> /xe0 GEORGIAN LETTER HAE +<U10F1> /xe1 GEORGIAN LETTER HE +<U10F2> /xe2 GEORGIAN LETTER HIE +<U10F3> /xe3 GEORGIAN LETTER WE +<U10F4> /xe4 GEORGIAN LETTER HAR +<U10F5> /xe5 GEORGIAN LETTER HOE +<U10F6> /xe6 GEORGIAN LETTER FI +<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA +<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE +<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE +<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX +<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS +<U00EC> /xec LATIN SMALL LETTER I WITH GRAVE +<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE +<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX +<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS +<U00F0> /xf0 LATIN SMALL LETTER ETH (Icelandic) +<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE +<U00F2> /xf2 LATIN SMALL LETTER O WITH GRAVE +<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE +<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX +<U00F5> /xf5 LATIN SMALL LETTER O WITH TILDE +<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS +<U00F7> /xf7 DIVISION SIGN +<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE +<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE +<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE +<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX +<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS +<U00FD> /xfd LATIN SMALL LETTER Y WITH ACUTE +<U00FE> /xfe LATIN SMALL LETTER THORN (Icelandic) +<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS +END CHARMAP + +WIDTH +<U0020>...<U007E> 1 +<U0080>...<U00FF> 1 +END WIDTH diff --git a/localedata/charmaps/GEORGIAN-PS b/localedata/charmaps/GEORGIAN-PS new file mode 100644 index 0000000000..64615ff434 --- /dev/null +++ b/localedata/charmaps/GEORGIAN-PS @@ -0,0 +1,267 @@ +<code_set_name> GEORGIAN-PS +<comment_char> % +<escape_char> / + +CHARMAP +<U0000> /x00 NULL (NUL) +<U0001> /x01 START OF HEADING (SOH) +<U0002> /x02 START OF TEXT (STX) +<U0003> /x03 END OF TEXT (ETX) +<U0004> /x04 END OF TRANSMISSION (EOT) +<U0005> /x05 ENQUIRY (ENQ) +<U0006> /x06 ACKNOWLEDGE (ACK) +<U0007> /x07 BELL (BEL) +<U0008> /x08 BACKSPACE (BS) +<U0009> /x09 CHARACTER TABULATION (HT) +<U000A> /x0a LINE FEED (LF) +<U000B> /x0b LINE TABULATION (VT) +<U000C> /x0c FORM FEED (FF) +<U000D> /x0d CARRIAGE RETURN (CR) +<U000E> /x0e SHIFT OUT (SO) +<U000F> /x0f SHIFT IN (SI) +<U0010> /x10 DATALINK ESCAPE (DLE) +<U0011> /x11 DEVICE CONTROL ONE (DC1) +<U0012> /x12 DEVICE CONTROL TWO (DC2) +<U0013> /x13 DEVICE CONTROL THREE (DC3) +<U0014> /x14 DEVICE CONTROL FOUR (DC4) +<U0015> /x15 NEGATIVE ACKNOWLEDGE (NAK) +<U0016> /x16 SYNCHRONOUS IDLE (SYN) +<U0017> /x17 END OF TRANSMISSION BLOCK (ETB) +<U0018> /x18 CANCEL (CAN) +<U0019> /x19 END OF MEDIUM (EM) +<U001A> /x1a SUBSTITUTE (SUB) +<U001B> /x1b ESCAPE (ESC) +<U001C> /x1c FILE SEPARATOR (IS4) +<U001D> /x1d GROUP SEPARATOR (IS3) +<U001E> /x1e RECORD SEPARATOR (IS2) +<U001F> /x1f UNIT SEPARATOR (IS1) +<U0020> /x20 SPACE +<U0021> /x21 EXCLAMATION MARK +<U0022> /x22 QUOTATION MARK +<U0023> /x23 NUMBER SIGN +<U0024> /x24 DOLLAR SIGN +<U0025> /x25 PERCENT SIGN +<U0026> /x26 AMPERSAND +<U0027> /x27 APOSTROPHE +<U0028> /x28 LEFT PARENTHESIS +<U0029> /x29 RIGHT PARENTHESIS +<U002A> /x2a ASTERISK +<U002B> /x2b PLUS SIGN +<U002C> /x2c COMMA +<U002D> /x2d HYPHEN-MINUS +<U002E> /x2e FULL STOP +<U002F> /x2f SOLIDUS +<U0030> /x30 DIGIT ZERO +<U0031> /x31 DIGIT ONE +<U0032> /x32 DIGIT TWO +<U0033> /x33 DIGIT THREE +<U0034> /x34 DIGIT FOUR +<U0035> /x35 DIGIT FIVE +<U0036> /x36 DIGIT SIX +<U0037> /x37 DIGIT SEVEN +<U0038> /x38 DIGIT EIGHT +<U0039> /x39 DIGIT NINE +<U003A> /x3a COLON +<U003B> /x3b SEMICOLON +<U003C> /x3c LESS-THAN SIGN +<U003D> /x3d EQUALS SIGN +<U003E> /x3e GREATER-THAN SIGN +<U003F> /x3f QUESTION MARK +<U0040> /x40 COMMERCIAL AT +<U0041> /x41 LATIN CAPITAL LETTER A +<U0042> /x42 LATIN CAPITAL LETTER B +<U0043> /x43 LATIN CAPITAL LETTER C +<U0044> /x44 LATIN CAPITAL LETTER D +<U0045> /x45 LATIN CAPITAL LETTER E +<U0046> /x46 LATIN CAPITAL LETTER F +<U0047> /x47 LATIN CAPITAL LETTER G +<U0048> /x48 LATIN CAPITAL LETTER H +<U0049> /x49 LATIN CAPITAL LETTER I +<U004A> /x4a LATIN CAPITAL LETTER J +<U004B> /x4b LATIN CAPITAL LETTER K +<U004C> /x4c LATIN CAPITAL LETTER L +<U004D> /x4d LATIN CAPITAL LETTER M +<U004E> /x4e LATIN CAPITAL LETTER N +<U004F> /x4f LATIN CAPITAL LETTER O +<U0050> /x50 LATIN CAPITAL LETTER P +<U0051> /x51 LATIN CAPITAL LETTER Q +<U0052> /x52 LATIN CAPITAL LETTER R +<U0053> /x53 LATIN CAPITAL LETTER S +<U0054> /x54 LATIN CAPITAL LETTER T +<U0055> /x55 LATIN CAPITAL LETTER U +<U0056> /x56 LATIN CAPITAL LETTER V +<U0057> /x57 LATIN CAPITAL LETTER W +<U0058> /x58 LATIN CAPITAL LETTER X +<U0059> /x59 LATIN CAPITAL LETTER Y +<U005A> /x5a LATIN CAPITAL LETTER Z +<U005B> /x5b LEFT SQUARE BRACKET +<U005C> /x5c REVERSE SOLIDUS +<U005D> /x5d RIGHT SQUARE BRACKET +<U005E> /x5e CIRCUMFLEX ACCENT +<U005F> /x5f LOW LINE +<U0060> /x60 GRAVE ACCENT +<U0061> /x61 LATIN SMALL LETTER A +<U0062> /x62 LATIN SMALL LETTER B +<U0063> /x63 LATIN SMALL LETTER C +<U0064> /x64 LATIN SMALL LETTER D +<U0065> /x65 LATIN SMALL LETTER E +<U0066> /x66 LATIN SMALL LETTER F +<U0067> /x67 LATIN SMALL LETTER G +<U0068> /x68 LATIN SMALL LETTER H +<U0069> /x69 LATIN SMALL LETTER I +<U006A> /x6a LATIN SMALL LETTER J +<U006B> /x6b LATIN SMALL LETTER K +<U006C> /x6c LATIN SMALL LETTER L +<U006D> /x6d LATIN SMALL LETTER M +<U006E> /x6e LATIN SMALL LETTER N +<U006F> /x6f LATIN SMALL LETTER O +<U0070> /x70 LATIN SMALL LETTER P +<U0071> /x71 LATIN SMALL LETTER Q +<U0072> /x72 LATIN SMALL LETTER R +<U0073> /x73 LATIN SMALL LETTER S +<U0074> /x74 LATIN SMALL LETTER T +<U0075> /x75 LATIN SMALL LETTER U +<U0076> /x76 LATIN SMALL LETTER V +<U0077> /x77 LATIN SMALL LETTER W +<U0078> /x78 LATIN SMALL LETTER X +<U0079> /x79 LATIN SMALL LETTER Y +<U007A> /x7a LATIN SMALL LETTER Z +<U007B> /x7b LEFT CURLY BRACKET +<U007C> /x7c VERTICAL LINE +<U007D> /x7d RIGHT CURLY BRACKET +<U007E> /x7e TILDE +<U007F> /x7f DELETE (DEL) +<U0080> /x80 PADDING CHARACTER (PAD) +<U0081> /x81 HIGH OCTET PRESET (HOP) +<U201A> /x82 SINGLE LOW-9 QUOTATION MARK +<U0192> /x83 LATIN SMALL LETTER F WITH HOOK +<U201E> /x84 DOUBLE LOW-9 QUOTATION MARK +<U2026> /x85 HORIZONTAL ELLIPSIS +<U2020> /x86 DAGGER +<U2021> /x87 DOUBLE DAGGER +<U02C6> /x88 MODIFIER LETTER CIRCUMFLEX ACCENT +<U2030> /x89 PER MILLE SIGN +<U0160> /x8a LATIN CAPITAL LETTER S WITH CARON +<U2039> /x8b SINGLE LEFT-POINTING ANGLE QUOTATION MARK +<U0152> /x8c LATIN CAPITAL LIGATURE OE +<U008D> /x8d REVERSE LINE FEED (RI) +<U008E> /x8e SINGLE-SHIFT TWO (SS2) +<U008F> /x8f SINGLE-SHIFT THREE (SS3) +<U0090> /x90 DEVICE CONTROL STRING (DCS) +<U2018> /x91 LEFT SINGLE QUOTATION MARK +<U2019> /x92 RIGHT SINGLE QUOTATION MARK +<U201C> /x93 LEFT DOUBLE QUOTATION MARK +<U201D> /x94 RIGHT DOUBLE QUOTATION MARK +<U2022> /x95 BULLET +<U2013> /x96 EN DASH +<U2014> /x97 EM DASH +<U02DC> /x98 SMALL TILDE +<U2122> /x99 TRADE MARK SIGN +<U0161> /x9a LATIN SMALL LETTER S WITH CARON +<U203A> /x9b SINGLE RIGHT-POINTING ANGLE QUOTATION MARK +<U0153> /x9c LATIN SMALL LIGATURE OE +<U009D> /x9d OPERATING SYSTEM COMMAND (OSC) +<U009E> /x9e PRIVACY MESSAGE (PM) +<U0178> /x9f LATIN CAPITAL LETTER Y WITH DIAERESIS +<U00A0> /xa0 NO-BREAK SPACE +<U00A1> /xa1 INVERTED EXCLAMATION MARK +<U00A2> /xa2 CENT SIGN +<U00A3> /xa3 POUND SIGN +<U00A4> /xa4 CURRENCY SIGN +<U00A5> /xa5 YEN SIGN +<U00A6> /xa6 BROKEN BAR +<U00A7> /xa7 SECTION SIGN +<U00A8> /xa8 DIAERESIS +<U00A9> /xa9 COPYRIGHT SIGN +<U00AA> /xaa FEMININE ORDINAL INDICATOR +<U00AB> /xab LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +<U00AC> /xac NOT SIGN +<U00AD> /xad SOFT HYPHEN +<U00AE> /xae REGISTERED SIGN +<U00AF> /xaf MACRON +<U00B0> /xb0 DEGREE SIGN +<U00B1> /xb1 PLUS-MINUS SIGN +<U00B2> /xb2 SUPERSCRIPT TWO +<U00B3> /xb3 SUPERSCRIPT THREE +<U00B4> /xb4 ACUTE ACCENT +<U00B5> /xb5 MICRO SIGN +<U00B6> /xb6 PILCROW SIGN +<U00B7> /xb7 MIDDLE DOT +<U00B8> /xb8 CEDILLA +<U00B9> /xb9 SUPERSCRIPT ONE +<U00BA> /xba MASCULINE ORDINAL INDICATOR +<U00BB> /xbb RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +<U00BC> /xbc VULGAR FRACTION ONE QUARTER +<U00BD> /xbd VULGAR FRACTION ONE HALF +<U00BE> /xbe VULGAR FRACTION THREE QUARTERS +<U00BF> /xbf INVERTED QUESTION MARK +<U10D0> /xc0 GEORGIAN LETTER AN +<U10D1> /xc1 GEORGIAN LETTER BAN +<U10D2> /xc2 GEORGIAN LETTER GAN +<U10D3> /xc3 GEORGIAN LETTER DON +<U10D4> /xc4 GEORGIAN LETTER EN +<U10D5> /xc5 GEORGIAN LETTER VIN +<U10D6> /xc6 GEORGIAN LETTER ZEN +<U10F1> /xc7 GEORGIAN LETTER HE +<U10D7> /xc8 GEORGIAN LETTER TAN +<U10D8> /xc9 GEORGIAN LETTER IN +<U10D9> /xca GEORGIAN LETTER KAN +<U10DA> /xcb GEORGIAN LETTER LAS +<U10DB> /xcc GEORGIAN LETTER MAN +<U10DC> /xcd GEORGIAN LETTER NAR +<U10F2> /xce GEORGIAN LETTER HIE +<U10DD> /xcf GEORGIAN LETTER ON +<U10DE> /xd0 GEORGIAN LETTER PAR +<U10DF> /xd1 GEORGIAN LETTER ZHAR +<U10E0> /xd2 GEORGIAN LETTER RAE +<U10E1> /xd3 GEORGIAN LETTER SAN +<U10E2> /xd4 GEORGIAN LETTER TAR +<U10F3> /xd5 GEORGIAN LETTER WE +<U10E3> /xd6 GEORGIAN LETTER UN +<U10E4> /xd7 GEORGIAN LETTER PHAR +<U10E5> /xd8 GEORGIAN LETTER KHAR +<U10E6> /xd9 GEORGIAN LETTER GHAN +<U10E7> /xda GEORGIAN LETTER QAR +<U10E8> /xdb GEORGIAN LETTER SHIN +<U10E9> /xdc GEORGIAN LETTER CHIN +<U10EA> /xdd GEORGIAN LETTER CAN +<U10EB> /xde GEORGIAN LETTER JIL +<U10EC> /xdf GEORGIAN LETTER CIL +<U10ED> /xe0 GEORGIAN LETTER CHAR +<U10EE> /xe1 GEORGIAN LETTER XAN +<U10F4> /xe2 GEORGIAN LETTER HAR +<U10EF> /xe3 GEORGIAN LETTER JHAN +<U10F0> /xe4 GEORGIAN LETTER HAE +<U10F5> /xe5 GEORGIAN LETTER HOE +<U00E6> /xe6 LATIN SMALL LETTER AE +<U00E7> /xe7 LATIN SMALL LETTER C WITH CEDILLA +<U00E8> /xe8 LATIN SMALL LETTER E WITH GRAVE +<U00E9> /xe9 LATIN SMALL LETTER E WITH ACUTE +<U00EA> /xea LATIN SMALL LETTER E WITH CIRCUMFLEX +<U00EB> /xeb LATIN SMALL LETTER E WITH DIAERESIS +<U00EC> /xec LATIN SMALL LETTER I WITH GRAVE +<U00ED> /xed LATIN SMALL LETTER I WITH ACUTE +<U00EE> /xee LATIN SMALL LETTER I WITH CIRCUMFLEX +<U00EF> /xef LATIN SMALL LETTER I WITH DIAERESIS +<U00F0> /xf0 LATIN SMALL LETTER ETH (Icelandic) +<U00F1> /xf1 LATIN SMALL LETTER N WITH TILDE +<U00F2> /xf2 LATIN SMALL LETTER O WITH GRAVE +<U00F3> /xf3 LATIN SMALL LETTER O WITH ACUTE +<U00F4> /xf4 LATIN SMALL LETTER O WITH CIRCUMFLEX +<U00F5> /xf5 LATIN SMALL LETTER O WITH TILDE +<U00F6> /xf6 LATIN SMALL LETTER O WITH DIAERESIS +<U00F7> /xf7 DIVISION SIGN +<U00F8> /xf8 LATIN SMALL LETTER O WITH STROKE +<U00F9> /xf9 LATIN SMALL LETTER U WITH GRAVE +<U00FA> /xfa LATIN SMALL LETTER U WITH ACUTE +<U00FB> /xfb LATIN SMALL LETTER U WITH CIRCUMFLEX +<U00FC> /xfc LATIN SMALL LETTER U WITH DIAERESIS +<U00FD> /xfd LATIN SMALL LETTER Y WITH ACUTE +<U00FE> /xfe LATIN SMALL LETTER THORN (Icelandic) +<U00FF> /xff LATIN SMALL LETTER Y WITH DIAERESIS +END CHARMAP + +WIDTH +<U0020>...<U007E> 1 +<U0080>...<U00FF> 1 +END WIDTH diff --git a/localedata/locales/ka_GE b/localedata/locales/ka_GE index 7bccccab63..7f49e02310 100644 --- a/localedata/locales/ka_GE +++ b/localedata/locales/ka_GE @@ -158,3 +158,8 @@ tel_int_fmt "<U002B><U0025><U0063><U0020><U0025><U0061><U0020><U0025><U006C>" int_select "8~10" int_prefix "995" END LC_TELEPHONE + +LC_NAME +% FIXME +copy "en_DK" +END LC_NAME diff --git a/malloc/set-freeres.c b/malloc/set-freeres.c index 1724070704..d836d0c1bf 100644 --- a/malloc/set-freeres.c +++ b/malloc/set-freeres.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -21,6 +21,10 @@ #include <set-hooks.h> #include <libc-internal.h> +#ifdef USE_IN_LIBIO +# include "../libio/libioP.h" +#endif + DEFINE_HOOK (__libc_subfreeres, (void)); void @@ -31,5 +35,11 @@ __libc_freeres (void) static long int already_called; if (compare_and_swap (&already_called, 0, 1)) - RUN_HOOK (__libc_subfreeres, ()); + { +#ifdef USE_IN_LIBIO + _IO_cleanup (); +#endif + + RUN_HOOK (__libc_subfreeres, ()); + } } |