Support negative padding size in printf and friends
as it seams you can do something like
printf ("A%*s%s/\n", -5, "B", "CC");
and it will print the padding to the left
This commit is contained in:
@@ -660,16 +660,22 @@ unsafe fn inner_printf<W: Write>(w: W, format: *const c_char, mut ap: VaList) ->
|
||||
};
|
||||
let alternate = arg.alternate;
|
||||
let zero = arg.zero;
|
||||
let left = arg.left;
|
||||
let mut left = arg.left;
|
||||
let sign_reserve = arg.sign_reserve;
|
||||
let sign_always = arg.sign_always;
|
||||
let min_width = arg.min_width.resolve(&mut varargs, &mut ap);
|
||||
let precision = arg.precision.map(|n| n.resolve(&mut varargs, &mut ap));
|
||||
let pad_zero = arg.pad_zero.resolve(&mut varargs, &mut ap);
|
||||
let pad_space = match pad_zero {
|
||||
0 => min_width,
|
||||
let signed_space = match pad_zero {
|
||||
0 => min_width as isize,
|
||||
_ => 0,
|
||||
};
|
||||
let pad_space = if signed_space < 0 {
|
||||
left = true;
|
||||
-signed_space as usize
|
||||
} else {
|
||||
signed_space as usize
|
||||
};
|
||||
let intkind = arg.intkind;
|
||||
let fmt = arg.fmt;
|
||||
let fmtkind = arg.fmtkind;
|
||||
|
||||
Reference in New Issue
Block a user