Răsfoiți Sursa

Merge pull request #3788 from Beefster09/builder-utils

Add to_cstring for Builders
gingerBill 1 an în urmă
părinte
comite
d4aa6c3288
1 a modificat fișierele cu 14 adăugiri și 0 ștergeri
  1. 14 0
      core/strings/builder.odin

+ 14 - 0
core/strings/builder.odin

@@ -286,6 +286,20 @@ to_string :: proc(b: Builder) -> (res: string) {
 	return string(b.buf[:])
 }
 /*
+Appends a trailing null byte after the end of the current Builder byte buffer and then casts it to a cstring
+
+Inputs:
+- b: A pointer to builder
+
+Returns:
+- res: A cstring of the Builder's buffer
+*/
+to_cstring :: proc(b: ^Builder) -> (res: cstring) {
+	append(&b.buf, 0)
+	pop(&b.buf)
+	return cstring(raw_data(b.buf))
+}
+/*
 Returns the length of the Builder's buffer, in bytes
 
 Inputs: