mirror of
https://github.com/odin-lang/Odin.git
synced 2026-04-22 06:15:20 +00:00
Fix more JS stuff
This commit is contained in:
@@ -59,7 +59,7 @@ when ODIN_OS == .Windows {
|
||||
}
|
||||
|
||||
// GLIBC and MUSL compatible.
|
||||
when ODIN_OS == .Linux || ODIN_OS == .JS {
|
||||
when ODIN_OS == .Linux {
|
||||
fpos_t :: struct #raw_union { _: [16]char, _: longlong, _: double, }
|
||||
|
||||
_IOFBF :: 0
|
||||
@@ -89,6 +89,30 @@ when ODIN_OS == .Linux || ODIN_OS == .JS {
|
||||
}
|
||||
}
|
||||
|
||||
when ODIN_OS == .JS {
|
||||
fpos_t :: struct #raw_union { _: [16]char, _: longlong, _: double, }
|
||||
|
||||
_IOFBF :: 0
|
||||
_IOLBF :: 1
|
||||
_IONBF :: 2
|
||||
|
||||
BUFSIZ :: 1024
|
||||
|
||||
EOF :: int(-1)
|
||||
|
||||
FOPEN_MAX :: 1000
|
||||
|
||||
FILENAME_MAX :: 4096
|
||||
|
||||
L_tmpnam :: 20
|
||||
|
||||
SEEK_SET :: 0
|
||||
SEEK_CUR :: 1
|
||||
SEEK_END :: 2
|
||||
|
||||
TMP_MAX :: 308915776
|
||||
}
|
||||
|
||||
when ODIN_OS == .OpenBSD || ODIN_OS == .NetBSD {
|
||||
fpos_t :: distinct i64
|
||||
|
||||
|
||||
@@ -10,6 +10,9 @@ when ODIN_OS == .Windows {
|
||||
foreign import libc "system:c"
|
||||
}
|
||||
|
||||
@(require)
|
||||
import "base:runtime"
|
||||
|
||||
when ODIN_OS == .Windows {
|
||||
RAND_MAX :: 0x7fff
|
||||
|
||||
@@ -145,6 +148,10 @@ aligned_alloc :: #force_inline proc "c" (alignment, size: size_t) -> rawptr {
|
||||
_aligned_malloc :: proc(size, alignment: size_t) -> rawptr ---
|
||||
}
|
||||
return _aligned_malloc(size=size, alignment=alignment)
|
||||
} else when ODIN_ARCH == .wasm32 || ODIN_ARCH == .wasm64p32 {
|
||||
context = runtime.default_context()
|
||||
data, _ := runtime.mem_alloc_bytes(auto_cast size, auto_cast alignment)
|
||||
return raw_data(data)
|
||||
} else {
|
||||
foreign libc {
|
||||
aligned_alloc :: proc(alignment, size: size_t) -> rawptr ---
|
||||
@@ -160,6 +167,9 @@ aligned_free :: #force_inline proc "c" (ptr: rawptr) {
|
||||
_aligned_free :: proc(ptr: rawptr) ---
|
||||
}
|
||||
_aligned_free(ptr)
|
||||
} else when ODIN_ARCH == .wasm32 || ODIN_ARCH == .wasm64p32 {
|
||||
context = runtime.default_context()
|
||||
runtime.mem_free(ptr)
|
||||
} else {
|
||||
free(ptr)
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ when ODIN_OS == .Windows {
|
||||
wctrans_t :: distinct wchar_t
|
||||
wctype_t :: distinct ushort
|
||||
|
||||
} else when ODIN_OS == .Linux {
|
||||
} else when ODIN_OS == .Linux || ODIN_OS == .JS {
|
||||
wctrans_t :: distinct intptr_t
|
||||
wctype_t :: distinct ulong
|
||||
|
||||
|
||||
2
vendor/stb/image/stb_image.odin
vendored
2
vendor/stb/image/stb_image.odin
vendored
@@ -1,6 +1,6 @@
|
||||
package stb_image
|
||||
|
||||
import "core:c"
|
||||
import c "core:c/libc"
|
||||
|
||||
@(private)
|
||||
LIB :: (
|
||||
|
||||
Reference in New Issue
Block a user