version 1.26, 2014/08/30 13:09:27 |
version 1.27, 2014/08/30 14:24:02 |
Line 79 const char hexdigits[16] = "0123456789ab |
|
Line 79 const char hexdigits[16] = "0123456789ab |
|
#define ZEROPAD 0x40 |
#define ZEROPAD 0x40 |
#define NEGATIVE 0x80 |
#define NEGATIVE 0x80 |
#define KPRINTN(base) kprintn(put, ul, base, lflag, width) |
#define KPRINTN(base) kprintn(put, ul, base, lflag, width) |
#define LADJUSTPAD(c) \ |
#define RADJUSTZEROPAD() \ |
|
do { \ |
|
if ((lflag & (ZEROPAD|LADJUST)) == ZEROPAD) { \ |
|
while (width-- > 0) \ |
|
put('0'); \ |
|
} \ |
|
} while (/*CONSTCOND*/0) |
|
#define LADJUSTPAD() \ |
do { \ |
do { \ |
if (lflag & LADJUST) { \ |
if (lflag & LADJUST) { \ |
while (width-- > 0) \ |
while (width-- > 0) \ |
put(c); \ |
put(' '); \ |
} \ |
} \ |
} while (/*CONSTCOND*/0) |
} while (/*CONSTCOND*/0) |
#define RADJUSTPAD(c) \ |
#define RADJUSTPAD() \ |
do { \ |
do { \ |
if ((lflag & (ZEROPAD|LADJUST)) == 0) { \ |
if ((lflag & (ZEROPAD|LADJUST)) == 0) { \ |
while (width-- > 0) \ |
while (width-- > 0) \ |
put(c); \ |
put(' '); \ |
} \ |
} \ |
} while (/*CONSTCOND*/0) |
} while (/*CONSTCOND*/0) |
#else /* LIBSA_PRINTF_WIDTH_SUPPORT */ |
#else /* LIBSA_PRINTF_WIDTH_SUPPORT */ |
#define KPRINTN(base) kprintn(put, ul, base) |
#define KPRINTN(base) kprintn(put, ul, base) |
|
#define RADJUSTZEROPAD() /**/ |
#define LADJUSTPAD() /**/ |
#define LADJUSTPAD() /**/ |
#define RADJUSTPAD() /**/ |
#define RADJUSTPAD() /**/ |
#endif /* LIBSA_PRINTF_WIDTH_SUPPORT */ |
#endif /* LIBSA_PRINTF_WIDTH_SUPPORT */ |
|
|
#ifdef LIBSA_PRINTF_WIDTH_SUPPORT |
#ifdef LIBSA_PRINTF_WIDTH_SUPPORT |
--width; |
--width; |
#endif |
#endif |
RADJUSTPAD(' '); |
RADJUSTPAD(); |
put(ch & 0xFF); |
put(ch & 0xFF); |
LADJUSTPAD(' '); |
LADJUSTPAD(); |
break; |
break; |
case 's': |
case 's': |
p = va_arg(ap, char *); |
p = va_arg(ap, char *); |
|
|
continue; |
continue; |
width -= q - p; |
width -= q - p; |
#endif |
#endif |
RADJUSTPAD(' '); |
RADJUSTPAD(); |
while ((ch = (unsigned char)*p++)) |
while ((ch = (unsigned char)*p++)) |
put(ch); |
put(ch); |
LADJUSTPAD(' '); |
LADJUSTPAD(); |
break; |
break; |
case 'd': |
case 'd': |
ul = |
ul = |
Line 324 kprintn(void (*put)(int), UINTMAX_T ul, |
|
Line 332 kprintn(void (*put)(int), UINTMAX_T ul, |
|
put(*--p); |
put(*--p); |
} |
} |
#endif |
#endif |
RADJUSTPAD(' '); |
RADJUSTPAD(); |
RADJUSTPAD('0'); |
RADJUSTZEROPAD(); |
do { |
do { |
put(*--p); |
put(*--p); |
} while (p > buf); |
} while (p > buf); |
LADJUSTPAD(' '); |
LADJUSTPAD(); |
} |
} |