Commit Graph

6724 Commits

Author SHA1 Message Date
James Duran 13640620ce Fix captures not begin zeroed when haystack length is 0 2025-01-15 15:56:40 -08:00
teapo 4895065afb Add SoA make/delete to core:mem 2025-01-15 20:16:57 +01:00
James Duran a7971f9f6f Allow captures in gfind and gmatch to be used in-loop 2025-01-15 11:02:46 -08:00
alektron a0c20023fc Fix: Issue with non-zeroed memory after arena_temp_and;
Fix: total_used field of growing Arena was not decremented correctly in arena_temp_end;
2025-01-15 17:59:30 +01:00
Laytan Laats 9d4fa39daa add ensure and ensuref to fmt and log, fix some inconsistencies 2025-01-13 20:33:49 +01:00
gingerBill 48a7ed01f8 Merge pull request #4675 from jasonKercher/os2-dir-linux
Implement os2 dir linux
2025-01-13 11:04:55 +00:00
Jeroen van Rijn 600e0ebed0 Fix stray space vs. tab 2025-01-12 12:13:29 +01:00
Christiano Haesbaert 5699c533c6 Add net.dial_tcp_from_host{_or_endpoint} and unify them
The main motivation for this is to have sinergy with flags parsing, currently
flags for a sockaddr returns a net.Host_Or_Endpoint, but we can't just dial
from it since there isn't a variant.

Consider the following:

```
Options :: struct {
	target: net.Host_Or_Endpoint `args:"pos=0,required" usage:"host:port"`,
}

before :: proc() -> (sock: net.TCP_Socket, err: net.Network_Error) {
	opt: Options

	flags.parse_or_exit(&opt, os.args)
	switch t in opt.target {
	case net.Host:
		sock, err = net.dial_tcp(t.hostname, t.port)
	case net.Endpoint:
		sock, err = net.dial_tcp(t)
	}
	return
}

after :: proc() -> (sock: net.TCP_Socket, err: net.Network_Error) {
	opt: Options

	flags.parse_or_exit(&opt, os.args)
	sock, err = net.dial_tcp(opt.target)
	return
}

```

For completion, add dial_tcp_from_host() and define the upper functions in terms
of the newly added ones, cuts one repeated block, now:

from_hostname_and_port_string is parse + from_host_or_endpoint
from_hostname_with_port_override is parse + override + from_host_or_endpoint
from_host is to_endpoint + from_endpoint
from_host_or_endpoint is from_endpoint or from_host
2025-01-12 02:41:35 +01:00
Christiano Haesbaert c51df72f1a Make sure we don't leak os.args. Fixes #1633.
os.args is never freed, while this is an insignificant leak, it is a bit
annoying as it makes valgrind complain:

==234270== Memcheck, a memory error detector
==234270== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==234270== Using Valgrind-3.24.0 and LibVEX; rerun with -h for copyright info
==234270== Command: ./wc /tmp/mulumulu
==234270==
       1       8      58 /tmp/mulumulu
==234270==
==234270== HEAP SUMMARY:
==234270==     in use at exit: 47 bytes in 1 blocks
==234270==   total heap usage: 5 allocs, 4 frees, 4,195,875 bytes allocated
==234270==
==234270== 47 bytes in 1 blocks are possibly lost in loss record 1 of 1
==234270==    at 0x484BC13: calloc (vg_replace_malloc.c:1675)
==234270==    by 0x402E49: runtime._heap_alloc-769 (in /d/learn-odin/wc/wc)
==234270==    by 0x40A8D7: runtime.heap_alloc (in /d/learn-odin/wc/wc)
==234270==    by 0x436E9D: runtime.heap_allocator_proc.aligned_alloc-0 (in /d/learn-odin/wc/wc)
==234270==    by 0x4022DC: runtime.heap_allocator_proc (in /d/learn-odin/wc/wc)
==234270==    by 0x4165E0: runtime.make_aligned-22560 (in /d/learn-odin/wc/wc)
==234270==    by 0x41F6D0: runtime.make_slice-22340 (in /d/learn-odin/wc/wc)
==234270==    by 0x40156B: os._alloc_command_line_arguments-4679 (in /d/learn-odin/wc/wc)
==234270==    by 0x4011AF: __$startup_runtime (in /d/learn-odin/wc/wc)
==234270==    by 0x406F17: main (in /d/learn-odin/wc/wc)
==234270==
==234270== LEAK SUMMARY:
==234270==    definitely lost: 0 bytes in 0 blocks
==234270==    indirectly lost: 0 bytes in 0 blocks
==234270==      possibly lost: 47 bytes in 1 blocks
==234270==    still reachable: 0 bytes in 0 blocks
==234270==         suppressed: 0 bytes in 0 blocks
==234270==
==234270== For lists of detected and suppressed errors, rerun with: -s
==234270== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)

With the fix the leak is gone, tested on linux only.

While here, also make _alloc_command_line_arguments() private.
2025-01-11 21:55:09 +01:00
jason c11dccf210 make -vet happy 2025-01-10 20:59:48 -05:00
jason fa7ef28acf Implement _read_directory_iterator in os2.
Also, fix minor bug in linux.dirent_name.
2025-01-10 20:54:09 -05:00
Laytan cd93e2f6f8 Merge pull request #4672 from shizeeg/master
add os.exists() to FreeBSD
2025-01-11 01:03:36 +01:00
Laytan Laats e3c0cc9dfc time: add haiku 2025-01-11 00:18:36 +01:00
avanspector cc50fab8e3 Merge branch 'odin-lang:master' into master 2025-01-10 22:47:44 +01:00
avanspector ab7b5a5445 Haiku: change uintptr to uint where appropriate 2025-01-10 15:14:03 +01:00
gingerBill 328d893cb5 #unroll(N) for 2025-01-10 12:22:18 +00:00
avanspector c686728184 Update dir_unix.odin 2025-01-10 07:15:44 +01:00
avanspector 0a985f5d02 Haiku: small fixes across core 2025-01-10 07:07:40 +01:00
avanspector 9868c8292b Merge branch 'master' of https://github.com/avanspector/Odin 2025-01-10 06:42:42 +01:00
avanspector 5d3a069e7a Haiku: more posix 2025-01-10 06:40:29 +01:00
avanspector a6dccf5e98 Haiku: fix futex bug 2025-01-10 06:28:57 +01:00
avanspector 1dc5753a0f Merge branch 'odin-lang:master' into master 2025-01-10 06:26:36 +01:00
sh!zeeg 509da8e632 add os.exists() to FreeBSD 2025-01-10 05:56:56 +03:00
Laytan Laats 1511162b0a webgpu: fix cstring as parameter not loading correctly 2025-01-09 17:29:31 +01:00
Laytan Laats 16e3abfe82 strings: use map_entry 2025-01-08 22:20:43 +01:00
gingerBill 30bb2250c7 Merge pull request #4474 from tf2spi/4407-mdei-pack
Pack MDEI struct to fix issue #4407
2025-01-08 16:41:47 +00:00
gingerBill 2a29322c91 Merge pull request #4605 from karl-zylinski/tracking-allocator-bad-free-default-to-crash
Make tracking allocator default to crashing on a bad free instead of adding to bad_free_array
2025-01-08 16:24:20 +00:00
gingerBill bc2e57723b Merge pull request #4665 from GrumpyLion/add_some_missing_win_functions
Add SetWindowSubclass and RegisterHotKey functions
2025-01-08 16:23:40 +00:00
flysand7 dfe3073cef [simd] Fixes to inputs/result/example/output sections & grmamar fixes 2025-01-08 16:47:12 +03:00
Lion Schitik ab3e2340c2 review 2025-01-08 12:38:28 +01:00
david_cauchi 9a68eb401d Fix name of RI_MOUSE_LEFT_BUTTON_DOWN containing S at the end 2025-01-08 15:06:17 +11:00
Lion Schitik cdef798fbc Add SetWindowSubclass and RegisterHotKey functions 2025-01-08 01:47:36 +01:00
Laytan Laats b136aa26c8 sys/windows: fix xinput build tag 2025-01-06 21:14:37 +01:00
gingerBill 37a608664b Merge pull request #3208 from lordhippo/add-xinput
Add xinput bindings to core:sys/windows
2025-01-06 13:44:45 +00:00
avanspector be7799459b Merge branch 'odin-lang:master' into master 2025-01-06 16:42:29 +04:00
gingerBill a3b4280cf7 Merge pull request #4633 from spahnke/fix-matrix-adjugate
Fix matrix adjugate
2025-01-06 09:36:18 +00:00
gingerBill c7739de891 Merge pull request #4634 from dozn/patch-1
Use Struct Tags For Embedded (with `using`) Structs When Unmarshalling JSON
2025-01-06 09:33:42 +00:00
gingerBill 16acb342d1 Merge pull request #4617 from gorevojd/free_bootstrapped_arena_crash
Fixed crash in arena_free_all() for bootstrapped growing arenas.
2025-01-06 09:33:23 +00:00
Laytan 3a2396033c Merge pull request #4648 from lzurbriggen/fix/get-comm-ports
move GetCommPorts, add missing comm functions, add communication events
2025-01-05 18:53:36 +01:00
Leo Zurbriggen 823740c7a4 formatting 2025-01-05 18:43:16 +01:00
Leo Zurbriggen c604926595 add SetCommMask, GetCommMask, WaitCommEvent, GetCommPorts, communication event constants 2025-01-05 18:04:36 +01:00
Laytan 73d1427127 Merge pull request #4662 from IllusionMan1212/jpeg-detection
fix(core/image): off-by-one index when detecting certain JPEG images
2025-01-05 14:23:35 +01:00
gingerBill acbb14d87e Fix typo 2025-01-05 13:10:29 +00:00
gingerBill d718db473c Use array with linear search rather than a hash map. 2025-01-05 13:08:01 +00:00
gingerBill 4d63ee0794 Remove unused import 2025-01-05 12:55:35 +00:00
gingerBill 1bf33fe373 Use static global memory for std handles instead of allocating. 2025-01-05 12:53:20 +00:00
Hisham Aburaqibah 247384574a fix(core/image): off-by-one index when detecting certain JPEG images 2025-01-05 13:05:11 +02:00
Jeroen van Rijn 397e371232 Merge pull request #4641 from zolk3ri/fix/base32-error-handling
encoding/base32: Add RFC-compliant error handling and improve reliability
2025-01-04 20:27:16 +01:00
gingerBill f5e5c9767c Merge pull request #4650 from jasonKercher/arm32-update
Arm32 update for sys/linux
2025-01-04 10:44:44 +00:00
Zoltán Kéri a4a1562905 encoding/base32: Add @(rodata) attribute to default tables
Add `@(rodata)` attribute to `ENC_TABLE` and `DEC_TABLE` to mark
them as read-only data. This places these tables in the read-only
section of the executable, protecting them from modification
during program execution.
2025-01-03 19:16:56 +01:00