1998-07-20 18:23  Ulrich Drepper  <drepper@cygnus.com>

	* libio/libioP.h: Use __PMT in typedef.
	* libio/strfile.h: Likewise.

1998-07-20 18:20  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/unix/sysv/linux/gethostname.c: Return ENAMETOOLONG if
	buffer is too small.
	Reported by John Levon <j_levon@ncc.co.uk>.
This commit is contained in:
Ulrich Drepper 1998-07-20 18:25:24 +00:00
parent a9ddb79305
commit e4940e6628
3 changed files with 36 additions and 24 deletions

View File

@ -1,3 +1,14 @@
1998-07-20 18:23 Ulrich Drepper <drepper@cygnus.com>
* libio/libioP.h: Use __PMT in typedef.
* libio/strfile.h: Likewise.
1998-07-20 18:20 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/gethostname.c: Return ENAMETOOLONG if
buffer is too small.
Reported by John Levon <j_levon@ncc.co.uk>.
1998-07-20 17:09 Ulrich Drepper <drepper@cygnus.com> 1998-07-20 17:09 Ulrich Drepper <drepper@cygnus.com>
* shlib-versions: Remove definition for libSegFault. * shlib-versions: Remove definition for libSegFault.

View File

@ -99,20 +99,20 @@ extern "C" {
/* The 'finish' function does any final cleaning up of an _IO_FILE object. /* The 'finish' function does any final cleaning up of an _IO_FILE object.
It does not delete (free) it, but does everything else to finalize it/ It does not delete (free) it, but does everything else to finalize it/
It matches the streambuf::~streambuf virtual destructor. */ It matches the streambuf::~streambuf virtual destructor. */
typedef void (*_IO_finish_t) __P ((_IO_FILE *, int)); /* finalize */ typedef void (*_IO_finish_t) __PMT ((_IO_FILE *, int)); /* finalize */
#define _IO_FINISH(FP) JUMP1 (__finish, FP, 0) #define _IO_FINISH(FP) JUMP1 (__finish, FP, 0)
/* The 'overflow' hook flushes the buffer. /* The 'overflow' hook flushes the buffer.
The second argument is a character, or EOF. The second argument is a character, or EOF.
It matches the streambuf::overflow virtual function. */ It matches the streambuf::overflow virtual function. */
typedef int (*_IO_overflow_t) __P ((_IO_FILE *, int)); typedef int (*_IO_overflow_t) __PMT ((_IO_FILE *, int));
#define _IO_OVERFLOW(FP, CH) JUMP1 (__overflow, FP, CH) #define _IO_OVERFLOW(FP, CH) JUMP1 (__overflow, FP, CH)
/* The 'underflow' hook tries to fills the get buffer. /* The 'underflow' hook tries to fills the get buffer.
It returns the next character (as an unsigned char) or EOF. The next It returns the next character (as an unsigned char) or EOF. The next
character remains in the get buffer, and the get position is not changed. character remains in the get buffer, and the get position is not changed.
It matches the streambuf::underflow virtual function. */ It matches the streambuf::underflow virtual function. */
typedef int (*_IO_underflow_t) __P ((_IO_FILE *)); typedef int (*_IO_underflow_t) __PMT ((_IO_FILE *));
#define _IO_UNDERFLOW(FP) JUMP0 (__underflow, FP) #define _IO_UNDERFLOW(FP) JUMP0 (__underflow, FP)
/* The 'uflow' hook returns the next character in the input stream /* The 'uflow' hook returns the next character in the input stream
@ -124,21 +124,21 @@ typedef int (*_IO_underflow_t) __P ((_IO_FILE *));
/* The 'pbackfail' hook handles backing up. /* The 'pbackfail' hook handles backing up.
It matches the streambuf::pbackfail virtual function. */ It matches the streambuf::pbackfail virtual function. */
typedef int (*_IO_pbackfail_t) __P ((_IO_FILE *, int)); typedef int (*_IO_pbackfail_t) __PMT ((_IO_FILE *, int));
#define _IO_PBACKFAIL(FP, CH) JUMP1 (__pbackfail, FP, CH) #define _IO_PBACKFAIL(FP, CH) JUMP1 (__pbackfail, FP, CH)
/* The 'xsputn' hook writes upto N characters from buffer DATA. /* The 'xsputn' hook writes upto N characters from buffer DATA.
Returns the number of character actually written. Returns the number of character actually written.
It matches the streambuf::xsputn virtual function. */ It matches the streambuf::xsputn virtual function. */
typedef _IO_size_t (*_IO_xsputn_t) __P ((_IO_FILE *FP, const void *DATA, typedef _IO_size_t (*_IO_xsputn_t) __PMT ((_IO_FILE *FP, const void *DATA,
_IO_size_t N)); _IO_size_t N));
#define _IO_XSPUTN(FP, DATA, N) JUMP2 (__xsputn, FP, DATA, N) #define _IO_XSPUTN(FP, DATA, N) JUMP2 (__xsputn, FP, DATA, N)
/* The 'xsgetn' hook reads upto N characters into buffer DATA. /* The 'xsgetn' hook reads upto N characters into buffer DATA.
Returns the number of character actually read. Returns the number of character actually read.
It matches the streambuf::xsgetn virtual function. */ It matches the streambuf::xsgetn virtual function. */
typedef _IO_size_t (*_IO_xsgetn_t) __P ((_IO_FILE *FP, void *DATA, typedef _IO_size_t (*_IO_xsgetn_t) __PMT ((_IO_FILE *FP, void *DATA,
_IO_size_t N)); _IO_size_t N));
#define _IO_XSGETN(FP, DATA, N) JUMP2 (__xsgetn, FP, DATA, N) #define _IO_XSGETN(FP, DATA, N) JUMP2 (__xsgetn, FP, DATA, N)
/* The 'seekoff' hook moves the stream position to a new position /* The 'seekoff' hook moves the stream position to a new position
@ -146,8 +146,8 @@ typedef _IO_size_t (*_IO_xsgetn_t) __P ((_IO_FILE *FP, void *DATA,
(MODE==1), or the end of the file (MODE==2). (MODE==1), or the end of the file (MODE==2).
It matches the streambuf::seekoff virtual function. It matches the streambuf::seekoff virtual function.
It is also used for the ANSI fseek function. */ It is also used for the ANSI fseek function. */
typedef _IO_fpos64_t (*_IO_seekoff_t) __P ((_IO_FILE *FP, _IO_off64_t OFF, typedef _IO_fpos64_t (*_IO_seekoff_t) __PMT ((_IO_FILE *FP, _IO_off64_t OFF,
int DIR, int MODE)); int DIR, int MODE));
#define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE) #define _IO_SEEKOFF(FP, OFF, DIR, MODE) JUMP3 (__seekoff, FP, OFF, DIR, MODE)
/* The 'seekpos' hook also moves the stream position, /* The 'seekpos' hook also moves the stream position,
@ -155,24 +155,24 @@ typedef _IO_fpos64_t (*_IO_seekoff_t) __P ((_IO_FILE *FP, _IO_off64_t OFF,
It matches the streambuf::seekpos virtual function. It matches the streambuf::seekpos virtual function.
It is also used for the ANSI fgetpos and fsetpos functions. */ It is also used for the ANSI fgetpos and fsetpos functions. */
/* The _IO_seek_cur and _IO_seek_end options are not allowed. */ /* The _IO_seek_cur and _IO_seek_end options are not allowed. */
typedef _IO_fpos64_t (*_IO_seekpos_t) __P ((_IO_FILE *, _IO_fpos64_t, int)); typedef _IO_fpos64_t (*_IO_seekpos_t) __PMT ((_IO_FILE *, _IO_fpos64_t, int));
#define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS) #define _IO_SEEKPOS(FP, POS, FLAGS) JUMP2 (__seekpos, FP, POS, FLAGS)
/* The 'setbuf' hook gives a buffer to the file. /* The 'setbuf' hook gives a buffer to the file.
It matches the streambuf::setbuf virtual function. */ It matches the streambuf::setbuf virtual function. */
typedef _IO_FILE* (*_IO_setbuf_t) __P ((_IO_FILE *, char *, _IO_ssize_t)); typedef _IO_FILE* (*_IO_setbuf_t) __PMT ((_IO_FILE *, char *, _IO_ssize_t));
#define _IO_SETBUF(FP, BUFFER, LENGTH) JUMP2 (__setbuf, FP, BUFFER, LENGTH) #define _IO_SETBUF(FP, BUFFER, LENGTH) JUMP2 (__setbuf, FP, BUFFER, LENGTH)
/* The 'sync' hook attempts to synchronize the internal data structures /* The 'sync' hook attempts to synchronize the internal data structures
of the file with the external state. of the file with the external state.
It matches the streambuf::sync virtual function. */ It matches the streambuf::sync virtual function. */
typedef int (*_IO_sync_t) __P ((_IO_FILE *)); typedef int (*_IO_sync_t) __PMT ((_IO_FILE *));
#define _IO_SYNC(FP) JUMP0 (__sync, FP) #define _IO_SYNC(FP) JUMP0 (__sync, FP)
/* The 'doallocate' hook is used to tell the file to allocate a buffer. /* The 'doallocate' hook is used to tell the file to allocate a buffer.
It matches the streambuf::doallocate virtual function, which is not It matches the streambuf::doallocate virtual function, which is not
in the ANSI/ISO C++ standard, but is part traditional implementations. */ in the ANSI/ISO C++ standard, but is part traditional implementations. */
typedef int (*_IO_doallocate_t) __P ((_IO_FILE *)); typedef int (*_IO_doallocate_t) __PMT ((_IO_FILE *));
#define _IO_DOALLOCATE(FP) JUMP0 (__doallocate, FP) #define _IO_DOALLOCATE(FP) JUMP0 (__doallocate, FP)
/* The following four hooks (sysread, syswrite, sysclose, sysseek, and /* The following four hooks (sysread, syswrite, sysclose, sysseek, and
@ -190,46 +190,47 @@ typedef int (*_IO_doallocate_t) __P ((_IO_FILE *));
an existing buffer. It generalizes the Unix read(2) function. an existing buffer. It generalizes the Unix read(2) function.
It matches the streambuf::sys_read virtual function, which is It matches the streambuf::sys_read virtual function, which is
specific to this implementation. */ specific to this implementation. */
typedef _IO_ssize_t (*_IO_read_t) __P ((_IO_FILE *, void *, _IO_ssize_t)); typedef _IO_ssize_t (*_IO_read_t) __PMT ((_IO_FILE *, void *, _IO_ssize_t));
#define _IO_SYSREAD(FP, DATA, LEN) JUMP2 (__read, FP, DATA, LEN) #define _IO_SYSREAD(FP, DATA, LEN) JUMP2 (__read, FP, DATA, LEN)
/* The 'syswrite' hook is used to write data from an existing buffer /* The 'syswrite' hook is used to write data from an existing buffer
to an external file. It generalizes the Unix write(2) function. to an external file. It generalizes the Unix write(2) function.
It matches the streambuf::sys_write virtual function, which is It matches the streambuf::sys_write virtual function, which is
specific to this implementation. */ specific to this implementation. */
typedef _IO_ssize_t (*_IO_write_t) __P ((_IO_FILE *,const void *,_IO_ssize_t)); typedef _IO_ssize_t (*_IO_write_t) __PMT ((_IO_FILE *, const void *,
_IO_ssize_t));
#define _IO_SYSWRITE(FP, DATA, LEN) JUMP2 (__write, FP, DATA, LEN) #define _IO_SYSWRITE(FP, DATA, LEN) JUMP2 (__write, FP, DATA, LEN)
/* The 'sysseek' hook is used to re-position an external file. /* The 'sysseek' hook is used to re-position an external file.
It generalizes the Unix lseek(2) function. It generalizes the Unix lseek(2) function.
It matches the streambuf::sys_seek virtual function, which is It matches the streambuf::sys_seek virtual function, which is
specific to this implementation. */ specific to this implementation. */
typedef _IO_fpos64_t (*_IO_seek_t) __P ((_IO_FILE *, _IO_off64_t, int)); typedef _IO_fpos64_t (*_IO_seek_t) __PMT ((_IO_FILE *, _IO_off64_t, int));
#define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE) #define _IO_SYSSEEK(FP, OFFSET, MODE) JUMP2 (__seek, FP, OFFSET, MODE)
/* The 'sysclose' hook is used to finalize (close, finish up) an /* The 'sysclose' hook is used to finalize (close, finish up) an
external file. It generalizes the Unix close(2) function. external file. It generalizes the Unix close(2) function.
It matches the streambuf::sys_close virtual function, which is It matches the streambuf::sys_close virtual function, which is
specific to this implementation. */ specific to this implementation. */
typedef int (*_IO_close_t) __P ((_IO_FILE *)); /* finalize */ typedef int (*_IO_close_t) __PMT ((_IO_FILE *)); /* finalize */
#define _IO_SYSCLOSE(FP) JUMP0 (__close, FP) #define _IO_SYSCLOSE(FP) JUMP0 (__close, FP)
/* The 'sysstat' hook is used to get information about an external file /* The 'sysstat' hook is used to get information about an external file
into a struct stat buffer. It generalizes the Unix fstat(2) call. into a struct stat buffer. It generalizes the Unix fstat(2) call.
It matches the streambuf::sys_stat virtual function, which is It matches the streambuf::sys_stat virtual function, which is
specific to this implementation. */ specific to this implementation. */
typedef int (*_IO_stat_t) __P ((_IO_FILE *, void *)); typedef int (*_IO_stat_t) __PMT ((_IO_FILE *, void *));
#define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF) #define _IO_SYSSTAT(FP, BUF) JUMP1 (__stat, FP, BUF)
/* The 'showmany' hook can be used to get an image how much input is /* The 'showmany' hook can be used to get an image how much input is
available. In many cases the answer will be 0 which means unknown available. In many cases the answer will be 0 which means unknown
but some cases one can provide real information. */ but some cases one can provide real information. */
typedef int (*_IO_showmanyc_t) __P ((_IO_FILE *)); typedef int (*_IO_showmanyc_t) __PMT ((_IO_FILE *));
#define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP) #define _IO_SHOWMANYC(FP) JUMP0 (__showmanyc, FP)
/* The 'imbue' hook is used to get information about the currently /* The 'imbue' hook is used to get information about the currently
installed locales. */ installed locales. */
typedef void (*_IO_imbue_t) __P ((_IO_FILE *, void *)); typedef void (*_IO_imbue_t) __PMT ((_IO_FILE *, void *));
#define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE) #define _IO_IMBUE(FP, LOCALE) JUMP1 (__imbue, FP, LOCALE)

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1997 Free Software Foundation, Inc. /* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library. This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or This library is free software; you can redistribute it and/or
@ -28,8 +28,8 @@
Merge into libio.h ? Merge into libio.h ?
#endif #endif
typedef void *(*_IO_alloc_type) __P ((_IO_size_t)); typedef void *(*_IO_alloc_type) __PMT ((_IO_size_t));
typedef void (*_IO_free_type) __P ((void*)); typedef void (*_IO_free_type) __PMT ((void*));
struct _IO_str_fields struct _IO_str_fields
{ {