Clear up fmt.wprint* length logic

This commit is contained in:
gingerBill
2021-02-11 10:44:38 +00:00
parent fa02dc9736
commit d5dfa14f18
2 changed files with 14 additions and 8 deletions
+9 -3
View File
@@ -226,7 +226,9 @@ wprint :: proc(w: io.Writer, args: ..any, sep := " ") -> int {
fmt_value(&fi, args[i], 'v'); fmt_value(&fi, args[i], 'v');
} }
io.flush(auto_cast w); io.flush(auto_cast w);
return int(io.size(auto_cast w) - size0);
size1 := io.size(auto_cast w);
return int(size1 - size0);
} }
wprintln :: proc(w: io.Writer, args: ..any, sep := " ") -> int { wprintln :: proc(w: io.Writer, args: ..any, sep := " ") -> int {
@@ -244,7 +246,9 @@ wprintln :: proc(w: io.Writer, args: ..any, sep := " ") -> int {
} }
io.write_byte(fi.writer, '\n'); io.write_byte(fi.writer, '\n');
io.flush(auto_cast w); io.flush(auto_cast w);
return int(io.size(auto_cast w) - size0);
size1 := io.size(auto_cast w);
return int(size1 - size0);
} }
wprintf :: proc(w: io.Writer, fmt: string, args: ..any) -> int { wprintf :: proc(w: io.Writer, fmt: string, args: ..any) -> int {
@@ -521,7 +525,9 @@ wprintf :: proc(w: io.Writer, fmt: string, args: ..any) -> int {
} }
io.flush(auto_cast w); io.flush(auto_cast w);
return int(io.size(auto_cast w) - size0);
size1 := io.size(auto_cast w);
return int(size1 - size0);
} }
wprint_type :: proc(w: io.Writer, info: ^runtime.Type_Info) -> int { wprint_type :: proc(w: io.Writer, info: ^runtime.Type_Info) -> int {
+2 -2
View File
@@ -362,9 +362,9 @@ seek :: proc(fd: Handle, offset: i64, whence: int) -> (i64, Errno) {
file_size :: proc(fd: Handle) -> (i64, Errno) { file_size :: proc(fd: Handle) -> (i64, Errno) {
s, err := _fstat(fd); s, err := _fstat(fd);
if err != ERROR_NONE { if err != ERROR_NONE {
return -1, err; return 0, err;
} }
return s.size, ERROR_NONE; return max(s.size, 0), ERROR_NONE;
} }