]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/asm-arm/string.h
Merge with git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
[linux-2.6-omap-h63xx.git] / include / asm-arm / string.h
index 2a8ab162412fe70a9b78ab65cee951edd918e3fe..e50c4a39b699779f9af151397eeeb022ff2da0f5 100644 (file)
@@ -29,15 +29,22 @@ extern void __memzero(void *ptr, __kernel_size_t n);
 
 #define memset(p,v,n)                                                  \
        ({                                                              \
-               if ((n) != 0) {                                         \
+               void *__p = (p); size_t __n = n;                        \
+               if ((__n) != 0) {                                       \
                        if (__builtin_constant_p((v)) && (v) == 0)      \
-                               __memzero((p),(n));                     \
+                               __memzero((__p),(__n));                 \
                        else                                            \
-                               memset((p),(v),(n));                    \
+                               memset((__p),(v),(__n));                \
                }                                                       \
-               (p);                                                    \
+               (__p);                                                  \
        })
 
-#define memzero(p,n) ({ if ((n) != 0) __memzero((p),(n)); (p); })
+#define memzero(p,n)                                                   \
+       ({                                                              \
+               void *__p = (p); size_t __n = n;                        \
+               if ((__n) != 0)                                         \
+                       __memzero((__p),(__n));                         \
+               (__p);                                                  \
+        })
 
 #endif