[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r4452 - in /fsf/trunk/libc: ./ iconvdata/ inet/ localedata/ localedata/charmaps/ nptl/ nptl/sysdeps/pthread/ stdio-common/ s...
- To: commits@xxxxxxxxxx
- Subject: [commits] r4452 - in /fsf/trunk/libc: ./ iconvdata/ inet/ localedata/ localedata/charmaps/ nptl/ nptl/sysdeps/pthread/ stdio-common/ s...
- From: eglibc@xxxxxxxxxx
- Date: Sat, 08 Dec 2007 08:04:07 -0000
Author: eglibc
Date: Sat Dec 8 00:04:06 2007
New Revision: 4452
Log:
Import glibc-mainline for 2007-12-08
Added:
fsf/trunk/libc/iconvdata/hp-roman9.c
fsf/trunk/libc/inet/tst-ether_line.c
fsf/trunk/libc/localedata/charmaps/HP-ROMAN9
fsf/trunk/libc/stdio-common/bug21.c
Modified:
fsf/trunk/libc/ChangeLog
fsf/trunk/libc/iconvdata/Makefile
fsf/trunk/libc/iconvdata/hp-roman8.c
fsf/trunk/libc/iconvdata/tst-tables.sh
fsf/trunk/libc/inet/Makefile
fsf/trunk/libc/inet/ether_line.c
fsf/trunk/libc/localedata/ChangeLog
fsf/trunk/libc/nptl/ChangeLog
fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
fsf/trunk/libc/stdio-common/Makefile
fsf/trunk/libc/stdio-common/vfscanf.c
fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h
Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Sat Dec 8 00:04:06 2007
@@ -1,3 +1,32 @@
+2007-12-07 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #5427]
+ * iconvdata/hp-roman9.c: New file.
+ * iconvdata/Makefile: Add rules for hp-roman9.c.
+ * iconvdata/tst-tables.sh: Add HP-ROMAN9.
+
+ * iconvdata/hp-roman8.c: Use 8bit-gap instead of 8bit-generic.
+ * iconvdata/Makefile: Adjust appropriately.
+
+ [BZ #5441]
+ * stdio-common/vfscanf.c (_IO_vfwscanf): Don't free ptrs_to_free
+ structure, it's allocated with alloca.
+ * stdio-common/Makefile (tests): Add bug21.
+ * stdio-common/bug21.c: New file.
+
+2007-12-06 Aurelien Jarno <aurelien@xxxxxxxxxxx>
+
+ [BZ #5452]
+ * sysdeps/unix/sysv/linux/bits/sched.h: Use __extension__
+ keyword for gcc's braced-groups.
+
+2007-12-07 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #5454]
+ * inet/ether_line.c: Strip hostname of whitespaces.
+ * inet/Makefile (tests): Add tst-ether_line.
+ * inet/tst-ether_line.c: New file.
+
2007-12-03 Ulrich Drepper <drepper@xxxxxxxxxx>
[BZ #5439]
Modified: fsf/trunk/libc/iconvdata/Makefile
==============================================================================
--- fsf/trunk/libc/iconvdata/Makefile (original)
+++ fsf/trunk/libc/iconvdata/Makefile Sat Dec 8 00:04:06 2007
@@ -25,7 +25,7 @@
modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
ISO8859-6 ISO8859-7 ISO8859-8 ISO8859-9 ISO8859-10 \
ISO8859-11 ISO8859-13 ISO8859-14 ISO8859-15 ISO8859-16 \
- T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 EBCDIC-AT-DE \
+ T.61 ISO_6937 SJIS KOI-8 HP-ROMAN8 HP-ROMAN9 EBCDIC-AT-DE \
EBCDIC-AT-DE-A EBCDIC-CA-FR EUC-KR UHC JOHAB libJIS libKSC \
BIG5 EUC-JP libGB EUC-CN libCNS EUC-TW ISO646 EBCDIC-DK-NO \
EBCDIC-DK-NO-A EBCDIC-ES EBCDIC-ES-A EBCDIC-ES-S EBCDIC-FI-SE \
@@ -198,7 +198,7 @@
ibm12712.c ibm12712.h ibm16804.c ibm16804.h \
ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \
ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c \
- brf.c mac-centraleurope.c
+ brf.c mac-centraleurope.c hp-roman9.c
# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))
@@ -217,7 +217,7 @@
# We can build the conversion tables for numerous charsets automatically.
gen-8bit-modules := iso8859-2 iso8859-3 iso8859-4 iso8859-6 iso8859-9 koi-8 \
- hp-roman8 ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr \
+ ebcdic-at-de ebcdic-at-de-a ebcdic-ca-fr \
ebcdic-dk-no ebcdic-dk-no-a ebcdic-es ebcdic-es-a \
ebcdic-es-s ebcdic-fi-se ebcdic-fi-se-a ebcdic-fr \
ebcdic-is-friss ebcdic-it ebcdic-pt ebcdic-uk ebcdic-us \
@@ -241,7 +241,7 @@
iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \
georgian-ps georgian-academy iso-ir-209 mac-sami \
iso8859-11 ibm866nav pt154 rk1048 mik brf \
- mac-centraleurope koi8-ru
+ mac-centraleurope koi8-ru hp-roman8 hp-roman9
gen-special-modules := iso8859-7jp
Modified: fsf/trunk/libc/iconvdata/hp-roman8.c
==============================================================================
--- fsf/trunk/libc/iconvdata/hp-roman8.c (original)
+++ fsf/trunk/libc/iconvdata/hp-roman8.c Sat Dec 8 00:04:06 2007
@@ -1,5 +1,5 @@
/* Conversion from and to HP-ROMAN8.
- Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+ Copyright (C) 1997, 1998, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 1997.
@@ -20,10 +20,10 @@
#include <stdint.h>
-/* Get the conversion table. */
-#include <hp-roman8.h>
+/* Specify the conversion table. */
+#define TABLES <hp-roman8.h>
#define CHARSET_NAME "HP-ROMAN8//"
#define HAS_HOLES 1 /* Not all 256 character are defined. */
-#include <8bit-generic.c>
+#include <8bit-gap.c>
Added: fsf/trunk/libc/iconvdata/hp-roman9.c
==============================================================================
--- fsf/trunk/libc/iconvdata/hp-roman9.c (added)
+++ fsf/trunk/libc/iconvdata/hp-roman9.c Sat Dec 8 00:04:06 2007
@@ -1,0 +1,29 @@
+/* Conversion from and to HP-ROMAN9.
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@xxxxxxxxxx>, 2007.
+
+ 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 <hp-roman9.h>
+
+#define CHARSET_NAME "HP-ROMAN9//"
+#define HAS_HOLES 1 /* Not all 256 character are defined. */
+
+#include <8bit-gap.c>
Modified: fsf/trunk/libc/iconvdata/tst-tables.sh
==============================================================================
--- fsf/trunk/libc/iconvdata/tst-tables.sh (original)
+++ fsf/trunk/libc/iconvdata/tst-tables.sh Sat Dec 8 00:04:06 2007
@@ -80,6 +80,7 @@
LATIN-GREEK
LATIN-GREEK-1
HP-ROMAN8
+ HP-ROMAN9
EBCDIC-AT-DE
EBCDIC-AT-DE-A
EBCDIC-CA-FR
Modified: fsf/trunk/libc/inet/Makefile
==============================================================================
--- fsf/trunk/libc/inet/Makefile (original)
+++ fsf/trunk/libc/inet/Makefile Sat Dec 8 00:04:06 2007
@@ -52,7 +52,7 @@
aux := check_pf check_native ifreq
tests := htontest test_ifindex tst-ntoa tst-ether_aton tst-network \
- tst-gethnm test-ifaddrs bug-if1 test-inet6_opt
+ tst-gethnm test-ifaddrs bug-if1 test-inet6_opt tst-ether_line
include ../Rules
Modified: fsf/trunk/libc/inet/ether_line.c
==============================================================================
--- fsf/trunk/libc/inet/ether_line.c (original)
+++ fsf/trunk/libc/inet/ether_line.c Sat Dec 8 00:04:06 2007
@@ -61,19 +61,20 @@
++line;
}
- /* Remove trailing white space. */
- cp = __strchrnul (line, '#');
- while (cp > line && isspace (cp[-1]))
- --cp;
+ /* Skip initial whitespace. */
+ while (isspace (*line))
+ ++line;
- if (cp == line)
+ if (*line == '#' || *line == '\0')
/* No hostname. */
return -1;
+ /* The hostname is up to the next non-space character. */
/* XXX This can cause trouble because the hostname might be too long
but we have no possibility to check it here. */
- memcpy (hostname, line, cp - line);
- hostname [cp - line] = '\0';
+ while (*line != '\0' && *line != '#' && !isspace (*line))
+ *hostname++ = *line++;
+ *hostname = '\0';
return 0;
}
Added: fsf/trunk/libc/inet/tst-ether_line.c
==============================================================================
--- fsf/trunk/libc/inet/tst-ether_line.c (added)
+++ fsf/trunk/libc/inet/tst-ether_line.c Sat Dec 8 00:04:06 2007
@@ -1,0 +1,38 @@
+#include <stdio.h>
+#include <string.h>
+#include <netinet/ether.h>
+
+
+static int
+do_test (void)
+{
+ struct ether_addr a;
+ char buf[1000];
+ if (ether_line ("00:01:02:03:04:05 aaaaa \n", &a, buf) != 0)
+ {
+ puts ("ether_line failed");
+ return 1;
+ }
+
+ int res = 0;
+ int i;
+ for (i = 0; i < ETH_ALEN; ++i)
+ {
+ printf ("%02x%s",
+ (int) a.ether_addr_octet[i], i + 1 == ETH_ALEN ? "" : ":");
+ if (a.ether_addr_octet[i] != i)
+ {
+ printf ("octet %d is %d, expected %d\n",
+ i, (int) a.ether_addr_octet[i], i);
+ res = 1;
+ }
+ }
+
+ printf (" \"%s\"\n", buf);
+ res |= strcmp (buf, "aaaaa") != 0;
+
+ return res;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
Modified: fsf/trunk/libc/localedata/ChangeLog
==============================================================================
--- fsf/trunk/libc/localedata/ChangeLog (original)
+++ fsf/trunk/libc/localedata/ChangeLog Sat Dec 8 00:04:06 2007
@@ -1,3 +1,8 @@
+2007-12-07 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #5427]
+ * charmaps/HP-ROMAN9: New file.
+
2007-12-04 Ulrich Drepper <drepper@xxxxxxxxxx>
* locales/si_LK (mon): Fix February and November spelling.
Added: fsf/trunk/libc/localedata/charmaps/HP-ROMAN9
==============================================================================
--- fsf/trunk/libc/localedata/charmaps/HP-ROMAN9 (added)
+++ fsf/trunk/libc/localedata/charmaps/HP-ROMAN9 Sat Dec 8 00:04:06 2007
@@ -1,0 +1,263 @@
+<code_set_name> HP-ROMAN9
+<comment_char> %
+<escape_char> /
+
+% alias ROMAN9
+% alias R9
+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)
+<U0082> /x82 BREAK PERMITTED HERE (BPH)
+<U0083> /x83 NO BREAK HERE (NBH)
+<U0084> /x84 INDEX (IND)
+<U0085> /x85 NEXT LINE (NEL)
+<U0086> /x86 START OF SELECTED AREA (SSA)
+<U0087> /x87 END OF SELECTED AREA (ESA)
+<U0088> /x88 CHARACTER TABULATION SET (HTS)
+<U0089> /x89 CHARACTER TABULATION WITH JUSTIFICATION (HTJ)
+<U008A> /x8a LINE TABULATION SET (VTS)
+<U008B> /x8b PARTIAL LINE FORWARD (PLD)
+<U008C> /x8c PARTIAL LINE BACKWARD (PLU)
+<U008D> /x8d REVERSE LINE FEED (RI)
+<U008E> /x8e SINGLE-SHIFT TWO (SS2)
+<U008F> /x8f SINGLE-SHIFT THREE (SS3)
+<U0090> /x90 DEVICE CONTROL STRING (DCS)
+<U0091> /x91 PRIVATE USE ONE (PU1)
+<U0092> /x92 PRIVATE USE TWO (PU2)
+<U0093> /x93 SET TRANSMIT STATE (STS)
+<U0094> /x94 CANCEL CHARACTER (CCH)
+<U0095> /x95 MESSAGE WAITING (MW)
+<U0096> /x96 START OF GUARDED AREA (SPA)
+<U0097> /x97 END OF GUARDED AREA (EPA)
+<U0098> /x98 START OF STRING (SOS)
+<U0099> /x99 SINGLE GRAPHIC CHARACTER INTRODUCER (SGCI)
+<U009A> /x9a SINGLE CHARACTER INTRODUCER (SCI)
+<U009B> /x9b CONTROL SEQUENCE INTRODUCER (CSI)
+<U009C> /x9c STRING TERMINATOR (ST)
+<U009D> /x9d OPERATING SYSTEM COMMAND (OSC)
+<U009E> /x9e PRIVACY MESSAGE (PM)
+<U009F> /x9f APPLICATION PROGRAM COMMAND (APC)
+<U00A0> /xa0 NO-BREAK SPACE
+<U00C0> /xa1 LATIN CAPITAL LETTER A WITH GRAVE
+<U00C2> /xa2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+<U00C8> /xa3 LATIN CAPITAL LETTER E WITH GRAVE
+<U00CA> /xa4 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+<U00CB> /xa5 LATIN CAPITAL LETTER E WITH DIAERESIS
+<U00CE> /xa6 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+<U00CF> /xa7 LATIN CAPITAL LETTER I WITH DIAERESIS
+<U00B4> /xa8 ACUTE ACCENT
+<U02CB> /xa9 MODIFIER LETTER GRAVE ACCENT (Mandarin Chinese fourth tone)
+<U02C6> /xaa MODIFIER LETTER CIRCUMFLEX ACCENT
+<U00A8> /xab DIAERESIS
+<U02DC> /xac SMALL TILDE
+<U00D9> /xad LATIN CAPITAL LETTER U WITH GRAVE
+<U00DB> /xae LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+<U20A4> /xaf LIRA SIGN
+<U00AF> /xb0 MACRON
+<U00DD> /xb1 LATIN CAPITAL LETTER Y WITH ACUTE
+<U00FD> /xb2 LATIN SMALL LETTER Y WITH ACUTE
+<U00B0> /xb3 DEGREE SIGN
+<U00C7> /xb4 LATIN CAPITAL LETTER C WITH CEDILLA
+<U00E7> /xb5 LATIN SMALL LETTER C WITH CEDILLA
+<U00D1> /xb6 LATIN CAPITAL LETTER N WITH TILDE
+<U00F1> /xb7 LATIN SMALL LETTER N WITH TILDE
+<U00A1> /xb8 INVERTED EXCLAMATION MARK
+<U00BF> /xb9 INVERTED QUESTION MARK
+<U20A0> /xba EURO-CURRENCY SIGN
+<U00A3> /xbb POUND SIGN
+<U00A5> /xbc YEN SIGN
+<U00A7> /xbd SECTION SIGN
+<U0192> /xbe LATIN SMALL LETTER F WITH HOOK
+<U00A2> /xbf CENT SIGN
+<U00E2> /xc0 LATIN SMALL LETTER A WITH CIRCUMFLEX
+<U00EA> /xc1 LATIN SMALL LETTER E WITH CIRCUMFLEX
+<U00F4> /xc2 LATIN SMALL LETTER O WITH CIRCUMFLEX
+<U00FB> /xc3 LATIN SMALL LETTER U WITH CIRCUMFLEX
+<U00E1> /xc4 LATIN SMALL LETTER A WITH ACUTE
+<U00E9> /xc5 LATIN SMALL LETTER E WITH ACUTE
+<U00F3> /xc6 LATIN SMALL LETTER O WITH ACUTE
+<U00FA> /xc7 LATIN SMALL LETTER U WITH ACUTE
+<U00E0> /xc8 LATIN SMALL LETTER A WITH GRAVE
+<U00E8> /xc9 LATIN SMALL LETTER E WITH GRAVE
+<U00F2> /xca LATIN SMALL LETTER O WITH GRAVE
+<U00F9> /xcb LATIN SMALL LETTER U WITH GRAVE
+<U00E4> /xcc LATIN SMALL LETTER A WITH DIAERESIS
+<U00EB> /xcd LATIN SMALL LETTER E WITH DIAERESIS
+<U00F6> /xce LATIN SMALL LETTER O WITH DIAERESIS
+<U00FC> /xcf LATIN SMALL LETTER U WITH DIAERESIS
+<U00C5> /xd0 LATIN CAPITAL LETTER A WITH RING ABOVE
+<U00EE> /xd1 LATIN SMALL LETTER I WITH CIRCUMFLEX
+<U00D8> /xd2 LATIN CAPITAL LETTER O WITH STROKE
+<U00C6> /xd3 LATIN CAPITAL LETTER AE
+<U00E5> /xd4 LATIN SMALL LETTER A WITH RING ABOVE
+<U00ED> /xd5 LATIN SMALL LETTER I WITH ACUTE
+<U00F8> /xd6 LATIN SMALL LETTER O WITH STROKE
+<U00E6> /xd7 LATIN SMALL LETTER AE
+<U00C4> /xd8 LATIN CAPITAL LETTER A WITH DIAERESIS
+<U00EC> /xd9 LATIN SMALL LETTER I WITH GRAVE
+<U00D6> /xda LATIN CAPITAL LETTER O WITH DIAERESIS
+<U00DC> /xdb LATIN CAPITAL LETTER U WITH DIAERESIS
+<U00C9> /xdc LATIN CAPITAL LETTER E WITH ACUTE
+<U00EF> /xdd LATIN SMALL LETTER I WITH DIAERESIS
+<U00DF> /xde LATIN SMALL LETTER SHARP S (German)
+<U00D4> /xdf LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+<U00C1> /xe0 LATIN CAPITAL LETTER A WITH ACUTE
+<U00C3> /xe1 LATIN CAPITAL LETTER A WITH TILDE
+<U00E3> /xe2 LATIN SMALL LETTER A WITH TILDE
+<U00D0> /xe3 LATIN CAPITAL LETTER ETH (Icelandic)
+<U00F0> /xe4 LATIN SMALL LETTER ETH (Icelandic)
+<U00CD> /xe5 LATIN CAPITAL LETTER I WITH ACUTE
+<U00CC> /xe6 LATIN CAPITAL LETTER I WITH GRAVE
+<U00D3> /xe7 LATIN CAPITAL LETTER O WITH ACUTE
+<U00D2> /xe8 LATIN CAPITAL LETTER O WITH GRAVE
+<U00D5> /xe9 LATIN CAPITAL LETTER O WITH TILDE
+<U00F5> /xea LATIN SMALL LETTER O WITH TILDE
+<U0160> /xeb LATIN CAPITAL LETTER S WITH CARON
+<U0161> /xec LATIN SMALL LETTER S WITH CARON
+<U00DA> /xed LATIN CAPITAL LETTER U WITH ACUTE
+<U0178> /xee LATIN CAPITAL LETTER Y WITH DIAERESIS
+<U00FF> /xef LATIN SMALL LETTER Y WITH DIAERESIS
+<U00DE> /xf0 LATIN CAPITAL LETTER THORN (Icelandic)
+<U00FE> /xf1 LATIN SMALL LETTER THORN (Icelandic)
+<U00B7> /xf2 MIDDLE DOT
+<U00B5> /xf3 MICRO SIGN
+<U00B6> /xf4 PILCROW SIGN
+<U00BE> /xf5 VULGAR FRACTION THREE QUARTERS
+<U2014> /xf6 EM DASH
+<U00BC> /xf7 VULGAR FRACTION ONE QUARTER
+<U00BD> /xf8 VULGAR FRACTION ONE HALF
+<U00AA> /xf9 FEMININE ORDINAL INDICATOR
+<U00BA> /xfa MASCULINE ORDINAL INDICATOR
+<U00AB> /xfb LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U25A0> /xfc BLACK SQUARE
+<U00BB> /xfd RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+<U00B1> /xfe PLUS-MINUS SIGN
+END CHARMAP
Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Sat Dec 8 00:04:06 2007
@@ -1,3 +1,10 @@
+2007-12-07 Ulrich Drepper <drepper@xxxxxxxxxx>
+
+ [BZ #5455]
+ * sysdeps/pthread/pthread.h [!__EXCEPTIONS] (pthread_cleanup_pop):
+ Allow label before pthread_cleanup_pop.
+ (pthread_cleanup_pop_restore_np): Likewise.
+
2007-12-04 Kaz Kojima <kkojima@xxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/sh/lowlevellock.S (__lll_timedlock_wait):
Modified: fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h
==============================================================================
--- fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h (original)
+++ fsf/trunk/libc/nptl/sysdeps/pthread/pthread.h Sat Dec 8 00:04:06 2007
@@ -655,6 +655,7 @@
/* Remove a cleanup handler installed by the matching pthread_cleanup_push.
If EXECUTE is non-zero, the handler function is called. */
# define pthread_cleanup_pop(execute) \
+ do; while (0); /* Empty to allow label before pthread_cleanup_pop. */ \
} while (0); \
__pthread_unregister_cancel (&__cancel_buf); \
if (execute) \
@@ -690,6 +691,7 @@
restores the cancellation type that was in effect when the matching
pthread_cleanup_push_defer was called. */
# define pthread_cleanup_pop_restore_np(execute) \
+ do; while (0); /* Empty to allow label before pthread_cleanup_pop. */ \
} while (0); \
__pthread_unregister_cancel_restore (&__cancel_buf); \
if (execute) \
Modified: fsf/trunk/libc/stdio-common/Makefile
==============================================================================
--- fsf/trunk/libc/stdio-common/Makefile (original)
+++ fsf/trunk/libc/stdio-common/Makefile Sat Dec 8 00:04:06 2007
@@ -57,7 +57,7 @@
tst-perror tst-sprintf tst-rndseek tst-fdopen tst-fphex bug14 bug15 \
tst-popen tst-unlockedio tst-fmemopen2 tst-put-error tst-fgets \
tst-fwrite bug16 bug17 tst-swscanf tst-sprintf2 bug18 bug18a \
- bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20
+ bug19 bug19a tst-popen2 scanf13 scanf14 scanf15 bug20 bug21
test-srcs = tst-unbputc tst-printf
Added: fsf/trunk/libc/stdio-common/bug21.c
==============================================================================
--- fsf/trunk/libc/stdio-common/bug21.c (added)
+++ fsf/trunk/libc/stdio-common/bug21.c Sat Dec 8 00:04:06 2007
@@ -1,0 +1,16 @@
+#include <stdio.h>
+
+static int
+do_test (void)
+{
+ static const char buf[] = " ";
+ char *str;
+
+ int r = sscanf (buf, "%as", &str);
+ printf ("%d %p\n", r, str);
+
+ return r != -1 || str != NULL;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
Modified: fsf/trunk/libc/stdio-common/vfscanf.c
==============================================================================
--- fsf/trunk/libc/stdio-common/vfscanf.c (original)
+++ fsf/trunk/libc/stdio-common/vfscanf.c Sat Dec 8 00:04:06 2007
@@ -2845,7 +2845,6 @@
*p->ptrs[cnt] = NULL;
}
p = p->next;
- free (ptrs_to_free);
ptrs_to_free = p;
}
}
Modified: fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h
==============================================================================
--- fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h (original)
+++ fsf/trunk/libc/sysdeps/unix/sysv/linux/bits/sched.h Sat Dec 8 00:04:06 2007
@@ -132,17 +132,21 @@
} while (0)
# endif
# define __CPU_SET_S(cpu, setsize, cpusetp) \
- ({ size_t __cpu = (cpu); \
- __cpu < 8 * (setsize) \
- ? ((cpusetp)->__bits[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; })
+ (__extension__ \
+ ({ size_t __cpu = (cpu); \
+ __cpu < 8 * (setsize) \
+ ? ((cpusetp)->__bits[__CPUELT (__cpu)] |= __CPUMASK (__cpu)) : 0; }))
# define __CPU_CLR_S(cpu, setsize, cpusetp) \
- ({ size_t __cpu = (cpu); \
- __cpu < 8 * (setsize) \
- ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; })
+ (__extension__ \
+ ({ size_t __cpu = (cpu); \
+ __cpu < 8 * (setsize) \
+ ? ((cpusetp)->__bits[__CPUELT (__cpu)] &= ~__CPUMASK (__cpu)) : 0; }))
# define __CPU_ISSET_S(cpu, setsize, cpusetp) \
- ({ size_t __cpu = (cpu); \
- __cpu < 8 * (setsize) \
- ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 : 0; })
+ (__extension__ \
+ ({ size_t __cpu = (cpu); \
+ __cpu < 8 * (setsize) \
+ ? (((cpusetp)->__bits[__CPUELT (__cpu)] & __CPUMASK (__cpu))) != 0 \
+ : 0; }))
# define __CPU_COUNT_S(setsize, cpusetp) \
__sched_cpucount (setsize, cpusetp)
@@ -152,25 +156,27 @@
(__builtin_memcmp (cpusetp1, cpusetp2, setsize) == 0)
# else
# define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
- ({ cpu_set_t *__arr1 = (cpusetp1); \
- cpu_set_t *__arr2 = (cpusetp2); \
- size_t __imax = (setsize) / sizeof (__cpu_mask); \
- size_t __i; \
- for (__i = 0; __i < __imax; ++__i) \
- if (__arr1->__bits[__i] != __arr2->__bits[__i]) \
- break; \
- __i == __imax; })
+ (__extension__ \
+ ({ cpu_set_t *__arr1 = (cpusetp1); \
+ cpu_set_t *__arr2 = (cpusetp2); \
+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
+ size_t __i; \
+ for (__i = 0; __i < __imax; ++__i) \
+ if (__arr1->__bits[__i] != __arr2->__bits[__i]) \
+ break; \
+ __i == __imax; }))
# endif
# define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
- ({ cpu_set_t *__dest = (destset); \
- cpu_set_t *__arr1 = (srcset1); \
- cpu_set_t *__arr2 = (srcset2); \
- size_t __imax = (setsize) / sizeof (__cpu_mask); \
- size_t __i; \
- for (__i = 0; __i < __imax; ++__i) \
- __dest->__bits[__i] = __arr1->__bits[__i] op __arr2->__bits[__i]; \
- __dest; })
+ (__extension__ \
+ ({ cpu_set_t *__dest = (destset); \
+ cpu_set_t *__arr1 = (srcset1); \
+ cpu_set_t *__arr2 = (srcset2); \
+ size_t __imax = (setsize) / sizeof (__cpu_mask); \
+ size_t __i; \
+ for (__i = 0; __i < __imax; ++__i) \
+ __dest->__bits[__i] = __arr1->__bits[__i] op __arr2->__bits[__i]; \
+ __dest; }))
# define __CPU_ALLOC_SIZE(count) \
((((count) + __NCPUBITS - 1) / __NCPUBITS) * 8)