Skip to content

Commit 1c536c2

Browse files
committed
Wasm source map resizing: clean-up
1 parent 49eb19f commit 1c536c2

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

compiler/lib-wasm/wasm_source_map.ml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ type input = Vlq64.input =
1414
; len : int
1515
}
1616

17-
let rec next' src mappings pos =
18-
pos < src.len
17+
let rec next' src mappings pos len =
18+
pos < len
1919
&&
2020
match mappings.[pos] with
2121
| ',' ->
2222
src.pos <- pos + 1;
2323
true
24-
| _ -> next' src mappings (pos + 1)
24+
| _ -> next' src mappings (pos + 1) len
2525

26-
let next src = next' src src.string src.pos
26+
let next src = next' src src.string src.pos src.len
2727

2828
let flush buf src start pos =
2929
if start < pos then Buffer.add_substring buf src.string start (pos - start)
@@ -36,7 +36,7 @@ let rec resize_rec buf start src resize_data i col0 delta0 col =
3636
then
3737
if next src
3838
then resize_rec buf start src resize_data i col0 delta0 col
39-
else flush buf src start (String.length src.string)
39+
else flush buf src start src.len
4040
else
4141
let delta = delta + delta0 in
4242
adjust buf start src resize_data i col delta pos
@@ -54,15 +54,15 @@ and adjust buf start src (resize_data : resize_data) i col delta pos =
5454
let start = src.pos in
5555
if next src
5656
then resize_rec buf start src resize_data (i + 1) col0 delta0 col
57-
else flush buf src start (String.length src.string))
57+
else flush buf src start src.len)
5858
else
5959
let delta = delta + delta0 in
6060
adjust buf start src resize_data (i + 1) col delta pos
6161
else (
6262
flush buf src start pos;
6363
Vlq64.encode buf delta;
6464
let start = src.pos in
65-
flush buf src start (String.length src.string))
65+
flush buf src start src.len)
6666

6767
let resize_mappings (resize_data : resize_data) mappings =
6868
if String.equal mappings "" || resize_data.i = 0

compiler/lib/vlq64.ml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,15 @@ type input =
106106
; len : int
107107
}
108108

109-
let rec decode' src s pos offset i =
109+
let rec decode' src s pos len offset i =
110+
if pos = len then invalid_arg "Vql64.decode'";
110111
let digit = Array.unsafe_get code_rev (Char.code s.[pos]) in
111112
if digit = -1 then invalid_arg "Vql64.decode'";
112113
let i = i + ((digit land vlq_base_mask) lsl offset) in
113114
if digit >= vlq_continuation_bit
114-
then decode' src s (pos + 1) (offset + vlq_base_shift) i
115+
then decode' src s (pos + 1) len (offset + vlq_base_shift) i
115116
else (
116117
src.pos <- pos + 1;
117118
i)
118119

119-
let decode src = fromVLQSigned (decode' src src.string src.pos 0 0)
120+
let decode src = fromVLQSigned (decode' src src.string src.pos src.len 0 0)

0 commit comments

Comments
 (0)