Cross Reference: parse.c.patch
xref
: /
solaris-userland-s11u3
/
components
/
text-utilities
/
patches
/
parse.c.patch
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
3666
N/A
A printf format specifier of "qx" isn't supported on Solaris.
3666
N/A
3666
N/A
http://man7.org/linux/man-pages/man3/printf.3.html
says:
3666
N/A
3666
N/A
q ("quad". 4.4BSD and Linux libc5 only. Don't use.) This is a
3666
N/A
synonym for ll.
3666
N/A
3666
N/A
This change will be sent upstream.
3666
N/A
3666
N/A
---
util-linux-2.24.2/text-utils/parse.c.orig
2014-06-04 13:04:47.338346633 -0700
3666
N/A
+++
util-linux-2.24.2/text-utils/parse.c
2014-06-04 14:15:15.476415780 -0700
3666
N/A
@@ -208,7 +208,7 @@
3666
N/A
PR *pr, **nextpr;
3666
N/A
FU *fu;
3666
N/A
char *p1, *p2;
3666
N/A
- char savech, *fmtp, cs[3];
3666
N/A
+ char savech, *fmtp, cs[4];
3666
N/A
int nconv, prec;
3666
N/A
3666
N/A
nextpr = NULL;
3666
N/A
@@ -282,9 +282,10 @@
3666
N/A
goto isint;
3666
N/A
case 'o': case 'u': case 'x': case 'X':
3666
N/A
pr->flags = F_UINT;
3666
N/A
-isint: cs[2] = '\0';
3666
N/A
- cs[1] = cs[0];
3666
N/A
- cs[0] = 'q';
3666
N/A
+isint: cs[3] = '\0';
3666
N/A
+ cs[2] = cs[0];
3666
N/A
+ cs[1] = 'l';
3666
N/A
+ cs[0] = 'l';
3666
N/A
switch(fu->bcnt) {
3666
N/A
case 0: case 4:
3666
N/A
pr->bcnt = 4;
3666
N/A
@@ -342,9 +343,10 @@
3666
N/A
++p2;
3666
N/A
switch(p1[2]) {
3666
N/A
case 'd': case 'o': case'x':
3666
N/A
- cs[0] = 'q';
3666
N/A
- cs[1] = p1[2];
3666
N/A
- cs[2] = '\0';
3666
N/A
+ cs[0] = 'l';
3666
N/A
+ cs[1] = 'l';
3666
N/A
+ cs[2] = p1[2];
3666
N/A
+ cs[3] = '\0';
3666
N/A
break;
3666
N/A
default:
3666
N/A
p1[3] = '\0';