mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Remove miscellaneous debris from libio.
This patch eliminates a number of #if 0 and #ifdef TODO blocks, macros that are never used, macros that provide portability to substrates that lack basic things like EINVAL and off_t, and other such debris. I preserved IO_DEBUG and CHECK_FILE, even though as far as I can tell IO_DEBUG is never defined and therefore CHECK_FILE never does anything, because it seems like we might actually want to turn it _on_. Installed stripped libraries and executables are unchanged, except, again, that the line number of an assertion changes (this time it's somewhere in fileops.c). * libio/libio.h (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): Define here, unconditionally. * libio/iolibio.h (_IO_pos_BAD): Don't define here. * libio/libioP.h: Remove #if 0 blocks. (_IO_pos_BAD, _IO_pos_0, _IO_pos_adjust): Don't define here. (_IO_va_start, COERCE_FILE, MAYBE_SET_EINVAL): Don't define. (CHECK_FILE): Don't use MAYBE_SET_EINVAL or COERCE_FILE. Fix style. * libio/clearerr.c, libio/fputc.c, libio/getchar.c: Assume weak_alias is always defined. * libio/fileops.c, libio/genops.c, libio/oldfileops.c * libio/oldpclose.c, libio/pclose.c, libio/wfileops.c: Remove #if 0 and #ifdef TODO blocks. Assume text_set_element is always defined. * libio/iofdopen.c, libio/iogetdelim.c, libio/oldiofdopen.c Use __set_errno (EINVAL) instead of MAYBE_SET_EINVAL. * libio/tst-mmap-eofsync.c: Make #if 1 block unconditional.
This commit is contained in:
@ -309,10 +309,6 @@ struct _IO_jump_t
|
||||
JUMP_FIELD(_IO_stat_t, __stat);
|
||||
JUMP_FIELD(_IO_showmanyc_t, __showmanyc);
|
||||
JUMP_FIELD(_IO_imbue_t, __imbue);
|
||||
#if 0
|
||||
get_column;
|
||||
set_column;
|
||||
#endif
|
||||
};
|
||||
|
||||
/* We always allocate an extra word following an _IO_FILE.
|
||||
@ -710,19 +706,6 @@ extern off64_t _IO_seekpos_unlocked (FILE *, off64_t, int)
|
||||
|
||||
extern int _IO_vscanf (const char *, va_list) __THROW;
|
||||
|
||||
/* _IO_pos_BAD is an off64_t value indicating error, unknown, or EOF. */
|
||||
#ifndef _IO_pos_BAD
|
||||
# define _IO_pos_BAD ((off64_t) -1)
|
||||
#endif
|
||||
/* _IO_pos_adjust adjust an off64_t by some number of bytes. */
|
||||
#ifndef _IO_pos_adjust
|
||||
# define _IO_pos_adjust(pos, delta) ((pos) += (delta))
|
||||
#endif
|
||||
/* _IO_pos_0 is an off64_t value indicating beginning of file. */
|
||||
#ifndef _IO_pos_0
|
||||
# define _IO_pos_0 ((off64_t) 0)
|
||||
#endif
|
||||
|
||||
#ifdef _IO_MTSAFE_IO
|
||||
/* check following! */
|
||||
# ifdef _IO_USE_OLD_IO_FILE
|
||||
@ -752,33 +735,19 @@ extern int _IO_vscanf (const char *, va_list) __THROW;
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define _IO_va_start(args, last) va_start(args, last)
|
||||
|
||||
extern struct _IO_fake_stdiobuf _IO_stdin_buf, _IO_stdout_buf, _IO_stderr_buf;
|
||||
|
||||
#if 1
|
||||
# define COERCE_FILE(FILE) /* Nothing */
|
||||
#else
|
||||
/* This is part of the kludge for binary compatibility with old stdio. */
|
||||
# define COERCE_FILE(FILE) \
|
||||
(((FILE)->_flags & _IO_MAGIC_MASK) == _OLD_MAGIC_MASK \
|
||||
&& (FILE) = *(FILE**)&((int*)fp)[1])
|
||||
#endif
|
||||
|
||||
#ifdef EINVAL
|
||||
# define MAYBE_SET_EINVAL __set_errno (EINVAL)
|
||||
#else
|
||||
# define MAYBE_SET_EINVAL /* nothing */
|
||||
#endif
|
||||
|
||||
#ifdef IO_DEBUG
|
||||
# define CHECK_FILE(FILE, RET) \
|
||||
if ((FILE) == NULL) { MAYBE_SET_EINVAL; return RET; } \
|
||||
else { COERCE_FILE(FILE); \
|
||||
if (((FILE)->_flags & _IO_MAGIC_MASK) != _IO_MAGIC) \
|
||||
{ MAYBE_SET_EINVAL; return RET; }}
|
||||
# define CHECK_FILE(FILE, RET) do { \
|
||||
if ((FILE) == NULL || \
|
||||
((FILE)->_flags & _IO_MAGIC_MASK) != _IO_MAGIC) \
|
||||
{ \
|
||||
__set_errno (EINVAL); \
|
||||
return RET; \
|
||||
} \
|
||||
} while (0)
|
||||
#else
|
||||
# define CHECK_FILE(FILE, RET) COERCE_FILE (FILE)
|
||||
# define CHECK_FILE(FILE, RET) do { } while (0)
|
||||
#endif
|
||||
|
||||
static inline void
|
||||
|
Reference in New Issue
Block a user