mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-08-06 05:48:40 +00:00
fix return status for file writes
This commit is contained in:
@@ -80,7 +80,6 @@ os_write_data_list_to_file_path(String8 path, String8List list)
|
|||||||
U64 write_buffer_write_pos = 0;
|
U64 write_buffer_write_pos = 0;
|
||||||
U64 write_buffer_read_pos = 0;
|
U64 write_buffer_read_pos = 0;
|
||||||
U64 file_off = 0;
|
U64 file_off = 0;
|
||||||
U64 total_bytes_written = 0;
|
|
||||||
{
|
{
|
||||||
for(String8Node *n = list.first; n != 0; n = n->next)
|
for(String8Node *n = list.first; n != 0; n = n->next)
|
||||||
{
|
{
|
||||||
@@ -90,7 +89,11 @@ os_write_data_list_to_file_path(String8 path, String8List list)
|
|||||||
U64 write_buffer_available_size = (write_buffer_size - write_buffer_unconsumed_size);
|
U64 write_buffer_available_size = (write_buffer_size - write_buffer_unconsumed_size);
|
||||||
if(write_buffer_available_size == 0)
|
if(write_buffer_available_size == 0)
|
||||||
{
|
{
|
||||||
os_file_write(file, r1u64(file_off, file_off+write_buffer_size), write_buffer);
|
U64 file_write_size = os_file_write(file, r1u64(file_off, file_off+write_buffer_size), write_buffer);
|
||||||
|
if(file_write_size != write_buffer_size)
|
||||||
|
{
|
||||||
|
goto dbl_break;
|
||||||
|
}
|
||||||
file_off += write_buffer_size;
|
file_off += write_buffer_size;
|
||||||
write_buffer_read_pos += write_buffer_size;
|
write_buffer_read_pos += write_buffer_size;
|
||||||
}
|
}
|
||||||
@@ -104,10 +107,12 @@ os_write_data_list_to_file_path(String8 path, String8List list)
|
|||||||
}
|
}
|
||||||
if(write_buffer_write_pos > write_buffer_read_pos)
|
if(write_buffer_write_pos > write_buffer_read_pos)
|
||||||
{
|
{
|
||||||
total_bytes_written += os_file_write(file, r1u64(file_off, file_off + (write_buffer_write_pos-write_buffer_read_pos)), write_buffer);
|
U64 file_write_size = os_file_write(file, r1u64(file_off, file_off + (write_buffer_write_pos-write_buffer_read_pos)), write_buffer);
|
||||||
|
file_off += file_write_size;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
good = (total_bytes_written == list.total_size);
|
dbl_break:;
|
||||||
|
good = (file_off == list.total_size);
|
||||||
os_file_close(file);
|
os_file_close(file);
|
||||||
scratch_end(scratch);
|
scratch_end(scratch);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user