mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 10:50:07 +00:00
Update.
1998-02-20 18:43 Ulrich Drepper <drepper@cygnus.com> * hesiod/hesiod.c: Pretty print. Don't use __ protected names. * iconvdata/8bit-gap.c: Likewise. * iconvdata/8bit-generic.c: Likewise. * iconvdata/iso6937.c: Likewise. * iconvdata/iso8859-1.c: Likewise. * iconvdata/sjis.c: Likewise. * iconvdata/t61.c: Likewise. 1998-02-20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/bits/termios.h: Replace all negative feature tests by positive feature tests. 1998-02-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/unlockpt.c: Always return a value. 1998-02-20 Ulrich Drepper <drepper@cygnus.com> * elf/dlvsym.c (dlvsym_doit): More corrections. Patch by Andreas Jaeger.
This commit is contained in:
parent
03e4219e77
commit
dfbad9c855
6
BUGS
6
BUGS
@ -1,7 +1,7 @@
|
||||
List of known bugs (certainly very incomplete)
|
||||
----------------------------------------------
|
||||
|
||||
Time-stamp: <1997-12-03T15:30:07+0100 drepper>
|
||||
Time-stamp: <1998-02-20T15:02:41-0800 drepper>
|
||||
|
||||
This following list contains those bugs which I'm aware of. Please
|
||||
make sure that bugs you report are not listed here. If you can fix one
|
||||
@ -15,7 +15,9 @@ GNU project. There is an easy to use WWW interface available at
|
||||
I would appreciate it very much if you could verify the problem was not
|
||||
reported before by looking through the database. To make the information
|
||||
in this database as useful as possible please report bugs always using the
|
||||
`glibcbug' shell script which gets installed with GNU libc.
|
||||
`glibcbug' shell script which gets installed with GNU libc. Before reporting
|
||||
a bug please check the FAQ since it discusses also a lot of problematic
|
||||
situations.
|
||||
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
24
ChangeLog
24
ChangeLog
@ -1,3 +1,27 @@
|
||||
1998-02-20 18:43 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* hesiod/hesiod.c: Pretty print. Don't use __ protected names.
|
||||
* iconvdata/8bit-gap.c: Likewise.
|
||||
* iconvdata/8bit-generic.c: Likewise.
|
||||
* iconvdata/iso6937.c: Likewise.
|
||||
* iconvdata/iso8859-1.c: Likewise.
|
||||
* iconvdata/sjis.c: Likewise.
|
||||
* iconvdata/t61.c: Likewise.
|
||||
|
||||
1998-02-20 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/bits/termios.h: Replace all negative
|
||||
feature tests by positive feature tests.
|
||||
|
||||
1998-02-19 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
|
||||
|
||||
* sysdeps/unix/sysv/linux/unlockpt.c: Always return a value.
|
||||
|
||||
1998-02-20 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf/dlvsym.c (dlvsym_doit): More corrections.
|
||||
Patch by Andreas Jaeger.
|
||||
|
||||
1998-02-19 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/sigqueue.c: Fix weak alias definition.
|
||||
|
10
db2/README
10
db2/README
@ -1,3 +1,13 @@
|
||||
When Berkeley DB is distributed as part of the GNU system, the Berkeley
|
||||
DB license requirement that derivative works using Berkeley DB themselves
|
||||
be freely redistributable, does not apply to programs loading standard
|
||||
UNIX interfaces via the GNU C library and dynamically loading Berkeley DB
|
||||
support to obtain the underlying functionality.
|
||||
|
||||
Sleepycat Software, Inc.
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The LICENSE file, mentioned in the beginning of the source files, can
|
||||
be found together with all the other relevant license texts in the
|
||||
manual and the INSTALL file in the toplevel directory.
|
||||
|
@ -74,6 +74,7 @@ RTLD_NEXT used in code not dynamically loaded"));
|
||||
&args->ref,
|
||||
mapscope,
|
||||
NULL,
|
||||
&args->version,
|
||||
match);
|
||||
}
|
||||
}
|
||||
|
@ -455,7 +455,7 @@ extern void _dl_start_profile (struct link_map *map, const char *output_dir);
|
||||
extern void _dl_mcount (ElfW(Addr) frompc, ElfW(Addr) selfpc);
|
||||
|
||||
|
||||
/* Show the members of the auxiliry aray passed up from the kernel. */
|
||||
/* Show the members of the auxiliary array passed up from the kernel. */
|
||||
extern void _dl_show_auxv (void);
|
||||
|
||||
__END_DECLS
|
||||
|
@ -74,7 +74,8 @@ static int cistrcmp(const char *s1, const char *s2);
|
||||
#endif
|
||||
|
||||
/* This function is called to initialize a hesiod_p. */
|
||||
int hesiod_init(void **context)
|
||||
int
|
||||
hesiod_init (void **context)
|
||||
{
|
||||
struct hesiod_p *ctx;
|
||||
const char *p, *configname;
|
||||
@ -121,7 +122,8 @@ int hesiod_init(void **context)
|
||||
}
|
||||
|
||||
/* This function deallocates the hesiod_p. */
|
||||
void hesiod_end(void *context)
|
||||
void
|
||||
hesiod_end (void *context)
|
||||
{
|
||||
struct hesiod_p *ctx = (struct hesiod_p *) context;
|
||||
|
||||
@ -134,7 +136,8 @@ void hesiod_end(void *context)
|
||||
/* This function takes a hesiod (name, type) and returns a DNS
|
||||
* name which is to be resolved.
|
||||
*/
|
||||
char *hesiod_to_bind(void *context, const char *name, const char *type)
|
||||
char *
|
||||
hesiod_to_bind (void *context, const char *name, const char *type)
|
||||
{
|
||||
struct hesiod_p *ctx = (struct hesiod_p *) context;
|
||||
char bindname[MAXDNAME], *p, *endp, *ret, **rhs_list = NULL;
|
||||
@ -161,7 +164,8 @@ char *hesiod_to_bind(void *context, const char *name, const char *type)
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
} else
|
||||
}
|
||||
else
|
||||
rhs = ctx->rhs;
|
||||
|
||||
/* See if we have enough room. */
|
||||
@ -178,16 +182,16 @@ char *hesiod_to_bind(void *context, const char *name, const char *type)
|
||||
}
|
||||
|
||||
/* Put together the rest of the domain. */
|
||||
endp = __stpcpy (__stpcpy (endp, "."), type);
|
||||
endp = stpcpy (stpcpy (endp, "."), type);
|
||||
if (ctx->lhs)
|
||||
{
|
||||
if (ctx->lhs[0] != '.')
|
||||
endp = __stpcpy (endp, ".");
|
||||
endp = __stpcpy (endp, ctx->lhs);
|
||||
endp = stpcpy (endp, ".");
|
||||
endp = stpcpy (endp, ctx->lhs);
|
||||
}
|
||||
if (rhs[0] != '.')
|
||||
endp = __stpcpy (endp, ".");
|
||||
endp = __stpcpy (endp, rhs);
|
||||
endp = stpcpy (endp, ".");
|
||||
endp = stpcpy (endp, rhs);
|
||||
|
||||
/* rhs_list is no longer needed, since we're done with rhs. */
|
||||
if (rhs_list)
|
||||
@ -200,20 +204,20 @@ char *hesiod_to_bind(void *context, const char *name, const char *type)
|
||||
__set_errno (ENOMEM);
|
||||
return NULL;
|
||||
}
|
||||
strcpy(ret, bindname);
|
||||
return ret;
|
||||
return strcpy (ret, bindname);
|
||||
}
|
||||
|
||||
/* This is the core function. Given a hesiod name and type, it
|
||||
* returns an array of strings returned by the resolver.
|
||||
*/
|
||||
char **hesiod_resolve(void *context, const char *name, const char *type)
|
||||
char **
|
||||
hesiod_resolve (void *context, const char *name, const char *type)
|
||||
{
|
||||
struct hesiod_p *ctx = (struct hesiod_p *) context;
|
||||
char *bindname, **retvec;
|
||||
|
||||
bindname = hesiod_to_bind (context, name, type);
|
||||
if (!bindname)
|
||||
if (bindname == NULL)
|
||||
return NULL;
|
||||
|
||||
retvec = get_txt_records(ctx, ctx->classes[0], bindname);
|
||||
@ -224,7 +228,8 @@ char **hesiod_resolve(void *context, const char *name, const char *type)
|
||||
return retvec;
|
||||
}
|
||||
|
||||
void hesiod_free_list(void *context, char **list)
|
||||
void
|
||||
hesiod_free_list (void *context, char **list)
|
||||
{
|
||||
char **p;
|
||||
|
||||
@ -236,7 +241,8 @@ void hesiod_free_list(void *context, char **list)
|
||||
/* This function parses the /etc/hesiod.conf file. Returns 0 on success,
|
||||
* -1 on failure. On failure, it might leave values in ctx->lhs or
|
||||
* ctx->rhs which need to be freed by the caller. */
|
||||
static int read_config_file(struct hesiod_p *ctx, const char *filename)
|
||||
static int
|
||||
read_config_file (struct hesiod_p *ctx, const char *filename)
|
||||
{
|
||||
char *key, *data, *p, **which;
|
||||
char buf[MAXDNAME + 7];
|
||||
@ -249,7 +255,7 @@ static int read_config_file(struct hesiod_p *ctx, const char *filename)
|
||||
|
||||
/* Try to open the configuration file. */
|
||||
fp = fopen (filename, "r");
|
||||
if (!fp)
|
||||
if (fp = NULL)
|
||||
{
|
||||
/* Use compiled in default domain names. */
|
||||
ctx->lhs = malloc (strlen (DEF_LHS) + 1);
|
||||
@ -275,29 +281,28 @@ static int read_config_file(struct hesiod_p *ctx, const char *filename)
|
||||
if (*p == '#' || *p == '\n' || *p == '\r')
|
||||
continue;
|
||||
while (*p == ' ' || *p == '\t')
|
||||
p++;
|
||||
++p;
|
||||
key = p;
|
||||
while(*p != ' ' && *p != '\t' && *p != '=')
|
||||
p++;
|
||||
++p;
|
||||
*p++ = 0;
|
||||
|
||||
while (isspace (*p) || *p == '=')
|
||||
p++;
|
||||
++p;
|
||||
data = p;
|
||||
while (!isspace (*p))
|
||||
p++;
|
||||
++p;
|
||||
*p = 0;
|
||||
|
||||
if (cistrcmp (key, "lhs") == 0 || cistrcmp (key, "rhs") == 0)
|
||||
{
|
||||
which = (strcmp (key, "lhs") == 0) ? &ctx->lhs : &ctx->rhs;
|
||||
*which = malloc(strlen(data) + 1);
|
||||
*which = strdup (data);
|
||||
if (!*which)
|
||||
{
|
||||
__set_errno (ENOMEM);
|
||||
return -1;
|
||||
}
|
||||
strcpy(*which, data);
|
||||
}
|
||||
else if (cistrcmp (key, "classes") == 0)
|
||||
{
|
||||
@ -306,7 +311,7 @@ static int read_config_file(struct hesiod_p *ctx, const char *filename)
|
||||
{
|
||||
p = data;
|
||||
while (*p && *p != ',')
|
||||
p++;
|
||||
++p;
|
||||
if (*p)
|
||||
*p++ = 0;
|
||||
if (cistrcmp (data, "IN") == 0)
|
||||
@ -333,8 +338,8 @@ static int read_config_file(struct hesiod_p *ctx, const char *filename)
|
||||
/* Given a DNS class and a DNS name, do a lookup for TXT records, and
|
||||
* return a list of them.
|
||||
*/
|
||||
static char **get_txt_records(struct hesiod_p *ctx, int qclass,
|
||||
const char *name)
|
||||
static char **
|
||||
get_txt_records (struct hesiod_p *ctx, int qclass, const char *name)
|
||||
{
|
||||
HEADER *hp;
|
||||
unsigned char qbuf[PACKETSZ], abuf[MAX_HESRESP], *p, *eom, *eor;
|
||||
@ -367,7 +372,7 @@ static char **get_txt_records(struct hesiod_p *ctx, int qclass,
|
||||
eom = abuf + n;
|
||||
|
||||
/* Skip questions, trying to get to the answer section which follows. */
|
||||
for (i = 0; i < qdcount; i++)
|
||||
for (i = 0; i < qdcount; ++i)
|
||||
{
|
||||
skip = dn_skipname (p, eom);
|
||||
if (skip < 0 || p + skip + QFIXEDSZ > eom)
|
||||
@ -380,7 +385,7 @@ static char **get_txt_records(struct hesiod_p *ctx, int qclass,
|
||||
|
||||
/* Allocate space for the text record answers. */
|
||||
list = malloc ((ancount + 1) * sizeof(char *));
|
||||
if (!list)
|
||||
if (list == NULL)
|
||||
{
|
||||
__set_errno (ENOMEM);
|
||||
return NULL;
|
||||
@ -430,9 +435,8 @@ static char **get_txt_records(struct hesiod_p *ctx, int qclass,
|
||||
__set_errno (EMSGSIZE);
|
||||
break;
|
||||
}
|
||||
memcpy(dst, p, n);
|
||||
dst = mempcpy (dst, p, n);
|
||||
p += n;
|
||||
dst += n;
|
||||
}
|
||||
if (p < eor)
|
||||
{
|
||||
@ -463,7 +467,8 @@ static char **get_txt_records(struct hesiod_p *ctx, int qclass,
|
||||
}
|
||||
|
||||
#ifndef _LIBC
|
||||
static int cistrcmp(const char *s1, const char *s2)
|
||||
static int
|
||||
cistrcmp (const char *s1, const char *s2)
|
||||
{
|
||||
while (*s1 && tolower(*s1) == tolower(*s2))
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Generic conversion to and from 8bit charsets,
|
||||
converting from UCS using gaps.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -57,9 +57,9 @@ gconv_init (struct gconv_step *step, struct gconv_step_data *data)
|
||||
enum direction dir;
|
||||
int result;
|
||||
|
||||
if (__strcasestr (step->from_name, NAME) != NULL)
|
||||
if (strcasestr (step->from_name, NAME) != NULL)
|
||||
dir = from_8bit;
|
||||
else if (__strcasestr (step->to_name, NAME) != NULL)
|
||||
else if (strcasestr (step->to_name, NAME) != NULL)
|
||||
dir = to_8bit;
|
||||
else
|
||||
dir = illegal;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Generic conversion to and from 8bit charsets.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -44,9 +44,9 @@ gconv_init (struct gconv_step *step, struct gconv_step_data *data)
|
||||
enum direction dir;
|
||||
int result;
|
||||
|
||||
if (__strcasestr (step->from_name, NAME) != NULL)
|
||||
if (strcasestr (step->from_name, NAME) != NULL)
|
||||
dir = from_8bit;
|
||||
else if (__strcasestr (step->to_name, NAME) != NULL)
|
||||
else if (strcasestr (step->to_name, NAME) != NULL)
|
||||
dir = to_8bit;
|
||||
else
|
||||
dir = illegal;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Generic conversion to and from ISO 6937.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -394,9 +394,9 @@ gconv_init (struct gconv_step *step, struct gconv_step_data *data)
|
||||
enum direction dir;
|
||||
int result;
|
||||
|
||||
if (__strcasestr (step->from_name, "ISO_6937") != NULL)
|
||||
if (strcasestr (step->from_name, "ISO_6937") != NULL)
|
||||
dir = from_iso6937;
|
||||
else if (__strcasestr (step->to_name, "ISO_6937") != NULL)
|
||||
else if (strcasestr (step->to_name, "ISO_6937") != NULL)
|
||||
dir = to_iso6937;
|
||||
else
|
||||
dir = illegal;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Conversion to and from ISO 8859-1.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -44,9 +44,9 @@ gconv_init (struct gconv_step *step, struct gconv_step_data *data)
|
||||
enum direction dir;
|
||||
int result;
|
||||
|
||||
if (__strcasestr (step->from_name, "ISO-8859-1") != NULL)
|
||||
if (strcasestr (step->from_name, "ISO-8859-1") != NULL)
|
||||
dir = from_iso88591;
|
||||
else if (__strcasestr (step->to_name, "ISO-8859-1") != NULL)
|
||||
else if (strcasestr (step->to_name, "ISO-8859-1") != NULL)
|
||||
dir = to_iso88591;
|
||||
else
|
||||
dir = illegal;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Mapping tables for SJIS handling.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -4004,9 +4004,9 @@ gconv_init (struct gconv_step *step, struct gconv_step_data *data)
|
||||
enum direction dir;
|
||||
int result;
|
||||
|
||||
if (__strcasestr (step->from_name, "SJIS") != NULL)
|
||||
if (strcasestr (step->from_name, "SJIS") != NULL)
|
||||
dir = from_sjis;
|
||||
else if (__strcasestr (step->to_name, "SJIS") != NULL)
|
||||
else if (strcasestr (step->to_name, "SJIS") != NULL)
|
||||
dir = to_sjis;
|
||||
else
|
||||
dir = illegal;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Generic conversion to and from T.61.
|
||||
Copyright (C) 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
|
||||
|
||||
@ -385,9 +385,9 @@ gconv_init (struct gconv_step *step, struct gconv_step_data *data)
|
||||
enum direction dir;
|
||||
int result;
|
||||
|
||||
if (__strcasestr (step->from_name, "T.61") != NULL)
|
||||
if (strcasestr (step->from_name, "T.61") != NULL)
|
||||
dir = from_t61;
|
||||
else if (__strcasestr (step->to_name, "T.61") != NULL)
|
||||
else if (strcasestr (step->to_name, "T.61") != NULL)
|
||||
dir = to_t61;
|
||||
else
|
||||
dir = illegal;
|
||||
|
@ -82,7 +82,7 @@ struct termios
|
||||
#define ONLRET 0000040
|
||||
#define OFILL 0000100
|
||||
#define OFDEL 0000200
|
||||
#if !defined __USE_POSIX || defined __USE_UNIX98
|
||||
#if defined __USE_MISC || defined __USE_UNIX98
|
||||
# define NLDLY 0000400
|
||||
# define NL0 0000000
|
||||
# define NL1 0000400
|
||||
@ -108,12 +108,12 @@ struct termios
|
||||
#define VT0 0000000
|
||||
#define VT1 0040000
|
||||
|
||||
#if (!defined __USE_POSIX && !defined __USE_XOPEN) || defined __USE_GNU
|
||||
#ifdef __USE_MISC
|
||||
# define XTABS 0014000
|
||||
#endif
|
||||
|
||||
/* c_cflag bit meaning */
|
||||
#if (!defined __USE_POSIX && !defined __USE_XOPEN) || defined __USE_GNU
|
||||
#ifdef __USE_MISC
|
||||
# define CBAUD 0010017
|
||||
#endif
|
||||
#define B0 0000000 /* hang up */
|
||||
@ -132,7 +132,7 @@ struct termios
|
||||
#define B9600 0000015
|
||||
#define B19200 0000016
|
||||
#define B38400 0000017
|
||||
#if (!defined __USE_POSIX && !defined __USE_XOPEN) || defined __USE_GNU
|
||||
#ifdef __USE_MISC
|
||||
# define EXTA B19200
|
||||
# define EXTB B38400
|
||||
#endif
|
||||
@ -147,14 +147,14 @@ struct termios
|
||||
#define PARODD 0001000
|
||||
#define HUPCL 0002000
|
||||
#define CLOCAL 0004000
|
||||
#if (!defined __USE_POSIX && !defined __USE_XOPEN) || defined __USE_GNU
|
||||
#ifdef __USE_MISC
|
||||
# define CBAUDEX 0010000
|
||||
#endif
|
||||
#define B57600 0010001
|
||||
#define B115200 0010002
|
||||
#define B230400 0010003
|
||||
#define B460800 0010004
|
||||
#if (!defined __USE_POSIX && !defined __USE_XOPEN) || defined __USE_GNU
|
||||
#ifdef __USE_MISC
|
||||
# define CIBAUD 002003600000 /* input baud rate (not used) */
|
||||
# define CRTSCTS 020000000000 /* flow control */
|
||||
#endif
|
||||
@ -162,7 +162,7 @@ struct termios
|
||||
/* c_lflag bits */
|
||||
#define ISIG 0000001
|
||||
#define ICANON 0000002
|
||||
#if !defined __USE_POSIX || defined __USE_UNIX98
|
||||
#if defined __USE_MISC || defined __USE_UNIX98
|
||||
# define XCASE 0000004
|
||||
#endif
|
||||
#define ECHO 0000010
|
||||
@ -171,7 +171,7 @@ struct termios
|
||||
#define ECHONL 0000100
|
||||
#define NOFLSH 0000200
|
||||
#define TOSTOP 0000400
|
||||
#if (!defined __USE_POSIX && !defined __USE_XOPEN) || defined __USE_GNU
|
||||
#ifdef __USE_MISC
|
||||
# define ECHOCTL 0001000
|
||||
# define ECHOPRT 0002000
|
||||
# define ECHOKE 0004000
|
||||
|
@ -43,8 +43,7 @@ unlockpt (fd)
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
#else
|
||||
#endif
|
||||
/* On pre-/dev/ptmx kernels this function should be a no-op. */
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user