]> err.no Git - systemd/commitdiff
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 2379ee2de3cc6114dff85e2c454049a5b0b5ec37..622c08eeda89ef840f06ac24638ae01873d13469 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"