1999-04-14  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* wctype/test_wcfuncs.c: New file, tests towlower and towupper.
	* wctype/Makefile (tests): Add test_wcfuncs.
This commit is contained in:
Ulrich Drepper 1999-04-14 23:49:40 +00:00
parent 613ae2c8ee
commit ea48e2c4cc
9 changed files with 6658 additions and 5 deletions

View File

@ -1,3 +1,8 @@
1999-04-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* wctype/test_wcfuncs.c: New file, tests towlower and towupper.
* wctype/Makefile (tests): Add test_wcfuncs.
1999-04-14 Jakub Jelinek <jj@ultra.linux.cz>
* scripts/config.sub: Allow sparcv[6789]-* and sparcv8plus{,a}-*

View File

@ -1,3 +1,8 @@
1999-03-16 H.J. Lu <hjl@gnu.org>
* specific.c (pthread_key_delete): Check th->p_terminated to see
if the thread is running.
1999-02-12 H.J. Lu <hjl@gnu.org>
* Versions (__libc_current_sigrtmin, __libc_current_sigrtmax,

View File

@ -73,14 +73,15 @@ int pthread_key_delete(pthread_key_t key)
}
pthread_keys[key].in_use = 0;
pthread_keys[key].destr = NULL;
/* Set the value of the key to NULL in all running threads, so that
if the key is reallocated later by pthread_key_create, its
/* Set the value of the key to NULL in all running threads, so
that if the key is reallocated later by pthread_key_create, its
associated values will be NULL in all threads. */
idx1st = key / PTHREAD_KEY_2NDLEVEL_SIZE;
idx2nd = key % PTHREAD_KEY_2NDLEVEL_SIZE;
th = self;
do {
if (th->p_specific[idx1st] != NULL)
/* If the thread already is terminated don't modify the memory. */
if (!th->p_terminated && th->p_specific[idx1st] != NULL)
th->p_specific[idx1st][idx2nd] = NULL;
th = th->p_nextlive;
} while (th != self);

349
localedata/charmaps/KOI8-U Normal file
View File

@ -0,0 +1,349 @@
<code_set_name> KOI8-U
<comment_char> %
<escape_char> /
% version: 1.1
% repertoiremap: mnemonic,ds
% source: RFC 2319
% source: http://www.net.ua/KOI8-U/
CHARMAP
<NU> /x00 <U0000> NULL (NUL)
<SH> /x01 <U0001> START OF HEADING (SOH)
<SX> /x02 <U0002> START OF TEXT (STX)
<EX> /x03 <U0003> END OF TEXT (ETX)
<ET> /x04 <U0004> END OF TRANSMISSION (EOT)
<EQ> /x05 <U0005> ENQUIRY (ENQ)
<AK> /x06 <U0006> ACKNOWLEDGE (ACK)
<BL> /x07 <U0007> BELL (BEL)
<BS> /x08 <U0008> BACKSPACE (BS)
<HT> /x09 <U0009> CHARACTER TABULATION (HT)
<LF> /x0A <U000A> LINE FEED (LF)
<VT> /x0B <U000B> LINE TABULATION (VT)
<FF> /x0C <U000C> FORM FEED (FF)
<CR> /x0D <U000D> CARRIAGE RETURN (CR)
<SO> /x0E <U000E> SHIFT OUT (SO)
<SI> /x0F <U000F> SHIFT IN (SI)
<DL> /x10 <U0010> DATALINK ESCAPE (DLE)
<D1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<D2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<D3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<D4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SY> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<EB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CN> /x18 <U0018> CANCEL (CAN)
<EM> /x19 <U0019> END OF MEDIUM (EM)
<SB> /x1A <U001A> SUBSTITUTE (SUB)
<EC> /x1B <U001B> ESCAPE (ESC)
<FS> /x1C <U001C> FILE SEPARATOR (IS4)
<GS> /x1D <U001D> GROUP SEPARATOR (IS3)
<RS> /x1E <U001E> RECORD SEPARATOR (IS2)
<US> /x1F <U001F> UNIT SEPARATOR (IS1)
<SP> /x20 <U0020> SPACE
<!> /x21 <U0021> EXCLAMATION MARK
<"> /x22 <U0022> QUOTATION MARK
<Nb> /x23 <U0023> NUMBER SIGN
<DO> /x24 <U0024> DOLLAR SIGN
<%> /x25 <U0025> PERCENT SIGN
<&> /x26 <U0026> AMPERSAND
<'> /x27 <U0027> APOSTROPHE
<(> /x28 <U0028> LEFT PARENTHESIS
<)> /x29 <U0029> RIGHT PARENTHESIS
<*> /x2A <U002A> ASTERISK
<+> /x2B <U002B> PLUS SIGN
<,> /x2C <U002C> COMMA
<-> /x2D <U002D> HYPHEN-MINUS
<.> /x2E <U002E> FULL STOP
<//> /x2F <U002F> SOLIDUS
<0> /x30 <U0030> DIGIT ZERO
<1> /x31 <U0031> DIGIT ONE
<2> /x32 <U0032> DIGIT TWO
<3> /x33 <U0033> DIGIT THREE
<4> /x34 <U0034> DIGIT FOUR
<5> /x35 <U0035> DIGIT FIVE
<6> /x36 <U0036> DIGIT SIX
<7> /x37 <U0037> DIGIT SEVEN
<8> /x38 <U0038> DIGIT EIGHT
<9> /x39 <U0039> DIGIT NINE
<:> /x3A <U003A> COLON
<;> /x3B <U003B> SEMICOLON
<<> /x3C <U003C> LESS-THAN SIGN
<=> /x3D <U003D> EQUALS SIGN
</>> /x3E <U003E> GREATER-THAN SIGN
<?> /x3F <U003F> QUESTION MARK
<At> /x40 <U0040> COMMERCIAL AT
<A> /x41 <U0041> LATIN CAPITAL LETTER A
<B> /x42 <U0042> LATIN CAPITAL LETTER B
<C> /x43 <U0043> LATIN CAPITAL LETTER C
<D> /x44 <U0044> LATIN CAPITAL LETTER D
<E> /x45 <U0045> LATIN CAPITAL LETTER E
<F> /x46 <U0046> LATIN CAPITAL LETTER F
<G> /x47 <U0047> LATIN CAPITAL LETTER G
<H> /x48 <U0048> LATIN CAPITAL LETTER H
<I> /x49 <U0049> LATIN CAPITAL LETTER I
<J> /x4A <U004A> LATIN CAPITAL LETTER J
<K> /x4B <U004B> LATIN CAPITAL LETTER K
<L> /x4C <U004C> LATIN CAPITAL LETTER L
<M> /x4D <U004D> LATIN CAPITAL LETTER M
<N> /x4E <U004E> LATIN CAPITAL LETTER N
<O> /x4F <U004F> LATIN CAPITAL LETTER O
<P> /x50 <U0050> LATIN CAPITAL LETTER P
<Q> /x51 <U0051> LATIN CAPITAL LETTER Q
<R> /x52 <U0052> LATIN CAPITAL LETTER R
<S> /x53 <U0053> LATIN CAPITAL LETTER S
<T> /x54 <U0054> LATIN CAPITAL LETTER T
<U> /x55 <U0055> LATIN CAPITAL LETTER U
<V> /x56 <U0056> LATIN CAPITAL LETTER V
<W> /x57 <U0057> LATIN CAPITAL LETTER W
<X> /x58 <U0058> LATIN CAPITAL LETTER X
<Y> /x59 <U0059> LATIN CAPITAL LETTER Y
<Z> /x5A <U005A> LATIN CAPITAL LETTER Z
<<(> /x5B <U005B> LEFT SQUARE BRACKET
<////> /x5C <U005C> REVERSE SOLIDUS
<)/>> /x5D <U005D> RIGHT SQUARE BRACKET
<'/>> /x5E <U005E> CIRCUMFLEX ACCENT
<_> /x5F <U005F> LOW LINE
<'!> /x60 <U0060> GRAVE ACCENT
<a> /x61 <U0061> LATIN SMALL LETTER A
<b> /x62 <U0062> LATIN SMALL LETTER B
<c> /x63 <U0063> LATIN SMALL LETTER C
<d> /x64 <U0064> LATIN SMALL LETTER D
<e> /x65 <U0065> LATIN SMALL LETTER E
<f> /x66 <U0066> LATIN SMALL LETTER F
<g> /x67 <U0067> LATIN SMALL LETTER G
<h> /x68 <U0068> LATIN SMALL LETTER H
<i> /x69 <U0069> LATIN SMALL LETTER I
<j> /x6A <U006A> LATIN SMALL LETTER J
<k> /x6B <U006B> LATIN SMALL LETTER K
<l> /x6C <U006C> LATIN SMALL LETTER L
<m> /x6D <U006D> LATIN SMALL LETTER M
<n> /x6E <U006E> LATIN SMALL LETTER N
<o> /x6F <U006F> LATIN SMALL LETTER O
<p> /x70 <U0070> LATIN SMALL LETTER P
<q> /x71 <U0071> LATIN SMALL LETTER Q
<r> /x72 <U0072> LATIN SMALL LETTER R
<s> /x73 <U0073> LATIN SMALL LETTER S
<t> /x74 <U0074> LATIN SMALL LETTER T
<u> /x75 <U0075> LATIN SMALL LETTER U
<v> /x76 <U0076> LATIN SMALL LETTER V
<w> /x77 <U0077> LATIN SMALL LETTER W
<x> /x78 <U0078> LATIN SMALL LETTER X
<y> /x79 <U0079> LATIN SMALL LETTER Y
<z> /x7A <U007A> LATIN SMALL LETTER Z
<(!> /x7B <U007B> LEFT CURLY BRACKET
<!!> /x7C <U007C> VERTICAL LINE
<!)> /x7D <U007D> RIGHT CURLY BRACKET
<'?> /x7E <U007E> TILDE
<DT> /x7F <U007F> DELETE (DEL)
<hh> /x80 <U2500> BOX DRAWINGS LIGHT HORIZONTAL
<vv> /x81 <U2502> BOX DRAWINGS LIGHT VERTICAL
<dr> /x82 <U250C> BOX DRAWINGS LIGHT DOWN AND RIGHT
<dl> /x83 <U2510> BOX DRAWINGS LIGHT DOWN AND LEFT
<ur> /x84 <U2514> BOX DRAWINGS LIGHT UP AND RIGHT
<ul> /x85 <U2518> BOX DRAWINGS LIGHT UP AND LEFT
<vr> /x86 <U251C> BOX DRAWINGS LIGHT VERTICAL AND RIGHT
<vl> /x87 <U2524> BOX DRAWINGS LIGHT VERTICAL AND LEFT
<dh> /x88 <U252C> BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
<uh> /x89 <U2534> BOX DRAWINGS LIGHT UP AND HORIZONTAL
<vh> /x8A <U253C> BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
<TB> /x8B <U2580> UPPER HALF BLOCK
<LB> /x8C <U2584> LOWER HALF BLOCK
<FB> /x8D <U2588> FULL BLOCK
<lB> /x8E <U258C> LEFT HALF BLOCK
<RB> /x8F <U2590> RIGHT HALF BLOCK
<.S> /x90 <U2591> LIGHT SHADE
<:S> /x91 <U2592> MEDIUM SHADE
<?S> /x92 <U2593> DARK SHADE
<Iu> /x93 <U2320> TOP HALF INTEGRAL
<fS> /x94 <U25A0> BLACK SQUARE
<Sb> /x95 <U2019> BULLET OPERATOR
<RT> /x96 <U221A> SQUARE ROOT
<?2> /x97 <U2248> ALMOST EQUAL TO
<=<> /x98 <U2264> LESS THAN OR EQUAL TO
<=/>> /x99 <U2265> GREATER THAN OR EQUAL TO
<NS> /x9A <U00A0> NO-BREAK SPACE
<Il> /x9B <U2321> BOTTOM HALF INTEGRAL
<DG> /x9C <U00B0> DEGREE SIGN
<S2> /x9D <U00B2> SUPERSCRIPT DIGIT TWO
<.M> /x9E <U00B7> MIDDLE DOT
<-:> /x9F <U00F7> DIVISION SIGN
<HH> /xA0 <U2550> BOX DRAWINGS DOUBLE HORIZONTAL
<VV> /xA1 <U2551> BOX DRAWINGS DOUBLE VERTICAL
<dR> /xA2 <U2552> BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
<io> /xA3 <U0451> CYRILLIC SMALL LETTER IO
<ie> /xA4 <U0454> CYRILLIC SMALL LETTER UKRAINIAN IE
<DR> /xA5 <U2554> BOX DRAWINGS DOUBLE DOWN AND RIGHT
<ii> /xA6 <U0456> CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
<yi> /xA7 <U0457> CYRILLIC SMALL LETTER YI (Ukrainian)
<LD> /xA8 <U2557> BOX DRAWINGS DOUBLE DOWN AND LEFT
<uR> /xA9 <U2558> BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
<Ur> /xAA <U2559> BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
<UR> /xAB <U255A> BOX DRAWINGS DOUBLE UP AND RIGHT
<uL> /xAC <U255B> BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
<g3> /xAD <U0491> CYRILLIC SMALL LETTER GHE WITH UPTURN
<UL> /xAE <U255D> BOX DRAWINGS DOUBLE UP AND LEFT
<vR> /xAF <U255E> BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
<Vr> /xB0 <U255F> BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
<VR> /xB1 <U2560> BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
<vL> /xB2 <U2561> BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
<IO> /xB3 <U0401> CYRILLIC CAPITAL LETTER IO
<IE> /xB4 <U0404> CYRILLIC CAPITAL LETTER UKRAINIAN IE
<VL> /xB5 <U2563> DOUBLE VERTICAL AND LEFT
<II> /xB6 <U0406> CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
<YI> /xB7 <U0407> CYRILLIC CAPITAL LETTER YI (Ukrainian)
<DH> /xB8 <U2566> BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
<uH> /xB9 <U2567> BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
<Uh> /xBA <U2568> BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
<UH> /xBB <U2569> BOX DRAWINGS DOUBLE UP AND HORIZONTAL
<vH> /xBC <U256A> BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
<G3> /xBD <U0490> CYRILLIC CAPITAL LETTER GHE WITH UPTURN
<VH> /xBE <U256C> BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
<Co> /xBF <U00A9> COPYRIGHT SIGN
<ju> /xC0 <U044E> CYRILLIC SMALL LETTER YU
<a=> /xC1 <U0430> CYRILLIC SMALL LETTER A
<b=> /xC2 <U0431> CYRILLIC SMALL LETTER BE
<c=> /xC3 <U0446> CYRILLIC SMALL LETTER TSE
<d=> /xC4 <U0434> CYRILLIC SMALL LETTER DE
<e=> /xC5 <U0435> CYRILLIC SMALL LETTER IE
<f=> /xC6 <U0444> CYRILLIC SMALL LETTER EF
<g=> /xC7 <U0433> CYRILLIC SMALL LETTER GHE
<h=> /xC8 <U0445> CYRILLIC SMALL LETTER HA
<i=> /xC9 <U0438> CYRILLIC SMALL LETTER I
<j=> /xCA <U0439> CYRILLIC SMALL LETTER SHORT I
<k=> /xCB <U043A> CYRILLIC SMALL LETTER KA
<l=> /xCC <U043B> CYRILLIC SMALL LETTER EL
<m=> /xCD <U043C> CYRILLIC SMALL LETTER EM
<n=> /xCE <U043D> CYRILLIC SMALL LETTER EN
<o=> /xCF <U043E> CYRILLIC SMALL LETTER O
<p=> /xD0 <U043F> CYRILLIC SMALL LETTER PE
<ja> /xD1 <U044F> CYRILLIC SMALL LETTER YA
<r=> /xD2 <U0440> CYRILLIC SMALL LETTER ER
<s=> /xD3 <U0441> CYRILLIC SMALL LETTER ES
<t=> /xD4 <U0442> CYRILLIC SMALL LETTER TE
<u=> /xD5 <U0443> CYRILLIC SMALL LETTER U
<z%> /xD6 <U0436> CYRILLIC SMALL LETTER ZHE
<v=> /xD7 <U0432> CYRILLIC SMALL LETTER VE
<%'> /xD8 <U044C> CYRILLIC SMALL LETTER SOFT SIGN
<y=> /xD9 <U044B> CYRILLIC SMALL LETTER YERU
<z=> /xDA <U0437> CYRILLIC SMALL LETTER ZE
<s%> /xDB <U0448> CYRILLIC SMALL LETTER SHA
<je> /xDC <U044D> CYRILLIC SMALL LETTER E
<sc> /xDD <U0449> CYRILLIC SMALL LETTER SHCHA
<c%> /xDE <U0447> CYRILLIC SMALL LETTER CHE
<='> /xDF <U044A> CYRILLIC SMALL LETTER HARD SIGN
<JU> /xE0 <U042E> CYRILLIC CAPITAL LETTER YU
<A=> /xE1 <U0410> CYRILLIC CAPITAL LETTER A
<B=> /xE2 <U0411> CYRILLIC CAPITAL LETTER BE
<C=> /xE3 <U0426> CYRILLIC CAPITAL LETTER TSE
<D=> /xE4 <U0414> CYRILLIC CAPITAL LETTER DE
<E=> /xE5 <U0415> CYRILLIC CAPITAL LETTER IE
<F=> /xE6 <U0424> CYRILLIC CAPITAL LETTER EF
<G=> /xE7 <U0413> CYRILLIC CAPITAL LETTER GHE
<H=> /xE8 <U0425> CYRILLIC CAPITAL LETTER HA
<I=> /xE9 <U0418> CYRILLIC CAPITAL LETTER I
<J=> /xEA <U0419> CYRILLIC CAPITAL LETTER SHORT I
<K=> /xEB <U041A> CYRILLIC CAPITAL LETTER KA
<L=> /xEC <U041B> CYRILLIC CAPITAL LETTER EL
<M=> /xED <U041C> CYRILLIC CAPITAL LETTER EM
<N=> /xEE <U041D> CYRILLIC CAPITAL LETTER EN
<O=> /xEF <U041E> CYRILLIC CAPITAL LETTER O
<P=> /xF0 <U041F> CYRILLIC CAPITAL LETTER PE
<JA> /xF1 <U042F> CYRILLIC CAPITAL LETTER YA
<R=> /xF2 <U0420> CYRILLIC CAPITAL LETTER ER
<S=> /xF3 <U0421> CYRILLIC CAPITAL LETTER ES
<T=> /xF4 <U0422> CYRILLIC CAPITAL LETTER TE
<U=> /xF5 <U0423> CYRILLIC CAPITAL LETTER U
<Z%> /xF6 <U0416> CYRILLIC CAPITAL LETTER ZHE
<V=> /xF7 <U0412> CYRILLIC CAPITAL LETTER VE
<%"> /xF8 <U042C> CYRILLIC CAPITAL LETTER SOFT SIGN
<Y=> /xF9 <U042B> CYRILLIC CAPITAL LETTER YERU
<Z=> /xFA <U0417> CYRILLIC CAPITAL LETTER ZE
<S%> /xFB <U0428> CYRILLIC CAPITAL LETTER SHA
<JE> /xFC <U042D> CYRILLIC CAPITAL LETTER E
<Sc> /xFD <U0429> CYRILLIC CAPITAL LETTER SHCHA
<C%> /xFE <U0427> CYRILLIC CAPITAL LETTER CHE
<="> /xFF <U042A> CYRILLIC CAPITAL LETTER HARD SIGN
<NUL> /x00 <U0000> NUL
<SOH> /x01 <U0001> START OF HEADING (SOH)
<STX> /x02 <U0002> START OF TEXT (STX)
<ETX> /x03 <U0003> END OF TEXT (ETX)
<EOT> /x04 <U0004> END OF TRANSMISSION (EOT)
<ENQ> /x05 <U0005> ENQUIRY (ENQ)
<ACK> /x06 <U0006> ACKNOWLEDGE (ACK)
<alert> /x07 <U0007> BELL (BEL)
<BEL> /x07 <U0007> BELL (BEL)
<backspace> /x08 <U0008> BACKSPACE (BS)
<tab> /x09 <U0009> CHARACTER TABULATION (HT)
<newline> /x0A <U000A> LINE FEED (LF)
<vertical-tab> /x0B <U000B> LINE TABULATION (VT)
<form-feed> /x0C <U000C> FORM FEED (FF)
<carriage-return> /x0D <U000D> CARRIAGE RETURN (CR)
<DLE> /x10 <U0010> DATALINK ESCAPE (DLE)
<DC1> /x11 <U0011> DEVICE CONTROL ONE (DC1)
<DC2> /x12 <U0012> DEVICE CONTROL TWO (DC2)
<DC3> /x13 <U0013> DEVICE CONTROL THREE (DC3)
<DC4> /x14 <U0014> DEVICE CONTROL FOUR (DC4)
<NAK> /x15 <U0015> NEGATIVE ACKNOWLEDGE (NAK)
<SYN> /x16 <U0016> SYNCHRONOUS IDLE (SYN)
<ETB> /x17 <U0017> END OF TRANSMISSION BLOCK (ETB)
<CAN> /x18 <U0018> CANCEL (CAN)
<SUB> /x1A <U001A> SUBSTITUTE (SUB)
<ESC> /x1B <U001B> ESCAPE (ESC)
<IS4> /x1C <U001C> FILE SEPARATOR (IS4)
<IS3> /x1D <U001D> GROUP SEPARATOR (IS3)
<intro> /x1D <U001D> GROUP SEPARATOR (IS3)
<IS2> /x1E <U001E> RECORD SEPARATOR (IS2)
<IS1> /x1F <U001F> UNIT SEPARATOR (IS1)
<DEL> /x7F <U007F> DELETE (DEL)
<space> /x20 <U0020> SPACE
<exclamation-mark> /x21 <U0021> EXCLAMATION MARK
<quotation-mark> /x22 <U0022> QUOTATION MARK
<number-sign> /x23 <U0023> NUMBER SIGN
<dollar-sign> /x24 <U0024> DOLLAR SIGN
<percent-sign> /x25 <U0025> PERCENT SIGN
<ampersand> /x26 <U0026> AMPERSAND
<apostrophe> /x27 <U0027> APOSTROPHE
<left-parenthesis> /x28 <U0028> LEFT PARENTHESIS
<right-parenthesis> /x29 <U0029> RIGHT PARENTHESIS
<asterisk> /x2A <U002A> ASTERISK
<plus-sign> /x2B <U002B> PLUS SIGN
<comma> /x2C <U002C> COMMA
<hyphen> /x2D <U002D> HYPHEN-MINUS
<hyphen-minus> /x2D <U002D> HYPHEN-MINUS
<period> /x2E <U002E> FULL STOP
<full-stop> /x2E <U002E> FULL STOP
<slash> /x2F <U002F> SOLIDUS
<solidus> /x2F <U002F> SOLIDUS
<zero> /x30 <U0030> DIGIT ZERO
<one> /x31 <U0031> DIGIT ONE
<two> /x32 <U0032> DIGIT TWO
<three> /x33 <U0033> DIGIT THREE
<four> /x34 <U0034> DIGIT FOUR
<five> /x35 <U0035> DIGIT FIVE
<six> /x36 <U0036> DIGIT SIX
<seven> /x37 <U0037> DIGIT SEVEN
<eight> /x38 <U0038> DIGIT EIGHT
<nine> /x39 <U0039> DIGIT NINE
<colon> /x3A <U003A> COLON
<semicolon> /x3B <U003B> SEMICOLON
<less-than-sign> /x3C <U003C> LESS-THAN SIGN
<equals-sign> /x3D <U003D> EQUALS SIGN
<greater-than-sign> /x3E <U003E> GREATER-THAN SIGN
<question-mark> /x3F <U003F> QUESTION MARK
<commercial-at> /x40 <U0040> COMMERCIAL AT
<left-square-bracket> /x5B <U005B> LEFT SQUARE BRACKET
<backslash> /x5C <U005C> REVERSE SOLIDUS
<reverse-solidus> /x5C <U005C> REVERSE SOLIDUS
<right-square-bracket> /x5D <U005D> RIGHT SQUARE BRACKET
<circumflex> /x5E <U005E> CIRCUMFLEX ACCENT
<circumflex-accent> /x5E <U005E> CIRCUMFLEX ACCENT
<underscore> /x5F <U005F> LOW LINE
<low-line> /x5F <U005F> LOW LINE
<grave-accent> /x60 <U0060> GRAVE ACCENT
<left-brace> /x7B <U007B> LEFT CURLY BRACKET
<left-curly-bracket> /x7B <U007B> LEFT CURLY BRACKET
<vertical-line> /x7C <U007C> VERTICAL LINE
<right-brace> /x7D <U007D> RIGHT CURLY BRACKET
<right-curly-bracket> /x7D <U007D> RIGHT CURLY BRACKET
<tilde> /x7E <U007E> TILDE
END CHARMAP

3085
localedata/locales/ru_UA Normal file

File diff suppressed because it is too large Load Diff

3085
localedata/locales/uk_UA Normal file

File diff suppressed because it is too large Load Diff

View File

@ -48,6 +48,7 @@ static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro";
#include <netdb.h>
#include <errno.h>
#include <rpc/pmap_clnt.h>
#include <net/if.h>
extern bool_t xdr_opaque_auth (XDR *, struct opaque_auth *);
extern u_long _create_xid (void);
@ -214,6 +215,33 @@ clntudp_create (raddr, program, version, wait, sockp)
UDPMSGSIZE, UDPMSGSIZE);
}
static int
is_network_up (int sock)
{
struct ifconf ifc;
char buf[UDPMSGSIZE];
struct ifreq ifreq, *ifr;
int n;
ifc.ifc_len = sizeof (buf);
ifc.ifc_buf = buf;
if (__ioctl(sock, SIOCGIFCONF, (char *) &ifc) == 0)
{
ifr = ifc.ifc_req;
for (n = ifc.ifc_len / sizeof (struct ifreq); n > 0; n--, ifr++)
{
ifreq = *ifr;
if (__ioctl (sock, SIOCGIFFLAGS, (char *) &ifreq) < 0)
break;
if ((ifreq.ifr_flags & IFF_UP)
&& ifr->ifr_addr.sa_family == AF_INET)
return 1;
}
}
return 0;
}
static enum clnt_stat
clntudp_call (cl, proc, xargs, argsp, xresults, resultsp, utimeout)
CLIENT *cl; /* client handle */
@ -239,6 +267,7 @@ clntudp_call (cl, proc, xargs, argsp, xresults, resultsp, utimeout)
bool_t ok;
int nrefreshes = 2; /* number of times to refresh cred */
struct timeval timeout;
int anyup; /* any network interface up */
if (cu->cu_total.tv_usec == -1)
{
@ -296,10 +325,17 @@ send_again:
fd.events = POLLIN;
for (;;)
{
switch (__poll(&fd, 1, milliseconds))
switch (__poll (&fd, 1, milliseconds))
{
case 0:
if (anyup == 0)
{
anyup = is_network_up (cu->cu_sock);
if (!anyup)
return (cu->cu_error.re_status = RPC_CANTRECV);
}
time_waited.tv_sec += cu->cu_wait.tv_sec;
time_waited.tv_usec += cu->cu_wait.tv_usec;
while (time_waited.tv_usec >= 1000000)

View File

@ -26,6 +26,6 @@ distribute := cname-lookup.h
routines := wcfuncs wctype iswctype wctrans towctrans wcextra \
wcfuncs_l iswctype_l towctrans_l wctype_l wcextra_l
tests := test_wctype
tests := test_wctype test_wcfuncs
include ../Rules

87
wctype/test_wcfuncs.c Normal file
View File

@ -0,0 +1,87 @@
/* Copyright (C) 1999 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
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
#include <stdio.h>
#include <wctype.h>
int
main (int argc, char *argv[])
{
int result = 0;
wint_t ch;
for (ch = 0; ch < 128; ++ch)
{
if (iswlower (ch))
{
/* Get corresponding upper case character. */
wint_t up = towupper (ch);
/* This should have no effect. */
wint_t low = towlower (ch);
if ((ch != low) || (up == ch) || (up == low))
{
printf ("iswlower/towupper/towlower for character \\%x failed\n", ch);
result++;
}
}
if (iswupper (ch))
{
/* Get corresponding lower case character. */
wint_t low = towlower (ch);
/* This should have no effect. */
wint_t up = towupper (ch);
if ((ch != up) || (low == ch) || (up == low))
{
printf ("iswupper/towlower/towupper for character \\%x failed\n", ch);
result++;
}
}
}
/* Finally some specific tests. */
ch = L'A';
if (!iswupper (ch) || iswlower (ch))
{
printf ("!iswupper/iswlower (L'A') failed\n");
result++;
}
ch = L'a';
if (iswupper (ch) || !iswlower (ch))
{
printf ("iswupper/!iswlower (L'a') failed\n");
result++;
}
if (towlower (L'A') != L'a')
{
printf ("towlower(L'A') failed\n");
result++;
}
if (towupper (L'a') != L'A')
{
printf ("towupper(L'a') failed\n");
result++;
}
if (result == 0)
puts ("All test successful!");
exit (result);
}