mirror of https://gitee.com/Nocallback/glibc.git
Browse Source
1998-11-12 Ulrich Drepper <drepper@cygnus.com> * locales/el_GR (abmon): Remove spaces at end of strings.cvs/glibc-2-1-branch
16 changed files with 204 additions and 115 deletions
@ -1 +1 @@ |
|||||
#include <protocols/routed.h> |
#include <inet/protocols/routed.h> |
||||
|
|||||
@ -1 +1 @@ |
|||||
#include <protocols/rwhod.h> |
#include <inet/protocols/rwhod.h> |
||||
|
|||||
@ -1 +1 @@ |
|||||
#include <protocols/talkd.h> |
#include <inet/protocols/talkd.h> |
||||
|
|||||
@ -1 +1 @@ |
|||||
#include <protocols/timed.h> |
#include <inet/protocols/timed.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 <bits/stdio.h> directly; use <stdio.h> 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 |
||||
Loading…
Reference in new issue