diff options
| author | Trutz Behn | 2015-03-14 20:06:48 +0100 |
|---|---|---|
| committer | sin | 2015-03-14 20:37:27 +0000 |
| commit | 22e7e51007f3a28ded43f6cb8f0ff59a7a691175 (patch) | |
| tree | 3d2ca7e61136adc3f77b817e117699918e0c223a /include/stdio.h | |
| parent | c2c9d0c6c8a1d74f748aa2ad9442957a37091062 (diff) | |
Use __typeof__ to in part avoid replicating function types
Diffstat (limited to 'include/stdio.h')
| -rw-r--r-- | include/stdio.h | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/include/stdio.h b/include/stdio.h index 3721c4b..ad80488 100644 --- a/include/stdio.h +++ b/include/stdio.h | |||
| @@ -17,8 +17,7 @@ extern "C" { | |||
| 17 | #undef snprintf | 17 | #undef snprintf |
| 18 | #undef sprintf | 18 | #undef sprintf |
| 19 | 19 | ||
| 20 | extern char *__fgets_orig(char *, int, FILE *) | 20 | __typeof__(fgets) __fgets_orig __asm__(__USER_LABEL_PREFIX__ "fgets"); |
| 21 | __asm__(__USER_LABEL_PREFIX__ "fgets"); | ||
| 22 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 21 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 23 | char *fgets(char *s, int n, FILE *fp) | 22 | char *fgets(char *s, int n, FILE *fp) |
| 24 | { | 23 | { |
| @@ -29,8 +28,7 @@ char *fgets(char *s, int n, FILE *fp) | |||
| 29 | return __fgets_orig(s, n, fp); | 28 | return __fgets_orig(s, n, fp); |
| 30 | } | 29 | } |
| 31 | 30 | ||
| 32 | extern size_t __fread_orig(void *, size_t, size_t, FILE *) | 31 | __typeof__(fread) __fread_orig __asm__(__USER_LABEL_PREFIX__ "fread"); |
| 33 | __asm__(__USER_LABEL_PREFIX__ "fread"); | ||
| 34 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 32 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 35 | size_t fread(void *dst, size_t n, size_t nmemb, FILE *fp) | 33 | size_t fread(void *dst, size_t n, size_t nmemb, FILE *fp) |
| 36 | { | 34 | { |
| @@ -43,8 +41,7 @@ size_t fread(void *dst, size_t n, size_t nmemb, FILE *fp) | |||
| 43 | return __fread_orig(dst, n, nmemb, fp); | 41 | return __fread_orig(dst, n, nmemb, fp); |
| 44 | } | 42 | } |
| 45 | 43 | ||
| 46 | extern size_t __fwrite_orig(const void *, size_t, size_t, FILE *) | 44 | __typeof__(fwrite) __fwrite_orig __asm__(__USER_LABEL_PREFIX__ "fwrite"); |
| 47 | __asm__(__USER_LABEL_PREFIX__ "fwrite"); | ||
| 48 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 45 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 49 | size_t fwrite(const void *dst, size_t n, size_t nmemb, FILE *fp) | 46 | size_t fwrite(const void *dst, size_t n, size_t nmemb, FILE *fp) |
| 50 | { | 47 | { |
| @@ -57,8 +54,7 @@ size_t fwrite(const void *dst, size_t n, size_t nmemb, FILE *fp) | |||
| 57 | return __fwrite_orig(dst, n, nmemb, fp); | 54 | return __fwrite_orig(dst, n, nmemb, fp); |
| 58 | } | 55 | } |
| 59 | 56 | ||
| 60 | extern int __vsnprintf_orig(char *, size_t, const char *, __builtin_va_list) | 57 | __typeof__(vsnprintf) __vsnprintf_orig __asm__(__USER_LABEL_PREFIX__ "vsnprintf"); |
| 61 | __asm__(__USER_LABEL_PREFIX__ "vsnprintf"); | ||
| 62 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 58 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 63 | int vsnprintf(char *s, size_t n, const char *fmt, __builtin_va_list ap) | 59 | int vsnprintf(char *s, size_t n, const char *fmt, __builtin_va_list ap) |
| 64 | { | 60 | { |
| @@ -69,8 +65,7 @@ int vsnprintf(char *s, size_t n, const char *fmt, __builtin_va_list ap) | |||
| 69 | return __vsnprintf_orig(s, n, fmt, ap); | 65 | return __vsnprintf_orig(s, n, fmt, ap); |
| 70 | } | 66 | } |
| 71 | 67 | ||
| 72 | extern int __vsprintf_orig(char *, const char *, __builtin_va_list) | 68 | __typeof__(vsprintf) __vsprintf_orig __asm__(__USER_LABEL_PREFIX__ "vsprintf"); |
| 73 | __asm__(__USER_LABEL_PREFIX__ "vsprintf"); | ||
| 74 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 69 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 75 | int vsprintf(char *s, const char *fmt, __builtin_va_list ap) | 70 | int vsprintf(char *s, const char *fmt, __builtin_va_list ap) |
| 76 | { | 71 | { |
| @@ -87,8 +82,7 @@ int vsprintf(char *s, const char *fmt, __builtin_va_list ap) | |||
| 87 | return r; | 82 | return r; |
| 88 | } | 83 | } |
| 89 | 84 | ||
| 90 | extern int __snprintf_orig(char *, size_t, const char *, ...) | 85 | __typeof__(snprintf) __snprintf_orig __asm__(__USER_LABEL_PREFIX__ "snprintf"); |
| 91 | __asm__(__USER_LABEL_PREFIX__ "snprintf"); | ||
| 92 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 86 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 93 | int snprintf(char *s, size_t n, const char *fmt, ...) | 87 | int snprintf(char *s, size_t n, const char *fmt, ...) |
| 94 | { | 88 | { |
| @@ -99,8 +93,7 @@ int snprintf(char *s, size_t n, const char *fmt, ...) | |||
| 99 | return __snprintf_orig(s, n, fmt, __builtin_va_arg_pack()); | 93 | return __snprintf_orig(s, n, fmt, __builtin_va_arg_pack()); |
| 100 | } | 94 | } |
| 101 | 95 | ||
| 102 | extern int __sprintf_orig(char *, const char *, ...) | 96 | __typeof__(sprintf) __sprintf_orig __asm__(__USER_LABEL_PREFIX__ "sprintf"); |
| 103 | __asm__(__USER_LABEL_PREFIX__ "sprintf"); | ||
| 104 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) | 97 | extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) |
| 105 | int sprintf(char *s, const char *fmt, ...) | 98 | int sprintf(char *s, const char *fmt, ...) |
| 106 | { | 99 | { |
