chiark / gitweb /
macro: interpret arguments to IOVEC_SET_STRING only once
authorLennart Poettering <lennart@poettering.net>
Sat, 15 May 2010 15:22:58 +0000 (17:22 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 15 May 2010 15:22:58 +0000 (17:22 +0200)
macro.h

diff --git a/macro.h b/macro.h
index 2379ee2..622c08e 100644 (file)
--- a/macro.h
+++ b/macro.h
@@ -117,10 +117,12 @@ static inline size_t ALIGN(size_t l) {
 
 #define char_array_0(x) x[sizeof(x)-1] = 0;
 
-#define IOVEC_SET_STRING(iovec, s)              \
+#define IOVEC_SET_STRING(i, s)                  \
         do {                                    \
-                (iovec).iov_base = s;           \
-                (iovec).iov_len = strlen(s);    \
+                struct iovec *_i = &(i);        \
+                char *_s = (char *)(s);         \
+                _i->iov_base = _s;              \
+                _i->iov_len = strlen(_s);       \
         } while(false);
 
 #include "log.h"