Add builder to_cstring

This commit is contained in:
Justin Snyder
2024-06-19 11:55:19 -06:00
parent 2797dc6452
commit 8f2c4a7ecf
+27
View File
@@ -286,6 +286,33 @@ to_string :: proc(b: Builder) -> (res: string) {
return string(b.buf[:])
}
/*
Appends a trailing null byte if missing and then casts the Builder byte buffer to cstring
Inputs:
- b: A pointer to builder
Returns:
- res: A cstring of the Builder's buffer
*/
to_cstring :: proc(b: ^Builder) -> (res: cstring) {
if b.buf[len(b.buf)-1] != 0 {
append(&b.buf, 0)
}
return cstring(raw_data(b.buf))
}
/*
Casts the Builder byte buffer to cstring, assuming it is already null-terminated
Inputs:
- b: A pointer to builder
Returns:
- res: A cstring of the Builder's buffer
*/
to_cstring_unsafe :: proc(b: Builder) -> (res: cstring) {
return cstring(raw_data(b.buf))
}
/*
Returns the length of the Builder's buffer, in bytes
Inputs: