|
@@ -2751,9 +2751,11 @@ fmt_value :: proc(fi: ^Info, v: any, verb: rune) {
|
|
elem := runtime.type_info_base(info.elem)
|
|
elem := runtime.type_info_base(info.elem)
|
|
if elem != nil {
|
|
if elem != nil {
|
|
if n, ok := fi.optional_len.?; ok {
|
|
if n, ok := fi.optional_len.?; ok {
|
|
|
|
+ fi.optional_len = nil
|
|
fmt_array(fi, ptr, n, elem.size, elem, verb)
|
|
fmt_array(fi, ptr, n, elem.size, elem, verb)
|
|
return
|
|
return
|
|
} else if fi.use_nul_termination {
|
|
} else if fi.use_nul_termination {
|
|
|
|
+ fi.use_nul_termination = false
|
|
fmt_array_nul_terminated(fi, ptr, -1, elem.size, elem, verb)
|
|
fmt_array_nul_terminated(fi, ptr, -1, elem.size, elem, verb)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -2855,8 +2857,10 @@ fmt_value :: proc(fi: ^Info, v: any, verb: rune) {
|
|
n := info.count
|
|
n := info.count
|
|
ptr := v.data
|
|
ptr := v.data
|
|
if ol, ok := fi.optional_len.?; ok {
|
|
if ol, ok := fi.optional_len.?; ok {
|
|
|
|
+ fi.optional_len = nil
|
|
n = min(n, ol)
|
|
n = min(n, ol)
|
|
} else if fi.use_nul_termination {
|
|
} else if fi.use_nul_termination {
|
|
|
|
+ fi.use_nul_termination = false
|
|
fmt_array_nul_terminated(fi, ptr, n, info.elem_size, info.elem, verb)
|
|
fmt_array_nul_terminated(fi, ptr, n, info.elem_size, info.elem, verb)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -2867,8 +2871,10 @@ fmt_value :: proc(fi: ^Info, v: any, verb: rune) {
|
|
n := slice.len
|
|
n := slice.len
|
|
ptr := slice.data
|
|
ptr := slice.data
|
|
if ol, ok := fi.optional_len.?; ok {
|
|
if ol, ok := fi.optional_len.?; ok {
|
|
|
|
+ fi.optional_len = nil
|
|
n = min(n, ol)
|
|
n = min(n, ol)
|
|
} else if fi.use_nul_termination {
|
|
} else if fi.use_nul_termination {
|
|
|
|
+ fi.use_nul_termination = false
|
|
fmt_array_nul_terminated(fi, ptr, n, info.elem_size, info.elem, verb)
|
|
fmt_array_nul_terminated(fi, ptr, n, info.elem_size, info.elem, verb)
|
|
return
|
|
return
|
|
}
|
|
}
|
|
@@ -2879,8 +2885,10 @@ fmt_value :: proc(fi: ^Info, v: any, verb: rune) {
|
|
n := array.len
|
|
n := array.len
|
|
ptr := array.data
|
|
ptr := array.data
|
|
if ol, ok := fi.optional_len.?; ok {
|
|
if ol, ok := fi.optional_len.?; ok {
|
|
|
|
+ fi.optional_len = nil
|
|
n = min(n, ol)
|
|
n = min(n, ol)
|
|
} else if fi.use_nul_termination {
|
|
} else if fi.use_nul_termination {
|
|
|
|
+ fi.use_nul_termination = false
|
|
fmt_array_nul_terminated(fi, ptr, n, info.elem_size, info.elem, verb)
|
|
fmt_array_nul_terminated(fi, ptr, n, info.elem_size, info.elem, verb)
|
|
return
|
|
return
|
|
}
|
|
}
|