Author: aconway
Date: Fri Dec 12 20:56:28 2014
New Revision: 1645070

URL: http://svn.apache.org/r1645070
Log:
NO-JIRA: Avoid use of GNU extension ## comma deletion.

The following idiom is GNU C specific:
-#define log(fmt, ...)
-            log_impl(fmt , ##__VA_ARGS__);

The use of ## after a comma deletes the comma if __VA_ARGS__ is empty, so the 
above works
even if there is no argument after fmt.

The following is more portable:

+#define log(...)
+            log_impl(__VA_ARGS__);

Now fmt is included in the variadic argument list so it is never empty.  This is
slightly less self-descriptive since it doesn't correspond as well to the
signature of log_impl(fmt, ...), but it is standard C99.

Modified:
    qpid/dispatch/trunk/include/qpid/dispatch/error.h
    qpid/dispatch/trunk/include/qpid/dispatch/log.h
    qpid/dispatch/trunk/router/src/main.c
    qpid/dispatch/trunk/src/waypoint.c

Modified: qpid/dispatch/trunk/include/qpid/dispatch/error.h
URL: 
http://svn.apache.org/viewvc/qpid/dispatch/trunk/include/qpid/dispatch/error.h?rev=1645070&r1=1645069&r2=1645070&view=diff
==============================================================================
--- qpid/dispatch/trunk/include/qpid/dispatch/error.h (original)
+++ qpid/dispatch/trunk/include/qpid/dispatch/error.h Fri Dec 12 20:56:28 2014
@@ -57,7 +57,7 @@ ENUM_DECLARE(qd_error);
  *@param fmt printf-stlye format.
  *@return code
  */
-#define qd_error(code, fmt, ...) qd_error_impl(code, __FILE__, __LINE__, fmt, 
##__VA_ARGS__)
+#define qd_error(code, ...) qd_error_impl(code, __FILE__, __LINE__, 
__VA_ARGS__)
 
 qd_error_t qd_error_impl(qd_error_t code, const char *file, int line, const 
char *fmt, ...);
 
@@ -104,7 +104,7 @@ qd_error_t qd_error_py_impl(const char *
  * If errnum is non-0, set error code QD_ERROR_SYSTEM with a message including 
the errno text.
  * Otherwise, call qd_error_clear() and return QD_ERROR_NONE.
  */
-#define qd_error_errno(errnum, fmt, ...) qd_error_impl(errnum, __FILE__, 
__LINE__, fmt, ##__VA_ARGS__)
+#define qd_error_errno(errnum, ...) qd_error_impl(errnum, __FILE__, __LINE__, 
__VA_ARGS__)
 
 qd_error_t qd_error_errno_impl(int errnum, const char *file, int line, const 
char *fmt, ...);
 

Modified: qpid/dispatch/trunk/include/qpid/dispatch/log.h
URL: 
http://svn.apache.org/viewvc/qpid/dispatch/trunk/include/qpid/dispatch/log.h?rev=1645070&r1=1645069&r2=1645070&view=diff
==============================================================================
--- qpid/dispatch/trunk/include/qpid/dispatch/log.h (original)
+++ qpid/dispatch/trunk/include/qpid/dispatch/log.h Fri Dec 12 20:56:28 2014
@@ -47,10 +47,10 @@ void qd_log_impl(qd_log_source_t *source
  * @param c qd_log_level_t log level of message
  * @param f printf style format string ...
  */
-#define qd_log(source, level, fmt, ...)                                 \
+#define qd_log(source, level, ...)                                      \
     do {                                                                \
         if (qd_log_enabled(source, level))                              \
-            qd_log_impl(source, level, __FILE__, __LINE__, fmt , 
##__VA_ARGS__); \
+            qd_log_impl(source, level, __FILE__, __LINE__, __VA_ARGS__); \
     } while(0)
 
 /** Maximum length for a log message */

Modified: qpid/dispatch/trunk/router/src/main.c
URL: 
http://svn.apache.org/viewvc/qpid/dispatch/trunk/router/src/main.c?rev=1645070&r1=1645069&r2=1645070&view=diff
==============================================================================
--- qpid/dispatch/trunk/router/src/main.c (original)
+++ qpid/dispatch/trunk/router/src/main.c Fri Dec 12 20:56:28 2014
@@ -92,11 +92,11 @@ static void check(int fd) {
     }
 }
 
-#define fail(fd, fmt, ...)                                      \
-    do {                                                        \
-        if (!qd_error_errno(errno, fmt, ##__VA_ARGS__))         \
-            qd_error(QD_ERROR_RUNTIME, fmt, ##__VA_ARGS__);     \
-        check(fd);                                              \
+#define fail(fd, ...)                                   \
+    do {                                                \
+        if (!qd_error_errno(errno, __VA_ARGS__))        \
+            qd_error(QD_ERROR_RUNTIME, __VA_ARGS__);    \
+        check(fd);                                      \
     } while(false)
 
 static void main_process(const char *config_path, const char *python_pkgdir, 
int fd)

Modified: qpid/dispatch/trunk/src/waypoint.c
URL: 
http://svn.apache.org/viewvc/qpid/dispatch/trunk/src/waypoint.c?rev=1645070&r1=1645069&r2=1645070&view=diff
==============================================================================
--- qpid/dispatch/trunk/src/waypoint.c (original)
+++ qpid/dispatch/trunk/src/waypoint.c Fri Dec 12 20:56:28 2014
@@ -42,7 +42,7 @@ struct qd_waypoint_context_t {
 };
 
 // Convenience for logging waypoint messages, expects qd and wp to be defined.
-#define LOG(LEVEL, MSG, ...) qd_log(qd->router->log_source, QD_LOG_##LEVEL, 
"waypoint=%s: " MSG, wp->address, ##__VA_ARGS__)
+#define LOG(LEVEL, MSG, ...) qd_log(qd->router->log_source, QD_LOG_##LEVEL, 
"waypoint=%s: " MSG, wp->address, __VA_ARGS__)
 
 static void qd_waypoint_visit_sink_LH(qd_dispatch_t *qd, qd_waypoint_t *wp)
 {



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to