gingerBill
8ff15eaf69
More contextless fixes
2025-08-08 13:02:37 +01:00
gingerBill
78290ceef3
Add contextless to another proc
2025-08-08 12:38:20 +01:00
gingerBill
d3f649d244
Make get_args contextless
2025-08-08 12:25:58 +01:00
gingerBill
7642e0a0e0
Require @(init) and @(fini) to be proc "contextless" ()
2025-08-08 12:10:01 +01:00
gingerBill
eae43f1225
Merge branch 'master' into bill/utf16-strings
2025-08-05 15:07:06 +01:00
Jared Cone
b1cda52fd6
Fixed delete-after-free in file_windows.odin
2025-08-04 19:42:23 -07:00
gingerBill
5aec40e3e0
Remove unneeded uses of intrinsics.constant_utf16_cstring
2025-08-02 12:55:05 +01:00
gingerBill
c631a8eff5
os2 internals -> (c)string16
2025-08-02 12:47:03 +01:00
gingerBill
bb4bc316a4
for in string16; Support string16 across core
2025-08-02 12:20:35 +01:00
WisonYe
4ccdb48044
Fixed the build check: ('arg' declared but not used) against the '-default-to-nil-allocator' fix for FreeBSD/OpenBSD/NetBSD/Linux.
2025-07-19 12:29:03 +12:00
WisonYe
b9f08412ae
Fixed Index 0 is out of range 0..<0' when using '-default-to-nil-allocator' for Linux/OpenBSD/NetBSD.
2025-07-19 12:03:22 +12:00
WisonYe
26e4104ac9
Fixed 'Odin/core/os/os_linux.odin(1104:7) Index 0 is out of range 0..<0' when using '-default-to-nil-allocator'.
2025-07-19 11:59:18 +12:00
WisonYe
80cd080175
Fixed 'Odin/core/os/os_freebsd.odin(971:7) Index 0 is out of range 0..<0' when using '-default-to-nil-allocator'.
2025-07-19 11:54:17 +12:00
Harold Brenes
219b0fe535
Replace system:System.framework imports with system:System
...
This makes the linker work for both macOS and iOS targets
2025-07-13 15:45:21 -04:00
Jeroen van Rijn
2e83e22141
Merge branch 'master' into args-leak
2025-06-27 01:20:37 +02:00
Jeroen van Rijn
b9809e7aa4
OpenBSD
2025-06-16 20:39:19 +02:00
Jeroen van Rijn
73dcc39d98
Fix macOS
2025-06-16 20:22:15 +02:00
Jeroen van Rijn
6347c87b5b
Add buffered get_env variants to os2
2025-06-16 20:12:27 +02:00
Jeroen van Rijn
eef07431ef
Factor out buffered utf helper.
2025-06-16 20:12:27 +02:00
Jeroen van Rijn
1a2f83f123
Add bring-your-own-buffer versions of os.lookup_env and os.get_env
...
And make `core:terminal` use it so that `core:log` can be imported with `-default-to-nil-allocator`,
in which the actual allocator is set up in `main()`.
Windows was tricky because of the utf-8 <> utf-16 conversion, so we use some temporary stack buffers for that purpose,
limiting the non-allocating version there to 512 utf-16 characters each for the key and environment value.
In general the value is (obviously) limited to the size of the supplied buffer, and a `.Buffer_Full` error is returned
if that buffer is insufficient. If the key is not found, the procedure returns `.Env_Var_Not_Found`.
TODO:
- Factor out buffer-backed utf8 + utf16 conversion to `core:sys/util` to more easily apply this pattern.
- Add similar `lookup_env` and `get_env` procedures to `core:os/os2`.
Fixes #5336
2025-06-16 20:12:26 +02:00
Jeroen van Rijn
84eaddbd47
WASI
2025-06-13 18:08:35 +02:00
Jeroen van Rijn
8c8406cc4d
stub out get_env for js
2025-06-13 18:00:30 +02:00
Jeroen van Rijn
3862555153
Replace core:posix usage in core:os/os2
2025-06-13 17:49:05 +02:00
gingerBill
87247b8bb7
Merge pull request #5286 from Feoramund/no-san-mem
...
Add `@(no_sanitize_memory)` with additions to `base:sanitizer`
2025-06-09 12:46:22 +01:00
Jeroen van Rijn
77f4199af6
Simplify _xdg_user_dirs_lookup
2025-06-08 14:56:41 +02:00
Jeroen van Rijn
6d7f5baaf8
Merge pull request #5295 from elyalon/dirs
...
Fix user dirs, add docs
2025-06-07 11:13:40 +02:00
Ely Alon
deeb9e2d12
remove fmt import
2025-06-07 01:40:43 +03:00
Ely Alon
17746db555
Fix user dirs, add docs
2025-06-07 01:22:30 +03:00
Jeroen van Rijn
e870369c97
Merge pull request #5288 from Feoramund/strconv-append-to-write
...
Clarify `strconv.append_*` to `strconv.write_*`
2025-06-05 23:45:37 +02:00
Feoramund
b7de15caa3
Clarify strconv.append_* to strconv.write_*
2025-06-05 16:56:00 -04:00
Jeroen van Rijn
108c8781c7
Factor out into helper.
2025-06-05 22:27:18 +02:00
Feoramund
f8228a91d1
Mark some uninitialized memory as safe
...
Syscalls (but not C functions) are opaque to MemorySanitizer, thus some
memory addresses need to be manually marked as safe to access.
2025-06-05 16:06:44 -04:00
Jeroen van Rijn
90a1b0ec4b
UAF
2025-06-05 21:45:36 +02:00
Jeroen van Rijn
2428fa37a9
tabs
2025-06-05 21:38:59 +02:00
Ely Alon
a9cdb4f446
add more user dirs
2025-06-05 21:50:59 +03:00
Jeroen van Rijn
a1759aa2fa
Fix
2025-06-05 16:54:39 +02:00
Jeroen van Rijn
93e1c6593e
Change os2.user_* on Windows to use SHGetKnownFolderPath.
...
Known folders can be redirected using `SHSetKnownFolderPath`, and it's a bit iffy to rely on environment variables.
This also more easily allows us to add `user_*_dir` procedures for the remaining 139 GUIDs in `known_folders.odin`, provided they have equivalents on other platforms.
2025-06-05 16:37:41 +02:00
Jeroen van Rijn
da3b3a4139
Allocate return value on provided allocator
2025-06-05 15:16:35 +02:00
Jeroen van Rijn
d4a1670b93
Fix core:log on -target:js_wasm32
2025-06-02 14:44:26 +02:00
Laytan Laats
eab3e2be22
os2: remove libc use on Linux
2025-05-20 19:48:06 +02:00
Jeroen van Rijn
d7a83a7a1f
Revert "os2: Don't try to translate Windows file attributes to Unix mode flags"
...
This reverts commit 95923c2059 .
It'll be updated later.
2025-05-12 23:34:12 +02:00
Jeroen van Rijn
30388cada3
Fix os2.clean_path on Windows
2025-05-11 15:35:52 +02:00
Laytan Laats
cacb9f9f54
os2: better copy_directory, and add native copy_file and copy_directory variants on MacOS
2025-05-08 19:32:30 +02:00
Lucas Perlind
f5b947ea73
Fix linux
2025-05-08 17:45:29 +10:00
Lucas Perlind
14c5096b81
Improve assert information
2025-05-08 17:41:03 +10:00
Lucas Perlind
9f2d008a8a
Remove TEMP_ALLOCATOR_GUARD wrapper
2025-05-08 17:41:03 +10:00
Lucas Perlind
5292a7f4f3
Fix posix
2025-05-08 17:41:03 +10:00
Lucas Perlind
1bea59ee68
Fix linux
2025-05-08 17:41:03 +10:00
Lucas Perlind
190960e103
fix -vet
2025-05-08 17:41:03 +10:00
Lucas Perlind
b9db1dd3e0
os2: Resolve temp allocator collisions
2025-05-08 17:41:01 +10:00