summaryrefslogtreecommitdiff
path: root/include/stdio.h
diff options
context:
space:
mode:
authorTrutz Behn2015-03-14 20:06:48 +0100
committersin2015-03-14 20:37:27 +0000
commit22e7e51007f3a28ded43f6cb8f0ff59a7a691175 (patch)
tree3d2ca7e61136adc3f77b817e117699918e0c223a /include/stdio.h
parentc2c9d0c6c8a1d74f748aa2ad9442957a37091062 (diff)
Use __typeof__ to in part avoid replicating function types
Diffstat (limited to 'include/stdio.h')
-rw-r--r--include/stdio.h21
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
20extern char *__fgets_orig(char *, int, FILE *) 20__typeof__(fgets) __fgets_orig __asm__(__USER_LABEL_PREFIX__ "fgets");
21 __asm__(__USER_LABEL_PREFIX__ "fgets");
22extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 21extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
23char *fgets(char *s, int n, FILE *fp) 22char *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
32extern 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");
34extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 32extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
35size_t fread(void *dst, size_t n, size_t nmemb, FILE *fp) 33size_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
46extern 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");
48extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 45extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
49size_t fwrite(const void *dst, size_t n, size_t nmemb, FILE *fp) 46size_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
60extern 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");
62extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 58extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
63int vsnprintf(char *s, size_t n, const char *fmt, __builtin_va_list ap) 59int 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
72extern 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");
74extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 69extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
75int vsprintf(char *s, const char *fmt, __builtin_va_list ap) 70int 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
90extern int __snprintf_orig(char *, size_t, const char *, ...) 85__typeof__(snprintf) __snprintf_orig __asm__(__USER_LABEL_PREFIX__ "snprintf");
91 __asm__(__USER_LABEL_PREFIX__ "snprintf");
92extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 86extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
93int snprintf(char *s, size_t n, const char *fmt, ...) 87int 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
102extern int __sprintf_orig(char *, const char *, ...) 96__typeof__(sprintf) __sprintf_orig __asm__(__USER_LABEL_PREFIX__ "sprintf");
103 __asm__(__USER_LABEL_PREFIX__ "sprintf");
104extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__)) 97extern __inline __attribute__((__always_inline__,__gnu_inline__,__artificial__))
105int sprintf(char *s, const char *fmt, ...) 98int sprintf(char *s, const char *fmt, ...)
106{ 99{