Use local variable in chunk_from_str()
authorTobias Brunner <tobias@strongswan.org>
Thu, 28 Mar 2013 15:33:39 +0000 (16:33 +0100)
committerTobias Brunner <tobias@strongswan.org>
Tue, 11 Jun 2013 09:03:12 +0000 (11:03 +0200)
This allows using strdup() or other string functions as argument
without calling them twice.

src/libstrongswan/utils/chunk.h

index cfda6ee..b9f2bf2 100644 (file)
@@ -191,9 +191,9 @@ static inline void chunk_clear(chunk_t *chunk)
 #define chunk_from_thing(thing) chunk_create((char*)&(thing), sizeof(thing))
 
 /**
- * Initialize a chunk from a static string, not containing 0-terminator
+ * Initialize a chunk from a string, not containing 0-terminator
  */
-#define chunk_from_str(str) chunk_create(str, strlen(str))
+#define chunk_from_str(str) ({char *x = (str); chunk_create(x, strlen(x));})
 
 /**
  * Allocate a chunk on the heap