Add truncate_to_byte and truncate_to_rune for packages strings and bytes

This commit is contained in:
gingerBill
2021-04-22 15:49:10 +01:00
parent 8a86c4c7cc
commit d33350e3a5
2 changed files with 30 additions and 0 deletions
+15
View File
@@ -16,6 +16,21 @@ ptr_from_slice :: proc(str: []byte) -> ^byte {
return d.data;
}
truncate_to_byte :: proc(str: []byte, b: byte) -> []byte {
n := index_byte(str, b);
if n < 0 {
n = len(str);
}
return str[:n];
}
truncate_to_rune :: proc(str: []byte, r: rune) -> []byte {
n := index_rune(str, r);
if n < 0 {
n = len(str);
}
return str[:n];
}
// Compares two strings, returning a value representing which one comes first lexiographically.
// -1 for `a`; 1 for `b`, or 0 if they are equal.
compare :: proc(lhs, rhs: []byte) -> int {