gingerBill
e4fcebe4bf
Empty -> Unsupported
2025-11-14 11:17:38 +00:00
gingerBill
51536fecf4
Move some of the os&os2 errors into io.Error; Rename Empty to Unsupported
2025-11-14 11:08:24 +00:00
gingerBill
fc5ef57a97
Document the rest of os2.
2025-10-31 16:00:44 +00:00
gingerBill
d2e274f0fe
Update documentation for os2 once more!
2025-10-31 15:51:36 +00:00
gingerBill
1329630bbc
Improve documentation for the file based operations in os2
2025-10-31 15:17:54 +00:00
gingerBill
b9df67f8c5
Change to Permissions bit_set from relying on octal numbering for os2
2025-10-31 14:45:53 +00:00
gingerBill
686ddbb548
use runtime.exit for os2.exit
2025-10-31 10:24:21 +00:00
gingerBill
5e528f8e97
Remove core:encoding/ini dependency in user_posix.odin
2025-10-28 13:21:35 +00:00
gingerBill
4c8f99cd36
Add #caller_location to os2.read_entire_file
2025-10-28 10:57:53 +00:00
A1029384756
7afbe23a34
[core:os/os2] zeroed n value on failed file operations
2025-10-27 12:23:47 -04:00
Kamron Bhavnagri
2995536882
Fix Linux executable path
...
Fixes a bug caused by an executable named identically to the directory
it is in, where then the parent of that directory is both on the path
and marked as executable
Avoid this via stat, as we can check we are working with a file which is
executable
2025-10-18 14:33:35 +11:00
Jeroen van Rijn
7a9ea3ee6d
Further overhaul of package line comments.
2025-10-09 23:05:29 +02:00
Jeroen van Rijn
8a35acd506
More package lines.
2025-10-09 20:11:06 +02:00
samwega
9da10dece2
fix: another itoa() used in path_linux.odin had to be replaced with write_int()
2025-10-03 22:26:24 +03:00
samwega
9e9d41ddfd
fix: cars i64 instead of int
2025-10-03 22:17:25 +03:00
samwega
83d36451a3
os_linux.odin was using itoa, changed to use write_int()
2025-10-03 22:13:03 +03:00
Alex Riedl
b9a09cebee
fix for temp_file name prefix being deallocated before being used
2025-09-11 10:55:29 -05:00
Damian Tarnawski
cdca345d74
Handle optional allocator error when appending read bytes in read_entire_file_from_file
2025-09-02 13:42:25 +02:00
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