mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 14:48:47 +00:00
Update code from OSX merge to be consistent with the rest of the code
Remove some dead code whilst I was here too :P
This commit is contained in:
+6
-44
@@ -1,6 +1,7 @@
|
||||
#import "os.odin";
|
||||
#import "mem.odin";
|
||||
#import "utf8.odin";
|
||||
#import "types.odin";
|
||||
|
||||
DEFAULT_BUFFER_SIZE :: 1<<12;
|
||||
|
||||
@@ -100,7 +101,6 @@ fprint_type :: proc(fd: os.Handle, info: ^Type_Info) {
|
||||
os.write(fd, buf.data[:buf.length]);
|
||||
}
|
||||
|
||||
|
||||
buffer_write_type :: proc(buf: ^Buffer, ti: ^Type_Info) {
|
||||
if ti == nil {
|
||||
return;
|
||||
@@ -197,7 +197,7 @@ buffer_write_type :: proc(buf: ^Buffer, ti: ^Type_Info) {
|
||||
buffer_write_string(buf, field.name);
|
||||
buffer_write_string(buf, ": ");
|
||||
buffer_write_type(buf, field.type_info);
|
||||
buffer_write_byte(buf, ';');
|
||||
buffer_write_byte(buf, ',');
|
||||
}
|
||||
buffer_write_string(buf, "}");
|
||||
|
||||
@@ -207,7 +207,7 @@ buffer_write_type :: proc(buf: ^Buffer, ti: ^Type_Info) {
|
||||
buffer_write_string(buf, field.name);
|
||||
buffer_write_string(buf, ": ");
|
||||
buffer_write_type(buf, field.type_info);
|
||||
buffer_write_byte(buf, ';');
|
||||
buffer_write_byte(buf, ',');
|
||||
}
|
||||
buffer_write_string(buf, "}");
|
||||
|
||||
@@ -217,7 +217,7 @@ buffer_write_type :: proc(buf: ^Buffer, ti: ^Type_Info) {
|
||||
buffer_write_string(buf, field.name);
|
||||
buffer_write_string(buf, ": ");
|
||||
buffer_write_type(buf, field.type_info);
|
||||
buffer_write_byte(buf, ';');
|
||||
buffer_write_byte(buf, ',');
|
||||
}
|
||||
buffer_write_string(buf, "}");
|
||||
|
||||
@@ -235,7 +235,7 @@ bprint :: proc(buf: ^Buffer, args: ...any) -> int {
|
||||
|
||||
prev_string := false;
|
||||
for arg, i in args {
|
||||
is_string := arg.data != nil && is_type_string(arg.type_info);
|
||||
is_string := arg.data != nil && types.is_string(arg.type_info);
|
||||
if i > 0 && !is_string && !prev_string {
|
||||
buffer_write_byte(buf, ' ');
|
||||
}
|
||||
@@ -279,44 +279,6 @@ sprintf :: proc(buf: []byte, fmt: string, args: ...any) -> string {
|
||||
}
|
||||
|
||||
|
||||
is_type_string :: proc(info: ^Type_Info) -> bool {
|
||||
using Type_Info;
|
||||
if info == nil {
|
||||
return false;
|
||||
}
|
||||
|
||||
match type i in type_info_base(info) {
|
||||
case String:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
is_type_integer :: proc(info: ^Type_Info) -> bool {
|
||||
using Type_Info;
|
||||
if info == nil {
|
||||
return false;
|
||||
}
|
||||
|
||||
match type i in type_info_base(info) {
|
||||
case Integer:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
is_type_float :: proc(info: ^Type_Info) -> bool {
|
||||
using Type_Info;
|
||||
if info == nil {
|
||||
return false;
|
||||
}
|
||||
|
||||
match type i in type_info_base(info) {
|
||||
case Float:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
parse_int :: proc(s: string, offset: int) -> (int, int, bool) {
|
||||
@@ -697,7 +659,7 @@ fmt_enum :: proc(fi: ^Fmt_Info, v: any, verb: rune) {
|
||||
case f64: f = cast(f64)v;
|
||||
}
|
||||
|
||||
if is_type_integer(e.base) {
|
||||
if types.is_string(e.base) {
|
||||
for it, idx in e.values {
|
||||
if it.i == i {
|
||||
buffer_write_string(fi.buf, e.names[idx]);
|
||||
|
||||
+10
-10
@@ -49,17 +49,17 @@ O_CLOEXEC :: 0x80000;
|
||||
|
||||
#foreign_system_library libc "c";
|
||||
|
||||
unix_open :: proc(path: ^u8, mode: int, perm: u32) -> Handle #foreign libc "open";
|
||||
unix_close :: proc(handle: Handle) #foreign libc "close";
|
||||
unix_read :: proc(handle: Handle, buffer: rawptr, count: int) -> int #foreign libc "read";
|
||||
unix_write :: proc(handle: Handle, buffer: rawptr, count: int) -> int #foreign libc "write";
|
||||
unix_gettid :: proc() -> u64 #foreign libc "gettid";
|
||||
unix_open :: proc(path: ^u8, mode: int, perm: u32) -> Handle #foreign libc "open";
|
||||
unix_close :: proc(handle: Handle) #foreign libc "close";
|
||||
unix_read :: proc(handle: Handle, buffer: rawptr, count: int) -> int #foreign libc "read";
|
||||
unix_write :: proc(handle: Handle, buffer: rawptr, count: int) -> int #foreign libc "write";
|
||||
unix_gettid :: proc() -> u64 #foreign libc "gettid";
|
||||
|
||||
unix_malloc :: proc(size: int) -> rawptr #foreign libc "malloc";
|
||||
unix_free :: proc(ptr: rawptr) #foreign libc "free";
|
||||
unix_realloc :: proc(ptr: rawptr, size: int) -> rawptr #foreign libc "realloc";
|
||||
unix_malloc :: proc(size: int) -> rawptr #foreign libc "malloc";
|
||||
unix_free :: proc(ptr: rawptr) #foreign libc "free";
|
||||
unix_realloc :: proc(ptr: rawptr, size: int) -> rawptr #foreign libc "realloc";
|
||||
|
||||
unix_exit :: proc(status: int) #foreign libc "exit";
|
||||
unix_exit :: proc(status: int) #foreign libc "exit";
|
||||
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ seek :: proc(fd: Handle, offset: i64, whence: int) -> (i64, Errno) {
|
||||
|
||||
|
||||
// NOTE(bill): Uses startup to initialize it
|
||||
stdin: Handle = 0; // get_std_handle(win32.STD_INPUT_HANDLE);
|
||||
stdin: Handle = 0; // get_std_handle(win32.STD_INPUT_HANDLE);
|
||||
stdout: Handle = 1; // get_std_handle(win32.STD_OUTPUT_HANDLE);
|
||||
stderr: Handle = 2; // get_std_handle(win32.STD_ERROR_HANDLE);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user