offset into complete strings with '$skip_max_list'/4 (#1529)
This commit is contained in:
@@ -579,7 +579,19 @@ impl MachineState {
|
|||||||
self.finalize_skip_max_list(n as i64, list_loc_as_cell!(l));
|
self.finalize_skip_max_list(n as i64, list_loc_as_cell!(l));
|
||||||
}
|
}
|
||||||
CycleSearchResult::UntouchedCStr(cstr_atom, n) => {
|
CycleSearchResult::UntouchedCStr(cstr_atom, n) => {
|
||||||
self.finalize_skip_max_list(n as i64, string_as_cstr_cell!(cstr_atom));
|
let cell = if n > 0 {
|
||||||
|
let h = self.heap.len();
|
||||||
|
|
||||||
|
self.heap.push(string_as_cstr_cell!(cstr_atom));
|
||||||
|
self.heap.push(pstr_offset_as_cell!(h));
|
||||||
|
self.heap.push(fixnum_as_cell!(Fixnum::build_with(n as i64)));
|
||||||
|
|
||||||
|
pstr_loc_as_cell!(h+1)
|
||||||
|
} else {
|
||||||
|
string_as_cstr_cell!(cstr_atom)
|
||||||
|
};
|
||||||
|
|
||||||
|
self.finalize_skip_max_list(n as i64, cell);
|
||||||
}
|
}
|
||||||
CycleSearchResult::EmptyList => {
|
CycleSearchResult::EmptyList => {
|
||||||
self.finalize_skip_max_list(0, empty_list_as_cell!());
|
self.finalize_skip_max_list(0, empty_list_as_cell!());
|
||||||
|
|||||||
Reference in New Issue
Block a user