From 740152054ecbda66dae0e0f66193d8e244cc2376 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 21 Jan 1998 17:04:36 +0000 Subject: Update. 1998-01-22 00:55 Ulrich Drepper * libc.map: Add __libc_uid, __libc_pid, __syscall_rt_sigqueueinfo, __pread64, __pwrite64, and __getpid. * libc/rt/aio_misc.c: Use pread and pwrite instead of __ protected versions. 1998-01-06 Andreas Schwab * sysdeps/unix/sysv/linux/alpha/syscalls.list: Define the cancelable socket functions as __libc_xxx with __xxx as weak alias. * sysdeps/unix/sysv/linux/mips/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise. * sysdeps/unix/sysv/linux/m68k/socket.S: Allow __socket to be redefined. * sysdeps/unix/sysv/linux/i386/socket.S: Likewise. * sysdeps/unix/sysv/linux/arm/socket.S: Likewise. * sysdeps/unix/sysv/linux/powerpc/socket.S: Likewise. * sysdeps/unix/sysv/linux/sparc/sparc32/socket.S: Likewise. * sysdeps/unix/sysv/linux/accept.S: Make __libc_xxx the main name and __xxx a weak alias. * sysdeps/unix/sysv/linux/connect.S: Likewise. * sysdeps/unix/sysv/linux/recv.S: Likewise. * sysdeps/unix/sysv/linux/recvfrom.S: Likewise. * sysdeps/unix/sysv/linux/recvmsg.S: Likewise. * sysdeps/unix/sysv/linux/send.S: Likewise. * sysdeps/unix/sysv/linux/sendmsg.S: Likewise. * sysdeps/unix/sysv/linux/sendto.S: Likewise. 1998-01-21 Andreas Jaeger * locale/langinfo.h: Add defines. * dirent/dirent.h: Add defines for DT_*, check also for _DIRENT_HAVE_D_TYPE. Suggested by Roland McGrath. 1998-01-16 Andreas Jaeger * sysdeps/unix/sysv/linux/netinet/ip_fw.h: Update from Linux 2.1.73+79. * README.template: Update information about possible configurations. * manual/mbyte.texi (Wide String Conversion): Fix declaration of wcstombs. Pointed out by Jochen Voss . [PR libc/417]. * manual/time.texi (Priority): Correct description of PRIO_MAX. Pointed out by Jochen Voss . [PR libc/416]. 11998-01-21 21:34 Ulrich Drepper * sysdeps/alpha/fpu/bits/mathdef.h: Add definition of FP_ILOGB0 and FP_ILOGNAN. Patch by a sun . 1998-01-21 17:53 Ulrich Drepper * sysdeps/generic/_strerror.c: Handle BUFLEN == 0. Reported by Andreas Jaeger. 1998-01-20 18:13 Ulrich Drepper * locale/programs/ld-collate.c: Little optimizations. * stdio-common/xbug.c: Unset LD_LIBRRARY_PATH variable. * string/Makefile (tests): Add tst-inlcall. * string/tst-inlcall.c: New file. * string/strsignal.c: Add support for real-time signals. * sysdeps/generic/_strerror.c: Fix Handling of unknown error in presense of small buffer. * sysdeps/i386/bits/string.h: Define _HAVE_STRING_ARCH_* macros. * sysdeps/i386/i486/bits/string.h: Correct strrchr implementation for i686. * sysdeps/unix/sysv/linux/siglist.c: Change length of arrays to _NSIG + 1. 1998-01-02 15:10 Matthias Urlichs * Rules: Add explicit rule for dummy.o; at least one library needs it and it isn't autogenerated by the default rules. 1997-12-31 Andreas Schwab * math/libm-test.c: Tweak epsilons. 1997-12-31 Andreas Schwab * math/test-fenv.c (feenv_nomask_test): Avoid dumping core in the child. (feenv_mask_test): Likewise. 1998-01-01 Andreas Schwab * Makeconfig: Don't export CPPFLAGS. 1998-01-01 Andreas Schwab * sunrpc/rpc_main.c (parseargs): Use perror to print error message. 1998-01-15 Andreas Schwab * nss/nss_db/db-alias.c (_nss_db_getaliasent_r): Don't include terminating null in key size. 1998-01-13 Andreas Schwab * nss/nss_files/files-service.c: Fix allocation size to include length of PROTO. * nss/nss_db/db-XXX.c (lookup): Always set errno and h_errno if applicable. Fix return value and error checking. (CONCAT(_nss_db_get,ENTNAME_r)): Loop around to skip over unparsable lines. (DB_LOOKUP): Allocate space for terminating null byte. * nss/db-Makefile ($(VAR_DB)/passwd.db): Don't handle duplicate uids specially. * db2/makedb.c (process_input): Continue processing if a duplicate key is encountered. 1998-01-19 15:20 Ulrich Drepper * time/tzfile.h: Updated from tzcode1998b. * time/zdump.c: Likewise. * time/zic.c: Likewise. * time/africa: Update from tzdata1998b. * time/antarctica: Likewise. * time/asia: Likewise. * time/australasia: Likewise. * time/etcetera: Likewise. * time/europe: Likewise. * time/leapseconds: Likewise. * time/northamerica: Likewise. * time/southamerica: Likewise. 1998-01-12 Andreas Jaeger * nss/nss_files/files-alias.c (get_next_alias): Do mail alias lookups ignoring case. * nss/nss_files/files-network.c: Do network lookups ignoring case. * nss/nss_files/files-hosts.c: Do hostname lookups ignoring case. * nss/nss_files/files-parse.c (LOOKUP_NAME_CASE): New macro for case insensitive comparing. Patches by Cristian Gafton . 1998-01-09 Andreas Jaeger * sysdeps/unix/sysv/linux/net/if.h: Add IFF_*defines. Suggested by Roland McGrath. [PR libc/395] 1998-01-08 Andreas Jaeger * manual/arith.texi (Parsing of Integers): Correct description of strtoul. Pointed out by Scott Snyder . [PR libc/396] 1997-12-30 14:14 Matthias Urlichs * misc/lsearch.c (lsearch): Return a pointer to the new element if one was "allocated". 1997-12-26 Andreas Schwab * string/strsignal.c: NSIG is not a valid index into _sys_siglist. Don't zap the last character of the "Unknown signal" message. 1998-01-19 15:08 Ulrich Drepper * locale/programs/charmap.c (parse_charmap): Correct parsing of ellipsis expressions. * locale/programs/charset.c (insert_char): Correctly insert value of eliipsis expression. --- locale/langinfo.h | 75 ++++++++++++++++++++++++++++++++++++++++++++ locale/programs/charmap.c | 4 +-- locale/programs/charset.c | 5 +-- locale/programs/ld-collate.c | 12 +++---- 4 files changed, 85 insertions(+), 11 deletions(-) (limited to 'locale') diff --git a/locale/langinfo.h b/locale/langinfo.h index 8cdb104..10e8dd2 100644 --- a/locale/langinfo.h +++ b/locale/langinfo.h @@ -46,64 +46,114 @@ enum /* Abbreviated days of the week. */ ABDAY_1 = _NL_ITEM (LC_TIME, 0), /* Sun */ +#define ABDAY_1 ABDAY_1 ABDAY_2, +#define ABDAY_2 ABDAY_2 ABDAY_3, +#define ABDAY_3 ABDAY_3 ABDAY_4, +#define ABDAY_4 ABDAY_4 ABDAY_5, +#define ABDAY_5 ABDAY_5 ABDAY_6, +#define ABDAY_6 ABDAY_6 ABDAY_7, +#define ABDAY_7 ABDAY_7 /* Long-named days of the week. */ DAY_1, /* Sunday */ +#define DAY_1 DAY_1 DAY_2, /* Monday */ +#define DAY_2 DAY_2 DAY_3, /* Tuesday */ +#define DAY_3 DAY_3 DAY_4, /* Wednesday */ +#define DAY_4 DAY_4 DAY_5, /* Thursday */ +#define DAY_5 DAY_5 DAY_6, /* Friday */ +#define DAY_6 DAY_6 DAY_7, /* Saturday */ +#define DAY_7 DAY_7 /* Abbreviated month names. */ ABMON_1, /* Jan */ +#define ABMON_1 ABMON_1 ABMON_2, +#define ABMON_2 ABMON_2 ABMON_3, +#define ABMON_3 ABMON_3 ABMON_4, +#define ABMON_4 ABMON_4 ABMON_5, +#define ABMON_5 ABMON_5 ABMON_6, +#define ABMON_6 ABMON_6 ABMON_7, +#define ABMON_7 ABMON_7 ABMON_8, +#define ABMON_8 ABMON_8 ABMON_9, +#define ABMON_9 ABMON_9 ABMON_10, +#define ABMON_10 ABMON_10 ABMON_11, +#define ABMON_11 ABMON_11 ABMON_12, +#define ABMON_12 ABMON_12 /* Long month names. */ MON_1, /* January */ +#define MON_1 MON_1 MON_2, +#define MON_2 MON_2 MON_3, +#define MON_3 MON_3 MON_4, +#define MON_4 MON_4 MON_5, +#define MON_5 MON_5 MON_6, +#define MON_6 MON_6 MON_7, +#define MON_7 MON_7 MON_8, +#define MON_8 MON_8 MON_9, +#define MON_9 MON_9 MON_10, +#define MON_10 MON_10 MON_11, +#define MON_11 MON_11 MON_12, +#define MON_12 MON_12 AM_STR, /* Ante meridian string. */ +#define AM_STR AM_STR PM_STR, /* Post meridian string. */ +#define PM_STR PM_STR D_T_FMT, /* Date and time format for strftime. */ +#define D_T_FMT D_T_FMT D_FMT, /* Date format for strftime. */ +#define D_FMT D_FMT T_FMT, /* Time format for strftime. */ +#define T_FMT T_FMT T_FMT_AMPM, /* 12-hour time format for strftime. */ +#define T_FMT_AMPM T_FMT_AMPM ERA, /* Alternate era. */ +#define ERA ERA ERA_YEAR, /* Year in alternate era format. */ +#define ERA_YEAR ERA_YEAR ERA_D_FMT, /* Date in alternate era format. */ +#define ERA_D_FMT ERA_D_FMT ALT_DIGITS, /* Alternate symbols for digits. */ +#define ALT_DIGITS ALT_DIGITS ERA_D_T_FMT, /* Date and time in alternate era format. */ +#define ERA_D_T_FMT ERA_D_T_FMT ERA_T_FMT, /* Time in alternate era format. */ +#define ERA_T_FMT ERA_T_FMT _NL_TIME_NUM_ALT_DIGITS, /* Number entries in the alt_digits arrays. */ @@ -166,42 +216,67 @@ enum These items each correspond to a member of `struct lconv', defined in . */ INT_CURR_SYMBOL = _NL_ITEM (LC_MONETARY, 0), +#define INT_CURR_SYMBOL INT_CURR_SYMBOL CURRENCY_SYMBOL, +#define CURRENCY_SYMBOL CURRENCY_SYMBOL #ifdef __USE_UNIX98 CRNCYSTR = CURRENCY_SYMBOL, +# define CRNCYSTR CRNCYSTR #endif MON_DECIMAL_POINT, +#define MON_DECIMAL_POINT MON_DECIMAL_POINT MON_THOUSANDS_SEP, +#define MON_THOUSANDS_SEP MON_THOUSANDS_SEP MON_GROUPING, +#define MON_GROUPING MON_GROUPING POSITIVE_SIGN, +#define POSITIVE_SIGN POSITIVE_SIGN NEGATIVE_SIGN, +#define NEGATIVE_SIGN NEGATIVE_SIGN INT_FRAC_DIGITS, +#define INT_FRAC_DIGITS INT_FRAC_DIGITS FRAC_DIGITS, +#define FRAC_DIGITS FRAC_DIGITS P_CS_PRECEDES, +#define P_CS_PRECEDES P_CS_PRECEDES P_SEP_BY_SPACE, +#define P_SEP_BY_SPACE P_SEP_BY_SPACE N_CS_PRECEDES, +#define N_CS_PRECEDES N_CS_PRECEDES N_SEP_BY_SPACE, +#define N_SEP_BY_SPACE N_SEP_BY_SPACE P_SIGN_POSN, +#define P_SIGN_POSN P_SIGN_POSN N_SIGN_POSN, +#define N_SIGN_POSN N_SIGN_POSN _NL_NUM_LC_MONETARY, /* LC_NUMERIC category: formatting of numbers. These also correspond to members of `struct lconv'; see . */ DECIMAL_POINT = _NL_ITEM (LC_NUMERIC, 0), +#define DECIMAL_POINT DECIMAL_POINT #ifdef __USE_UNIX98 RADIXCHAR = DECIMAL_POINT, +# define RADIXCHAR RADIXCHAR #endif THOUSANDS_SEP, +#define THOUSANDS_SEP THOUSANDS_SEP #ifdef __USE_UNIX98 THOUSEP = THOUSANDS_SEP, +#define THOUSANDS_SEP THOUSANDS_SEP #endif GROUPING, +#define GROUPING GROUPING _NL_NUM_LC_NUMERIC, YESEXPR = _NL_ITEM (LC_MESSAGES, 0), /* Regex matching ``yes'' input. */ +#define YESEXPR YESEXPR NOEXPR, /* Regex matching ``no'' input. */ +#define NOEXPR NOEXPR YESSTR, /* Output string for ``yes''. */ +#define YESSTR YESSTR NOSTR, /* Output string for ``no''. */ +#define NOSTR NOSTR _NL_NUM_LC_MESSAGES, /* This marks the highest value used. */ diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c index 27c83cc..1573d6c 100644 --- a/locale/programs/charmap.c +++ b/locale/programs/charmap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1996. @@ -471,7 +471,7 @@ argument to <%s> must be a single character"), cmfile->token.val.str.start, cmfile->token.val.str.len); - state = 3; + state = 5; continue; case 90: diff --git a/locale/programs/charset.c b/locale/programs/charset.c index 00233ab..fdacf25 100644 --- a/locale/programs/charset.c +++ b/locale/programs/charset.c @@ -125,10 +125,11 @@ insert_char (struct linereader *lr, struct charset_t *cs, int bytes, for (cnt = from_nr; cnt <= to_nr; ++cnt) { - sprintf (&buf[prefix_len], "%0d", cnt); + sprintf (&buf[prefix_len], "%0*d", len1 - prefix_len, cnt); if (insert_entry (&cs->char_table, buf, len1, - (void *) (unsigned long int) cnt) < 0) + (void *) (unsigned long int) (value + (cnt - from_nr))) + < 0) lr_error (lr, _("duplicate character name `%s'"), buf); } } diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 3a8c17a..f01b1f6 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -190,7 +190,7 @@ collate_startup (struct linereader *lr, struct localedef_t *locale, collate->all_patches = NULL; /* This tells us no UNDEFINED entry was found until now. */ - collate->undefined.this_weight = 0; + memset (&collate->undefined, '\0', sizeof (collate->undefined)); lr->translate_strings = 0; } @@ -457,12 +457,10 @@ Computing table size for collation information might take a while..."), information. While reading them they get inserted in the \ table and later not removed when something goes wrong with \ reading its weights. */ \ - { \ - value += 1 + runp->ordering[cnt]; \ + value += 1 + runp->ordering[cnt]; \ \ - if (runp->name[1] == L'\0') \ - has_simple = runp; \ - } \ + if (runp->name[1] == L'\0') \ + has_simple = runp; \ \ ADD_ELEMENT (runp, value); \ } \ @@ -1891,7 +1889,7 @@ collate_end_weight (struct linereader *lr, struct localedef_t *locale) || collate->kind == undefined); /* Fill in the missing weights. */ - while (++collate->weight_idx < collate->nrules) + while (collate->weight_idx++ < collate->nrules) { collate->weight[collate->nweight++] = pelem->this_weight; ++collate->weight_cnt[collate->weight_idx]; -- cgit v1.1