StrNCpy cleanup.
authorBruce Momjian
Sat, 25 Oct 1997 02:14:22 +0000 (02:14 +0000)
committerBruce Momjian
Sat, 25 Oct 1997 02:14:22 +0000 (02:14 +0000)
src/include/c.h

index f38a8b10f0904e9a0307e7168f32eda3df87ee1b..2f53a0b09a9a75c59c853ea5c9b67d43aaeccfb9 100644 (file)
@@ -7,7 +7,7 @@
  *
  * 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 $
  *
  *-------------------------------------------------------------------------
  */
@@ -690,11 +690,8 @@ typedef struct Exception
  *     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)