aboutsummaryrefslogtreecommitdiff
path: root/src/lib9/fmt/dofmt.c
diff options
context:
space:
mode:
authorrsc <devnull@localhost>2004-12-26 21:50:14 +0000
committerrsc <devnull@localhost>2004-12-26 21:50:14 +0000
commite5aa96acbf9107cd78f2536364c36f9a15751313 (patch)
tree9c198bb62564c433c28d2de81a5fb6b782f39903 /src/lib9/fmt/dofmt.c
parent5c8a0421712a471a00dbf78f7ea054b366ba471b (diff)
downloadplan9port-e5aa96acbf9107cd78f2536364c36f9a15751313.tar.gz
plan9port-e5aa96acbf9107cd78f2536364c36f9a15751313.tar.bz2
plan9port-e5aa96acbf9107cd78f2536364c36f9a15751313.zip
clean up for unix port
Diffstat (limited to 'src/lib9/fmt/dofmt.c')
-rw-r--r--src/lib9/fmt/dofmt.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib9/fmt/dofmt.c b/src/lib9/fmt/dofmt.c
index cee3f4e4..873d6926 100644
--- a/src/lib9/fmt/dofmt.c
+++ b/src/lib9/fmt/dofmt.c
@@ -13,7 +13,7 @@
*/
#include <stdarg.h>
#include <string.h>
-#include "utf.h"
+#include "plan9.h"
#include "fmt.h"
#include "fmtdef.h"
@@ -339,10 +339,12 @@ __ifmt(Fmt *f)
* Unsigned verbs
*/
switch(f->r){
- case 'o':
- case 'u':
+ /* unsigned by default only on Unix
case 'x':
case 'X':
+ */
+ case 'o':
+ case 'u':
fl |= FmtUnsigned;
break;
}
@@ -402,7 +404,9 @@ __ifmt(Fmt *f)
default:
return -1;
}
- if(!(fl & FmtUnsigned)){
+ if(fl & FmtUnsigned)
+ fl &= ~(FmtSign|FmtSpace);
+ else{
if(isv && (vlong)vu < 0){
vu = -(vlong)vu;
neg = 1;
@@ -410,8 +414,6 @@ __ifmt(Fmt *f)
u = -(long)u;
neg = 1;
}
- }else{
- fl &= ~(FmtSign|FmtSpace); /* no + for unsigned conversions */
}
p = buf + sizeof buf - 1;
n = 0;