ape/fmt: %p and %z format for amd64
This commit is contained in:
parent
772afbe98c
commit
4308f6e7e6
|
@ -348,7 +348,11 @@ __ifmt(Fmt *f)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(f->r == 'p'){
|
if(f->r == 'p'){
|
||||||
u = (ulong)va_arg(f->args, void*);
|
if(sizeof(void*) == sizeof(uvlong)){
|
||||||
|
isv = 1;
|
||||||
|
vu = (uvlong)va_arg(f->args, void*);
|
||||||
|
} else
|
||||||
|
u = (ulong)va_arg(f->args, void*);
|
||||||
f->r = 'x';
|
f->r = 'x';
|
||||||
fl |= FmtUnsigned;
|
fl |= FmtUnsigned;
|
||||||
}else if(fl & FmtVLong){
|
}else if(fl & FmtVLong){
|
||||||
|
@ -538,6 +542,11 @@ __flagfmt(Fmt *f)
|
||||||
f->flags |= FmtVLong;
|
f->flags |= FmtVLong;
|
||||||
f->flags |= FmtLong;
|
f->flags |= FmtLong;
|
||||||
break;
|
break;
|
||||||
|
case 'z':
|
||||||
|
f->flags |= FmtLong;
|
||||||
|
if(sizeof(void*) == sizeof(vlong))
|
||||||
|
f->flags |= FmtVLong;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,7 @@ static Convfmt knownfmt[] = {
|
||||||
's', __strfmt,
|
's', __strfmt,
|
||||||
'u', __flagfmt, /* in Unix, __ifmt */
|
'u', __flagfmt, /* in Unix, __ifmt */
|
||||||
'x', __ifmt,
|
'x', __ifmt,
|
||||||
|
'z', __flagfmt,
|
||||||
0, nil,
|
0, nil,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ $NAN.$O: nan.h
|
||||||
strtod.$O: nan.h
|
strtod.$O: nan.h
|
||||||
|
|
||||||
test: $LIB test.$O
|
test: $LIB test.$O
|
||||||
$CC -o test test.$O $LIB -L$PLAN9/lib -lutf
|
$CC -o test test.$O $LIB -lutf
|
||||||
|
|
||||||
|
|
||||||
CFLAGS=-c -D_POSIX_SOURCE -D_PLAN9_SOURCE -D_BSD_EXTENSION
|
CFLAGS=-c -D_POSIX_SOURCE -D_PLAN9_SOURCE -D_BSD_EXTENSION
|
||||||
|
|
|
@ -35,5 +35,7 @@ main(int argc, char *argv[])
|
||||||
print("%f\n", 3.1415927/4);
|
print("%f\n", 3.1415927/4);
|
||||||
print("%d\n", 23);
|
print("%d\n", 23);
|
||||||
print("%i\n", 23);
|
print("%i\n", 23);
|
||||||
|
print("%p\n", argv);
|
||||||
|
print("%zd\n", &argv[1] - &argv[0]);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue