mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 06:38:47 +00:00
Add support for %s and %q for [dynamic]byte
This commit is contained in:
+6
-4
@@ -1633,13 +1633,15 @@ fmt_value :: proc(fi: ^Info, v: any, verb: rune) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
case runtime.Type_Info_Dynamic_Array:
|
case runtime.Type_Info_Dynamic_Array:
|
||||||
if verb == 'p' {
|
array := cast(^mem.Raw_Dynamic_Array)v.data;
|
||||||
slice := cast(^mem.Raw_Dynamic_Array)v.data;
|
if (verb == 's' || verb == 'q') && reflect.is_byte(info.elem) {
|
||||||
fmt_pointer(fi, slice.data, 'p');
|
s := strings.string_from_ptr((^byte)(array.data), array.len);
|
||||||
|
fmt_string(fi, s, verb);
|
||||||
|
} else if verb == 'p' {
|
||||||
|
fmt_pointer(fi, array.data, 'p');
|
||||||
} else {
|
} else {
|
||||||
strings.write_byte(fi.buf, '[');
|
strings.write_byte(fi.buf, '[');
|
||||||
defer strings.write_byte(fi.buf, ']');
|
defer strings.write_byte(fi.buf, ']');
|
||||||
array := cast(^mem.Raw_Dynamic_Array)v.data;
|
|
||||||
for i in 0..<array.len {
|
for i in 0..<array.len {
|
||||||
if i > 0 { strings.write_string(fi.buf, ", "); }
|
if i > 0 { strings.write_string(fi.buf, ", "); }
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user