getRecentName(): use realpath(3) instead of errorprone 'chdir()' calls
[util-vserver.git] / util-vserver / lib / fmt.h
index e869829..587885b 100644 (file)
@@ -15,6 +15,9 @@
 // along with this program; if not, write to the Free Software
 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
+/** \file   fmt.h
+ *  \brief  Declarations for some fmt_* functions
+ */
 
 #ifndef H_VSERVER_DJINNI_SRC_FMT_H
 #define H_VSERVER_DJINNI_SRC_FMT_H
 #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" {
 #endif
 
+size_t FMT_P(xuint64)(char *ptr, uint_least64_t val);
+size_t FMT_P( xint64)(char *ptr,  int_least64_t val);
+
+size_t FMT_P(xuint32)(char *ptr, uint_least32_t val);
+size_t FMT_P( xint32)(char *ptr,  int_least32_t val);
+  
 size_t FMT_P(uint64_base)(char *ptr, uint_least64_t val, char base);
 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);
-#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);
-#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);
+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)
+{
+  return FMT_P(uint64_base)(ptr, val, 10);
+}
+
+inline static size_t
+FMT_P(int64)(char *ptr, uint_least64_t val)
+{
+  return FMT_P(int64_base)(ptr, val, 10);
+}
 
-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);
+inline static size_t
+FMT_P(uint32)(char *ptr, uint_least32_t val)
+{
+  return FMT_P(uint32_base)(ptr, val, 10);
+}
 
+inline static size_t
+FMT_P(int32)(char *ptr, uint_least32_t val)
+{
+  return FMT_P(int32_base)(ptr, val, 10);
+}
 
 inline static size_t
 FMT_P(ulong)(char *ptr, unsigned long val)
@@ -87,7 +114,7 @@ FMT_P(int)(char *ptr, int val)
 }
 #endif
 
-#undef WEAKFUNC
+#undef ALIASFUNC
 #undef STRINGIFY
 #undef STRINGIFY_
 #undef FMT_P