summaryrefslogtreecommitdiff
path: root/src/machine/partial_string.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/machine/partial_string.rs')
-rw-r--r--src/machine/partial_string.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/machine/partial_string.rs b/src/machine/partial_string.rs
index cdc424dd..fce47204 100644
--- a/src/machine/partial_string.rs
+++ b/src/machine/partial_string.rs
@@ -179,6 +179,14 @@ impl<'a> HeapPStrIter<'a> {
if self.at_string_terminator() {
self.focus = empty_list_as_cell!();
self.brent_st.hare = result.focus;
+ } else {
+ read_heap_cell!(self.heap[result.focus],
+ (HeapCellValueTag::Lis | HeapCellValueTag::Str) => {
+ self.focus = self.heap[self.brent_st.hare];
+ }
+ _ => {
+ }
+ );
}
}
@@ -330,7 +338,7 @@ impl<'a> HeapPStrIter<'a> {
})
} else {
None
- }
+ };
}
(HeapCellValueTag::Str, s) => {
let (name, arity) = cell_as_atom_cell!(self.heap[s])