*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: c.h,v 1.23 1997/10/25 01:10:58 momjian Exp $
+ * $Id: c.h,v 1.24 1997/10/25 02:14:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
* Does string copy, and forces terminating NULL
*/
/* we do this so if the macro is used in an if action, it will work */
-#define StrNCpy(dst,src,len) do { \
- strncpy((dst),(src),(len)); \
- if (len > 0) \
- *((dst)+(len)-1)='\0'; \
- } while (0)
+#define StrNCpy(dst,src,len) \
+ (strncpy((dst),(src),(len)),(len > 0) ? *((dst)+(len)-1)='\0' : NULL,(dst))
/* Get a bit mask of the bits set in non-int32 aligned addresses */
#define INT_ALIGN_MASK (sizeof(int32) - 1)