mirror of
git://sourceware.org/git/glibc.git
synced 2025-01-30 12:31:53 +08:00
Update.
2000-12-16 Jakub Jelinek <jakub@redhat.com> * catgets/gencat.c (read_input_file): Avoid calling obstack_free with a pointer not returned by obstack_ functions. * sysdeps/unix/sysv/aix/bits/stat.h (struct stat): Align with AIX version. (struct stat64): Likewise. Reported by Michael Keezer <mkeezer@redhat.com>.
This commit is contained in:
parent
3d73829c18
commit
0a70515e2e
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
|||||||
|
2000-12-16 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
* catgets/gencat.c (read_input_file): Avoid calling obstack_free
|
||||||
|
with a pointer not returned by obstack_ functions.
|
||||||
|
|
||||||
2000-12-16 Ulrich Drepper <drepper@redhat.com>
|
2000-12-16 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/aix/bits/stat.h (struct stat): Align with AIX
|
||||||
|
version.
|
||||||
|
(struct stat64): Likewise.
|
||||||
|
Reported by Michael Keezer <mkeezer@redhat.com>.
|
||||||
|
|
||||||
* timezone/asia: Update from tzdata2000h.
|
* timezone/asia: Update from tzdata2000h.
|
||||||
* timezone/australasia: Likewise.
|
* timezone/australasia: Likewise.
|
||||||
* timezone/backward: Likewise.
|
* timezone/backward: Likewise.
|
||||||
|
@ -566,13 +566,14 @@ this is the first definition"));
|
|||||||
else if (isalnum (this_line[0]) || this_line[0] == '_')
|
else if (isalnum (this_line[0]) || this_line[0] == '_')
|
||||||
{
|
{
|
||||||
const char *ident = this_line;
|
const char *ident = this_line;
|
||||||
|
char *line = this_line;
|
||||||
int message_number;
|
int message_number;
|
||||||
|
|
||||||
do
|
do
|
||||||
++this_line;
|
++line;
|
||||||
while (this_line[0] != '\0' && !isspace (this_line[0]));
|
while (line[0] != '\0' && !isspace (line[0]));
|
||||||
if (this_line[0] != '\0')
|
if (line[0] != '\0')
|
||||||
*this_line++ = '\0'; /* Terminate the identifier. */
|
*line++ = '\0'; /* Terminate the identifier. */
|
||||||
|
|
||||||
/* Now we found the beginning of the message itself. */
|
/* Now we found the beginning of the message itself. */
|
||||||
|
|
||||||
@ -647,7 +648,7 @@ duplicated message identifier"));
|
|||||||
char *outbuf;
|
char *outbuf;
|
||||||
size_t outlen;
|
size_t outlen;
|
||||||
struct message_list *newp;
|
struct message_list *newp;
|
||||||
size_t this_line_len = strlen (this_line) + 1;
|
size_t line_len = strlen (line) + 1;
|
||||||
|
|
||||||
/* We need the conversion. */
|
/* We need the conversion. */
|
||||||
if (cd_towc == (iconv_t) -1
|
if (cd_towc == (iconv_t) -1
|
||||||
@ -662,8 +663,8 @@ duplicated message identifier"));
|
|||||||
message is stateful. */
|
message is stateful. */
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
inbuf = this_line;
|
inbuf = line;
|
||||||
inlen = this_line_len;
|
inlen = line_len;
|
||||||
outbuf = (char *) wbuf;
|
outbuf = (char *) wbuf;
|
||||||
outlen = wbufsize;
|
outlen = wbufsize;
|
||||||
|
|
||||||
@ -693,8 +694,6 @@ invalid character: message ignored"));
|
|||||||
wbuf = (wchar_t *) xrealloc (wbuf, wbufsize);
|
wbuf = (wchar_t *) xrealloc (wbuf, wbufsize);
|
||||||
}
|
}
|
||||||
|
|
||||||
used = 1; /* Yes, we use the line. */
|
|
||||||
|
|
||||||
/* Strip quote characters, change escape sequences into
|
/* Strip quote characters, change escape sequences into
|
||||||
correct characters etc. */
|
correct characters etc. */
|
||||||
normalize_line (fname, start_line, cd_towc, wbuf,
|
normalize_line (fname, start_line, cd_towc, wbuf,
|
||||||
@ -705,14 +704,17 @@ invalid character: message ignored"));
|
|||||||
memory allocated for the original string. */
|
memory allocated for the original string. */
|
||||||
obstack_free (¤t->mem_pool, this_line);
|
obstack_free (¤t->mem_pool, this_line);
|
||||||
|
|
||||||
|
used = 1; /* Yes, we use the line. */
|
||||||
|
|
||||||
/* Now fill in the new string. It should never happen that
|
/* Now fill in the new string. It should never happen that
|
||||||
the replaced string is longer than the original. */
|
the replaced string is longer than the original. */
|
||||||
inbuf = (char *) wbuf;
|
inbuf = (char *) wbuf;
|
||||||
inlen = (wcslen (wbuf) + 1) * sizeof (wchar_t);
|
inlen = (wcslen (wbuf) + 1) * sizeof (wchar_t);
|
||||||
|
|
||||||
outlen = obstack_room (¤t->mem_pool);
|
outlen = obstack_room (¤t->mem_pool);
|
||||||
start_line = (char *) obstack_alloc (¤t->mem_pool, outlen);
|
obstack_blank (¤t->mem_pool, outlen);
|
||||||
outbuf = start_line;
|
this_line = (char *) obstack_base (¤t->mem_pool);
|
||||||
|
outbuf = this_line;
|
||||||
|
|
||||||
/* Flush the state. */
|
/* Flush the state. */
|
||||||
iconv (cd_tomb, NULL, NULL, NULL, NULL);
|
iconv (cd_tomb, NULL, NULL, NULL, NULL);
|
||||||
@ -727,11 +729,12 @@ invalid character: message ignored"));
|
|||||||
assert (outbuf[-1] == '\0');
|
assert (outbuf[-1] == '\0');
|
||||||
|
|
||||||
/* Free the memory in the obstack we don't use. */
|
/* Free the memory in the obstack we don't use. */
|
||||||
obstack_free (¤t->mem_pool, outbuf);
|
obstack_blank (¤t->mem_pool, -(int) outlen);
|
||||||
|
line = obstack_finish (¤t->mem_pool);
|
||||||
|
|
||||||
newp = (struct message_list *) xmalloc (sizeof (*newp));
|
newp = (struct message_list *) xmalloc (sizeof (*newp));
|
||||||
newp->number = message_number;
|
newp->number = message_number;
|
||||||
newp->message = this_line;
|
newp->message = line;
|
||||||
/* Remember symbolic name; is NULL if no is given. */
|
/* Remember symbolic name; is NULL if no is given. */
|
||||||
newp->symbol = ident;
|
newp->symbol = ident;
|
||||||
/* Remember where we found the character. */
|
/* Remember where we found the character. */
|
||||||
|
@ -23,11 +23,7 @@
|
|||||||
struct stat
|
struct stat
|
||||||
{
|
{
|
||||||
__dev_t st_dev; /* Device. */
|
__dev_t st_dev; /* Device. */
|
||||||
#ifndef __USE_FILE_OFFSET64
|
|
||||||
__ino_t st_ino; /* File serial number. */
|
__ino_t st_ino; /* File serial number. */
|
||||||
#else
|
|
||||||
__ino64_t st_ino; /* File serial number. */
|
|
||||||
#endif
|
|
||||||
__mode_t st_mode; /* File mode. */
|
__mode_t st_mode; /* File mode. */
|
||||||
__nlink_t st_nlink; /* Link count. */
|
__nlink_t st_nlink; /* Link count. */
|
||||||
unsigned short int st_flag; /* Flag word. */
|
unsigned short int st_flag; /* Flag word. */
|
||||||
@ -46,11 +42,7 @@ struct stat
|
|||||||
__time_t st_ctime; /* Time of last status change. */
|
__time_t st_ctime; /* Time of last status change. */
|
||||||
unsigned long int __unused3;
|
unsigned long int __unused3;
|
||||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||||
#ifndef __USE_FILE_OFFSET64
|
|
||||||
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
|
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||||
#else
|
|
||||||
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
|
||||||
#endif
|
|
||||||
int st_vfstype; /* Type of the filesystem. */
|
int st_vfstype; /* Type of the filesystem. */
|
||||||
unsigned int st_vfs; /* Vfs number. */
|
unsigned int st_vfs; /* Vfs number. */
|
||||||
unsigned int st_type; /* Vnode type. */
|
unsigned int st_type; /* Vnode type. */
|
||||||
@ -69,7 +61,7 @@ struct stat
|
|||||||
struct stat64
|
struct stat64
|
||||||
{
|
{
|
||||||
__dev_t st_dev; /* Device. */
|
__dev_t st_dev; /* Device. */
|
||||||
__ino64_t st_ino; /* File serial number. */
|
__ino_t st_ino; /* File serial number. */
|
||||||
__mode_t st_mode; /* File mode. */
|
__mode_t st_mode; /* File mode. */
|
||||||
__nlink_t st_nlink; /* Link count. */
|
__nlink_t st_nlink; /* Link count. */
|
||||||
unsigned short int st_flag; /* Flag word. */
|
unsigned short int st_flag; /* Flag word. */
|
||||||
@ -84,7 +76,7 @@ struct stat64
|
|||||||
__time_t st_ctime; /* Time of last status change. */
|
__time_t st_ctime; /* Time of last status change. */
|
||||||
unsigned long int __unused3;
|
unsigned long int __unused3;
|
||||||
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
__blksize_t st_blksize; /* Optimal block size for I/O. */
|
||||||
__blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
|
__blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
|
||||||
int st_vfstype; /* Type of the filesystem. */
|
int st_vfstype; /* Type of the filesystem. */
|
||||||
unsigned int st_vfs; /* Vfs number. */
|
unsigned int st_vfs; /* Vfs number. */
|
||||||
unsigned int st_type; /* Vnode type. */
|
unsigned int st_type; /* Vnode type. */
|
||||||
|
Loading…
Reference in New Issue
Block a user