added file_readWholeText
This commit is contained in:
@@ -142,10 +142,28 @@ Result(void) file_readWhole(FILE* f, Array(u8)* out_buf){
|
||||
|
||||
try(i64 f_size, i, file_getSize(f));
|
||||
Array(u8) buf = Array_u8_alloc(f_size);
|
||||
Defer(if(!success) free(buf.data));
|
||||
try_void(file_readBytesArray(f, buf));
|
||||
Defer(if(!success) Array_u8_destroy(&buf));
|
||||
|
||||
try_void(file_readBytesArrayExactly(f, buf));
|
||||
|
||||
*out_buf = buf;
|
||||
success = true;
|
||||
Return RESULT_VOID;
|
||||
}
|
||||
|
||||
Result(void) file_readWholeText(FILE* f, str* out_str){
|
||||
Deferral(1);
|
||||
bool success = false;
|
||||
|
||||
try(i64 f_size, i, file_getSize(f));
|
||||
Array(u8) buf = Array_u8_alloc(f_size + 1);
|
||||
Defer(if(!success) Array_u8_destroy(&buf));
|
||||
buf.len--;
|
||||
|
||||
try_void(file_readBytesArrayExactly(f, buf));
|
||||
buf.data[buf.len] = '\0';
|
||||
|
||||
*out_str = Array_u8_castTo_str(buf, true);
|
||||
success = true;
|
||||
Return RESULT_VOID;
|
||||
}
|
||||
Reference in New Issue
Block a user