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]