summaryrefslogtreecommitdiff
path: root/src/code_point.zig
diff options
context:
space:
mode:
authorGravatar Jose Colon Rodriguez2024-06-10 18:00:17 -0400
committerGravatar Jose Colon Rodriguez2024-06-10 18:00:17 -0400
commit48af6bc1ee92acf6fea7618d7ecaac64eca309d9 (patch)
tree2eebd12ab03b4eba1e2f55282a08a64042554bff /src/code_point.zig
parentUpdated README for v0.13.0 (diff)
parentMerge branch 'master' into pr6 (diff)
downloadzg-48af6bc1ee92acf6fea7618d7ecaac64eca309d9.tar.gz
zg-48af6bc1ee92acf6fea7618d7ecaac64eca309d9.tar.xz
zg-48af6bc1ee92acf6fea7618d7ecaac64eca309d9.zip
Merge pull request 'codepoint: prevent panic when last cp too short' (#6) from rockorager/zg:master into master
Reviewed-on: https://codeberg.org/dude_the_builder/zg/pulls/6
Diffstat (limited to 'src/code_point.zig')
-rw-r--r--src/code_point.zig11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/code_point.zig b/src/code_point.zig
index ac37562..2f2e80f 100644
--- a/src/code_point.zig
+++ b/src/code_point.zig
@@ -46,6 +46,17 @@ pub const Iterator = struct {
46 .offset = self.i, 46 .offset = self.i,
47 }; 47 };
48 48
49 // Return replacement if we don' have a complete codepoint remaining. Consumes only one byte
50 if (self.i + cp.len > self.bytes.len) {
51 defer self.i += 1;
52 // Unicode replacement code point.
53 return .{
54 .code = 0xfffd,
55 .len = 1,
56 .offset = self.i,
57 };
58 }
59
49 const cp_bytes = self.bytes[self.i..][0..cp.len]; 60 const cp_bytes = self.bytes[self.i..][0..cp.len];
50 self.i += cp.len; 61 self.i += cp.len;
51 62