From 085320f505022f7fbc53b229ef1dc31826e66c34 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 12 Nov 1998 18:03:43 +0000 Subject: (abmon): Remove spaces. 1998-11-12 Ulrich Drepper * locales/el_GR (abmon): Remove spaces at end of strings. --- libio/Makefile | 2 +- libio/bits/stdio.h | 160 +++++++++++++++++++++++++++++++++++++++++++++++++++++ libio/iofread.c | 2 +- libio/iofread_u.c | 4 +- libio/iofwrite_u.c | 2 + libio/stdio.h | 97 ++------------------------------ 6 files changed, 173 insertions(+), 94 deletions(-) create mode 100644 libio/bits/stdio.h (limited to 'libio') diff --git a/libio/Makefile b/libio/Makefile index ca1a3e4b80..3dd3705b1a 100644 --- a/libio/Makefile +++ b/libio/Makefile @@ -21,7 +21,7 @@ # subdir := libio -headers := stdio.h libio.h _G_config.h +headers := stdio.h libio.h _G_config.h bits/stdio.h routines := \ filedoalloc iofclose iofdopen iofflush iofgetpos iofgets iofopen \ diff --git a/libio/bits/stdio.h b/libio/bits/stdio.h new file mode 100644 index 0000000000..f47749e1d6 --- /dev/null +++ b/libio/bits/stdio.h @@ -0,0 +1,160 @@ +/* Optimizing macros and inline functions for stdio functions. + Copyright (C) 198 Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _STDIO_H +# error "Never include directly; use instead." +#endif + +#ifdef __cplusplus +# define __STDIO_INLINE inline +#else +# define __STDIO_INLINE extern __inline +#endif + + +#ifdef __USE_EXTERN_INLINES +/* Write formatted output to stdout from argument list ARG. */ +__STDIO_INLINE int +vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW +{ + return vfprintf (stdout, __fmt, __arg); +} + +/* Read a character from stdin. */ +__STDIO_INLINE int +getchar (void) __THROW +{ + return _IO_getc (stdin); +} + + +# if defined __USE_POSIX || defined __USE_MISC +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +getc_unlocked (FILE *__fp) __THROW +{ + return _IO_getc_unlocked (__fp); +} + +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +getchar_unlocked (void) __THROW +{ + return _IO_getc_unlocked (stdin); +} +# endif /* POSIX || misc */ + + +/* Write a character to stdout. */ +__STDIO_INLINE int +putchar (int __c) __THROW +{ + return _IO_putc (__c, stdout); +} + + +# ifdef __USE_MISC +/* Faster version when locking is not necessary. */ +__STDIO_INLINE int +fputc_unlocked (int __c, FILE *__stream) __THROW +{ + return _IO_putc_unlocked (__c, __stream); +} +# endif /* misc */ + + +# if defined __USE_POSIX || defined __USE_MISC +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +putc_unlocked (int __c, FILE *__stream) __THROW +{ + return _IO_putc_unlocked (__c, __stream); +} + +/* This is defined in POSIX.1:1996. */ +__STDIO_INLINE int +putchar_unlocked (int __c) __THROW +{ + return _IO_putc_unlocked (__c, stdout); +} +# endif /* POSIX || misc */ + + +# ifdef __USE_GNU +/* Like `getdelim', but reads up to a newline. */ +__STDIO_INLINE _IO_ssize_t +getline (char **__lineptr, size_t *__n, FILE *__stream) __THROW +{ + return __getdelim (__lineptr, __n, '\n', __stream); +} +# endif /* GNU */ + + +# ifdef __USE_MISC +/* Faster versions when locking is not required. */ +__STDIO_INLINE int +feof_unlocked (FILE *__stream) __THROW +{ + return _IO_feof_unlocked (__stream); +} + +/* Faster versions when locking is not required. */ +__STDIO_INLINE int +ferror_unlocked (FILE *__stream) __THROW +{ + return _IO_ferror_unlocked (__stream); +} +# endif /* misc */ + +#endif /* Use extern inlines. */ + + +#if defined __USE_MISC && defined __GNUC__ && defined __OPTIMIZE__ +/* Perform some simple optimizations. */ +# define fread_unlocked(ptr, size, n, stream) \ + (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \ + && (size_t) ((size) * (n)) <= 8) \ + ? ({ char *__ptr = (char *) (ptr); \ + FILE *__stream = (stream); \ + int __c; \ + size_t __cnt = (size) * (n); \ + while (__cnt-- > 0) \ + { \ + __c = _IO_getc_unlocked (__stream); \ + if (__c == EOF) \ + break; \ + *__ptr++ = __c; \ + } \ + ((size_t) ((size) * (n)) - __cnt) / (size); }) \ + : fread_unlocked (ptr, size, n, stream))) + +# define fwrite_unlocked(ptr, size, n, stream) \ + (__extension__ ((__builtin_constant_p (size) && __builtin_constant_p (n) \ + && (size_t) ((size) * (n)) <= 8) \ + ? ({ const char *__ptr = (const char *) (ptr); \ + FILE *__stream = (stream); \ + size_t __cnt = (size) * (n); \ + while (__cnt-- > 0) \ + if (_IO_putc_unlocked (*__ptr++, __stream) == EOF) \ + break; \ + ((size_t) ((size) * (n)) - __cnt) / (size); }) \ + : fwrite_unlocked (ptr, size, n, stream))) +#endif + +/* Define helper macro. */ +#undef __STDIO_INLINE diff --git a/libio/iofread.c b/libio/iofread.c index 36640065d5..c2d12d8693 100644 --- a/libio/iofread.c +++ b/libio/iofread.c @@ -32,7 +32,7 @@ _IO_fread (buf, size, count, fp) _IO_size_t count; _IO_FILE *fp; { - _IO_size_t bytes_requested = size*count; + _IO_size_t bytes_requested = size * count; _IO_size_t bytes_read; CHECK_FILE (fp, 0); if (bytes_requested == 0) diff --git a/libio/iofread_u.c b/libio/iofread_u.c index 69627165eb..aeef514ed2 100644 --- a/libio/iofread_u.c +++ b/libio/iofread_u.c @@ -26,6 +26,8 @@ #include "libioP.h" #include +#undef fread_unlocked + _IO_size_t fread_unlocked (buf, size, count, fp) void *buf; @@ -33,7 +35,7 @@ fread_unlocked (buf, size, count, fp) _IO_size_t count; _IO_FILE *fp; { - _IO_size_t bytes_requested = size*count; + _IO_size_t bytes_requested = size * count; _IO_size_t bytes_read; CHECK_FILE (fp, 0); if (bytes_requested == 0) diff --git a/libio/iofwrite_u.c b/libio/iofwrite_u.c index 3ffc9bff2b..38d1bd08a3 100644 --- a/libio/iofwrite_u.c +++ b/libio/iofwrite_u.c @@ -26,6 +26,8 @@ #include "libioP.h" #include +#undef fwrite_unlocked + _IO_size_t fwrite_unlocked (buf, size, count, fp) const void *buf; diff --git a/libio/stdio.h b/libio/stdio.h index 4fd2e99453..cd7205f048 100644 --- a/libio/stdio.h +++ b/libio/stdio.h @@ -56,12 +56,6 @@ typedef struct _IO_FILE FILE; #include -#ifdef __cplusplus -# define __STDIO_INLINE inline -#else -# define __STDIO_INLINE extern __inline -#endif - /* The type of the second argument to `fgetpos' and `fsetpos'. */ #ifndef __USE_FILE_OFFSET64 typedef _G_fpos_t fpos_t; @@ -267,14 +261,6 @@ extern int vsprintf __P ((char *__restrict __s, __const char *__restrict __format, _G_va_list __arg)); -#ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -vprintf (__const char *__restrict __fmt, _G_va_list __arg) __THROW -{ - return vfprintf (stdout, __fmt, __arg); -} -#endif /* Use extern inlines. */ - #if defined __USE_BSD || defined __USE_ISOC9X || defined __USE_UNIX98 /* Maximum chars of output to write in MAXLEN. */ extern int snprintf __P ((char *__restrict __s, size_t __maxlen, @@ -352,32 +338,10 @@ extern int getchar __P ((void)); optimization for it. */ #define getc(_fp) _IO_getc (_fp) -#ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -getchar (void) __THROW -{ - return _IO_getc (stdin); -} -#endif /* Use extern inlines. */ - #if defined __USE_POSIX || defined __USE_MISC /* These are defined in POSIX.1:1996. */ extern int getc_unlocked __P ((FILE *__stream)); extern int getchar_unlocked __P ((void)); - -# ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -getc_unlocked (FILE *__fp) __THROW -{ - return _IO_getc_unlocked (__fp); -} - -__STDIO_INLINE int -getchar_unlocked (void) __THROW -{ - return _IO_getc_unlocked (stdin); -} -# endif /* Use extern inlines. */ #endif /* Use POSIX or MISC. */ @@ -392,45 +356,15 @@ extern int putchar __P ((int __c)); so we always do the optimization for it. */ #define putc(_ch, _fp) _IO_putc (_ch, _fp) -#ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -putchar (int __c) __THROW -{ - return _IO_putc (__c, stdout); -} -#endif /* Use extern inlines. */ - #ifdef __USE_MISC /* Faster version when locking is not necessary. */ extern int fputc_unlocked __P ((int __c, FILE *__stream)); - -# ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -fputc_unlocked (int __c, FILE *__stream) __THROW -{ - return _IO_putc_unlocked (__c, __stream); -} -# endif /* Use extern inlines. */ #endif /* Use MISC. */ #if defined __USE_POSIX || defined __USE_MISC /* These are defined in POSIX.1:1996. */ extern int putc_unlocked __P ((int __c, FILE *__stream)); extern int putchar_unlocked __P ((int __c)); - -# ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -putc_unlocked (int __c, FILE *__stream) __THROW -{ - return _IO_putc_unlocked (__c, __stream); -} - -__STDIO_INLINE int -putchar_unlocked (int __c) __THROW -{ - return _IO_putc_unlocked (__c, stdout); -} -# endif /* Use extern inlines. */ #endif /* Use POSIX or MISC. */ @@ -472,14 +406,6 @@ extern _IO_ssize_t getdelim __P ((char **__lineptr, size_t *__n, /* Like `getdelim', but reads up to a newline. */ extern _IO_ssize_t getline __P ((char **__lineptr, size_t *__n, FILE *__stream)); - -# ifdef __USE_EXTERN_INLINES -__STDIO_INLINE _IO_ssize_t -getline (char **__lineptr, size_t *__n, FILE *__stream) __THROW -{ - return __getdelim (__lineptr, __n, '\n', __stream); -} -# endif /* Use extern inlines. */ #endif @@ -603,20 +529,6 @@ extern int ferror __P ((FILE *__stream)); extern void clearerr_unlocked __P ((FILE *__stream)); extern int feof_unlocked __P ((FILE *__stream)); extern int ferror_unlocked __P ((FILE *__stream)); - -# ifdef __USE_EXTERN_INLINES -__STDIO_INLINE int -feof_unlocked (FILE *__stream) __THROW -{ - return _IO_feof_unlocked (__stream); -} - -__STDIO_INLINE int -ferror_unlocked (FILE *__stream) __THROW -{ - return _IO_ferror_unlocked (__stream); -} -# endif /* Use extern inlines. */ #endif @@ -702,10 +614,13 @@ extern void funlockfile __P ((FILE *__stream)); # include #endif -__END_DECLS +/* If we are compiling with optimizing read this file. It contains + several optizing inline functions and macros. */ +#ifdef __USE_EXTERN_INLINES +# include +#endif -/* Define helper macro. */ -#undef __STDIO_INLINE +__END_DECLS #endif /* included. */ -- cgit 1.4.1