From: Enrico Scholz Date: Fri, 5 Mar 2004 03:15:18 +0000 (+0000) Subject: fixed aliased functions; they are now in the *.c files and will not be X-Git-Tag: VERSION_0_10~502 X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0cf50263c27a375dc19553eea911db2fff1abdc6;p=util-vserver.git fixed aliased functions; they are now in the *.c files and will not be used anymore by every file including 'fmt.h' git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@1069 94cd875c-1c1d-0410-91d2-eb244daf1a30 --- diff --git a/util-vserver/lib/fmt-32.c b/util-vserver/lib/fmt-32.c index 0608a61..a48fd73 100644 --- a/util-vserver/lib/fmt-32.c +++ b/util-vserver/lib/fmt-32.c @@ -22,3 +22,11 @@ #define FMT_BITSIZE 32 #include "fmt.hc" + +#if __WORDSIZE==FMT_BITSIZE +size_t FMT_P(ulong_base)(char *ptr, unsigned long val, char base) ALIASFUNC(uint32_base); +size_t FMT_P( long_base)(char *ptr, long val, char base) ALIASFUNC( int32_base); +#endif + +size_t FMT_P(uint_base)(char *ptr, unsigned int val, char base) ALIASFUNC(uint32_base); +size_t FMT_P( int_base)(char *ptr, int val, char base) ALIASFUNC( int32_base); diff --git a/util-vserver/lib/fmt-64.c b/util-vserver/lib/fmt-64.c index 84b7376..1e3a610 100644 --- a/util-vserver/lib/fmt-64.c +++ b/util-vserver/lib/fmt-64.c @@ -22,3 +22,8 @@ #define FMT_BITSIZE 64 #include "fmt.hc" + +#if __WORDSIZE==64 +size_t FMT_P(ulong_base)(char *ptr, unsigned long val, char base) ALIASFUNC(uint64_base); +size_t FMT_P( long_base)(char *ptr, long val, char base) ALIASFUNC( int64_base); +#endif diff --git a/util-vserver/lib/fmt.h b/util-vserver/lib/fmt.h index 567a914..3ea12f8 100644 --- a/util-vserver/lib/fmt.h +++ b/util-vserver/lib/fmt.h @@ -30,10 +30,6 @@ #define FMT_P_(X,Y) FMT_P__(X,Y) #define FMT_P(X) FMT_P_(FMT_PREFIX, X) -#define STRINGIFY_(X) #X -#define STRINGIFY(X) STRINGIFY_(X) -#define WEAKFUNC(X) __attribute__((__weak__,__alias__(STRINGIFY(FMT_P(X))))) - #ifdef __cplusplus extern "C" { @@ -51,22 +47,15 @@ size_t FMT_P( int64_base)(char *ptr, int_least64_t val, char base); size_t FMT_P(uint32_base)(char *ptr, uint_least32_t val, char base); size_t FMT_P( int32_base)(char *ptr, int_least32_t val, char base); -#if __WORDSIZE == 64 -size_t FMT_P(ulong_base)(char *ptr, unsigned long val, char base) WEAKFUNC(uint64_base); -size_t FMT_P( long_base)(char *ptr, long val, char base) WEAKFUNC( int64_base); -size_t FMT_P(xulong) (char *ptr, unsigned long val) WEAKFUNC(xuint64); -size_t FMT_P( xlong) (char *ptr, long val) WEAKFUNC( xint64); -#else -size_t FMT_P(ulong_base)(char *ptr, unsigned long val, char base) WEAKFUNC(uint32_base); -size_t FMT_P( long_base)(char *ptr, long val, char base) WEAKFUNC( int32_base); -size_t FMT_P(xulong) (char *ptr, unsigned long val) WEAKFUNC(xuint32); -size_t FMT_P( xlong) (char *ptr, long val) WEAKFUNC( xint32); -#endif +size_t FMT_P(ulong_base)(char *ptr, unsigned long val, char base); +size_t FMT_P( long_base)(char *ptr, long val, char base); +size_t FMT_P(xulong) (char *ptr, unsigned long val); +size_t FMT_P( xlong) (char *ptr, long val); -size_t FMT_P(uint_base)(char *ptr, unsigned int val, char base) WEAKFUNC(uint32_base); -size_t FMT_P( int_base)(char *ptr, int val, char base) WEAKFUNC( int32_base); -size_t FMT_P(xuint) (char *ptr, unsigned int val, char base) WEAKFUNC(xuint32); -size_t FMT_P( xint) (char *ptr, int val, char base) WEAKFUNC( xint32); +size_t FMT_P(uint_base)(char *ptr, unsigned int val, char base); +size_t FMT_P( int_base)(char *ptr, int val, char base); +size_t FMT_P(xuint) (char *ptr, unsigned int val, char base); +size_t FMT_P( xint) (char *ptr, int val, char base); inline static size_t FMT_P(uint64)(char *ptr, uint_least64_t val) @@ -122,7 +111,7 @@ FMT_P(int)(char *ptr, int val) } #endif -#undef WEAKFUNC +#undef ALIASFUNC #undef STRINGIFY #undef STRINGIFY_ #undef FMT_P diff --git a/util-vserver/lib/fmt.hc b/util-vserver/lib/fmt.hc index 6a03e54..4472df1 100644 --- a/util-vserver/lib/fmt.hc +++ b/util-vserver/lib/fmt.hc @@ -24,6 +24,10 @@ #include "fmt-internal.h" #include +#define STRINGIFY_(X) #X +#define STRINGIFY(X) STRINGIFY_(X) +#define ALIASFUNC(X) __attribute__((__alias__(STRINGIFY(FMT_P(X))))) + size_t CONCAT(FMT_P(uint),_base)(char *ptr, CONCAT(uint_least,_t) val, char base) { diff --git a/util-vserver/lib/fmtx-32.c b/util-vserver/lib/fmtx-32.c index 06af2c1..290a01f 100644 --- a/util-vserver/lib/fmtx-32.c +++ b/util-vserver/lib/fmtx-32.c @@ -22,3 +22,11 @@ #define FMT_BITSIZE 32 #include "fmtx.hc" + +#if __WORDSIZE==FMT_BITSIZE +size_t FMT_P(xulong)(char *ptr, unsigned long val) ALIASFUNC(xuint32); +size_t FMT_P( xlong)(char *ptr, long val) ALIASFUNC( xint32); +#endif + +size_t FMT_P(xuint) (char *ptr, unsigned int val, char base) ALIASFUNC(xuint32); +size_t FMT_P( xint) (char *ptr, int val, char base) ALIASFUNC( xint32); diff --git a/util-vserver/lib/fmtx-64.c b/util-vserver/lib/fmtx-64.c index 097271e..3ae6a3a 100644 --- a/util-vserver/lib/fmtx-64.c +++ b/util-vserver/lib/fmtx-64.c @@ -22,3 +22,8 @@ #define FMT_BITSIZE 64 #include "fmtx.hc" + +#if __WORDSIZE==FMT_BITSIZE +size_t FMT_P(xulong)(char *ptr, unsigned long val) ALIASFUNC(xuint64); +size_t FMT_P( xlong)(char *ptr, long val) ALIASFUNC( xint64); +#endif diff --git a/util-vserver/lib/fmtx.hc b/util-vserver/lib/fmtx.hc index 4f25ae6..5204ee2 100644 --- a/util-vserver/lib/fmtx.hc +++ b/util-vserver/lib/fmtx.hc @@ -24,6 +24,11 @@ #include "fmt-internal.h" #include +#define STRINGIFY_(X) #X +#define STRINGIFY(X) STRINGIFY_(X) +#define ALIASFUNC(X) __attribute__((__alias__(STRINGIFY(FMT_P(X))))) + + size_t CONCAT(FMT_P(xuint),)(char *ptr, CONCAT(uint_least,_t) val) {