Skip to content

Commit 385cb4d

Browse files
committed
repeat.v: fixes for ./v -cg -cflags -fsanitize=undefined cmd/tools/repeat.v
1 parent 7afa4c7 commit 385cb4d

File tree

1 file changed

+35
-4
lines changed

1 file changed

+35
-4
lines changed

cmd/tools/repeat.v

Lines changed: 35 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,30 @@ mut:
4141
nmaxs int // number of maximums to discard
4242
}
4343

44+
[unsafe]
45+
fn (mut result CmdResult) free() {
46+
unsafe {
47+
result.cmd.free()
48+
result.outputs.free()
49+
result.oms.free()
50+
result.summary.free()
51+
result.timings.free()
52+
result.atiming.free()
53+
}
54+
}
55+
56+
[unsafe]
57+
fn (mut context Context) free() {
58+
unsafe {
59+
context.commands.free()
60+
context.results.free()
61+
context.cmd_template.free()
62+
context.cmd_params.free()
63+
context.cline.free()
64+
context.cgoback.free()
65+
}
66+
}
67+
4468
struct Aints {
4569
values []int
4670
mut:
@@ -52,6 +76,11 @@ mut:
5276
nmaxs int // number of discarded slowest results
5377
}
5478

79+
[unsafe]
80+
fn (mut a Aints) free() {
81+
unsafe { a.values.free() }
82+
}
83+
5584
fn new_aints(ovals []int, extreme_mins int, extreme_maxs int) Aints {
5685
mut res := Aints{
5786
values: ovals // remember the original values
@@ -155,9 +184,9 @@ fn (mut context Context) parse_options() {
155184
exit(1)
156185
}
157186
context.commands = context.expand_all_commands(commands)
158-
context.results = []CmdResult{len: context.commands.len, cap: 100, init: CmdResult{
159-
outputs: []string{cap: 1000}
160-
timings: []int{cap: 1000}
187+
context.results = []CmdResult{len: context.commands.len, cap: 10, init: CmdResult{
188+
outputs: []string{cap: 200}
189+
timings: []int{cap: 200}
161190
}}
162191
if context.use_newline {
163192
context.cline = '\n'
@@ -242,7 +271,9 @@ fn (mut context Context) run() {
242271
trimed_output := res.output.trim_right('\r\n')
243272
trimed_normalized := trimed_output.replace('\r\n', '\n')
244273
lines := trimed_normalized.split('\n')
245-
context.results[icmd].outputs << lines
274+
for line in lines {
275+
context.results[icmd].outputs << line
276+
}
246277
context.results[icmd].timings << duration
247278
sum += duration
248279
runs++

0 commit comments

Comments
 (0)