(syslog): Don't define for C++.
authordrepper <drepper>
Sat, 15 Sep 2007 02:32:59 +0000 (02:32 +0000)
committerdrepper <drepper>
Sat, 15 Sep 2007 02:32:59 +0000 (02:32 +0000)
(vsyslog): Use __extern_always_inline function for C++ instead of a macro.

(syslog): When __va_arg_pack is defined, implement as
__extern_always_inline function.
(vsyslog): Define as __extern_always_inline function unconditionally.

misc/bits/syslog.h

index c042721..f8c81dd 100644 (file)
@@ -1,5 +1,5 @@
 /* Checking macros for syslog functions.
-   Copyright (C) 2005 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2007 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
 extern void __syslog_chk (int __pri, int __flag, __const char *__fmt, ...)
      __attribute__ ((__format__ (__printf__, 3, 4)));
 
-#define syslog(pri, ...) \
+#ifdef __va_arg_pack
+__extern_always_inline void
+syslog (int __pri, int __flag, __const char *__fmt, ...)
+{
+  return __syslog_chk (__pri, __flag, __fmt, __va_arg_pack ());
+}
+#elif !defined __cplusplus
+# define syslog(pri, ...) \
   __syslog_chk (pri, __USE_FORTIFY_LEVEL - 1, __VA_ARGS__)
+#endif
 
 
 #ifdef __USE_BSD
@@ -34,6 +42,9 @@ extern void __vsyslog_chk (int __pri, int __flag, __const char *__fmt,
                           __gnuc_va_list __ap)
      __attribute__ ((__format__ (__printf__, 3, 0)));
 
-# define vsyslog(pri, fmt, ap)                                         \
-  __vsyslog_chk (pri, __USE_FORTIFY_LEVEL - 1, fmt, ap)
+__extern_always_inline void
+vsyslog (int __pri, __const char *__fmt, __gnuc_va_list __ap)
+{
+  return __vsyslog_chk (__pri,  __USE_FORTIFY_LEVEL - 1, __fmt, __ap);
+}
 #endif