Module Name: src
Committed By: hkenken
Date: Sat Mar 22 02:51:44 UTC 2014
Modified Files:
src/sys/lib/libsa: subr_prf.c
Log Message:
for LIBSA_PRINTF_WIDTH_SUPPORT,
Fix right and left-adjusting padding.
To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/sys/lib/libsa/subr_prf.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/lib/libsa/subr_prf.c
diff -u src/sys/lib/libsa/subr_prf.c:1.23 src/sys/lib/libsa/subr_prf.c:1.24
--- src/sys/lib/libsa/subr_prf.c:1.23 Tue Dec 24 22:26:21 2013
+++ src/sys/lib/libsa/subr_prf.c Sat Mar 22 02:51:44 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: subr_prf.c,v 1.23 2013/12/24 22:26:21 jakllsch Exp $ */
+/* $NetBSD: subr_prf.c,v 1.24 2014/03/22 02:51:44 hkenken Exp $ */
/*-
* Copyright (c) 1993
@@ -79,7 +79,7 @@ const char hexdigits[16] = "0123456789ab
#define ZEROPAD 0x40
#define NEGATIVE 0x80
#define KPRINTN(base) kprintn(put, ul, base, lflag, width)
-#define RZERO() \
+#define LZERO() \
do { \
if ((lflag & (ZEROPAD|LADJUST)) == ZEROPAD) { \
while (width-- > 0) \
@@ -102,7 +102,7 @@ do { \
} while (/*CONSTCOND*/0)
#else /* LIBSA_PRINTF_WIDTH_SUPPORT */
#define KPRINTN(base) kprintn(put, ul, base)
-#define RZERO() /**/
+#define LZERO() /**/
#define RPAD() /**/
#define LPAD() /**/
#endif /* LIBSA_PRINTF_WIDTH_SUPPORT */
@@ -235,9 +235,9 @@ reswitch:
#ifdef LIBSA_PRINTF_WIDTH_SUPPORT
--width;
#endif
- RPAD();
- put(ch & 0xFF);
LPAD();
+ put(ch & 0xFF);
+ RPAD();
break;
case 's':
p = va_arg(ap, char *);
@@ -246,10 +246,10 @@ reswitch:
continue;
width -= q - p;
#endif
- RPAD();
+ LPAD();
while ((ch = (unsigned char)*p++))
put(ch);
- LPAD();
+ RPAD();
break;
case 'd':
ul =
@@ -327,15 +327,15 @@ kprintn(void (*put)(int), UINTMAX_T ul,
else if (lflag & SPACE)
*p++ = ' ';
width -= p - buf;
- if ((lflag & LADJUST) == 0) {
+ if (lflag & ZEROPAD) {
while (p > q)
put(*--p);
}
#endif
- RPAD();
- RZERO();
+ LPAD();
+ LZERO();
do {
put(*--p);
} while (p > buf);
- LPAD();
+ RPAD();
}