aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1998-02-11 21:38:08 +0000
committerBruce Momjian <bruce@momjian.us>1998-02-11 21:38:08 +0000
commite16640903385910cb6eea613f3a3badf6f25404e (patch)
treebea9ccd1319348ec98b9d1dde0be51423ba76c48 /src
parent182c2057f2876da658b5f2db52258335a48c5425 (diff)
downloadpostgresql-e16640903385910cb6eea613f3a3badf6f25404e.tar.gz
postgresql-e16640903385910cb6eea613f3a3badf6f25404e.zip
Change to MemSet for Alpha.
Diffstat (limited to 'src')
-rw-r--r--src/include/c.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/include/c.h b/src/include/c.h
index 1b928b3c6a5..c97d5e3b1bd 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -7,7 +7,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: c.h,v 1.31 1998/02/11 21:17:44 momjian Exp $
+ * $Id: c.h,v 1.32 1998/02/11 21:38:08 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -705,11 +705,16 @@ typedef struct Exception
#define StrNCpy(dst,src,len) \
(strncpy((dst),(src),(len)),(len > 0) ? *((dst)+(len)-1)='\0' : (dummyret)NULL,(void)(dst))
+/* Get a bit mask of the bits set in non-int32 aligned addresses */
+#define INT_ALIGN_MASK (sizeof(int32) - 1)
+
/* This function gets call too often, so we inline it if we can */
#define MemSet(start, val, len) do \
{ /* are we aligned for int32? */ \
- if ((start) == INTALIGN(start) && \
- (len) % sizeof(int32) == 0 && \
+ /* We have to cast the pointer to int \
+ so we can do the AND */ \
+ if (((long)(start) & INT_ALIGN_MASK) == 0 && \
+ ((len) & INT_ALIGN_MASK) == 0 && \
(val) == 0 && \
/* \
* We got this number by testing this \