Commit Graph

12877 Commits

Author SHA1 Message Date
Luna d423bb3808 std.c: add setsockopt 2019-12-30 19:26:30 -05:00
Luna 0e67568bca net: fix Options
- os: fix typos on setsockopt
2019-12-30 19:26:30 -05:00
Luna 4a4d2c0d80 os: add setsockopt
- net: use os.setsockopt()
2019-12-30 19:26:29 -05:00
Luna 631eb6783d add StreamServer.Options.reuse_address
this uses a bad direct interface with std.os.linux, this should add
setsockopt to std.os.
2019-12-30 19:26:29 -05:00
Andrew Kelley 8f8a32d297 Merge pull request #4007 from daurnimator/json-cleanup
std.json: cleanups
2019-12-30 18:13:20 -05:00
lukechampine ab093228f9 Fix segfault by not reassigning to function parameter 2019-12-30 13:53:09 -05:00
lukechampine d1a570a4b8 chacha: Fix open docstring 2019-12-30 13:35:16 -05:00
lukechampine d6ca2323cf chacha: Use error set instead of bool 2019-12-30 13:35:13 -05:00
lukechampine 1953b60599 chacha20poly1305: Return false on short ciphertext 2019-12-30 13:35:05 -05:00
lukechampine ae7bb4ecc0 chacha20poly1305: verify tag in constant time 2019-12-30 13:34:57 -05:00
lukechampine fbe7d8c1cb crypto: Add chacha20poly1305 2019-12-30 13:34:53 -05:00
daurnimator 42727c73f9 std: fix typo in comment 2019-12-31 03:06:33 +11:00
daurnimator ef3a01a367 std: json.unescapeString doesn't need to take an allocator 2019-12-31 02:26:09 +11:00
daurnimator 04a2a4a7cb std: track decoded string length in std.json tokenizer 2019-12-31 02:26:06 +11:00
daurnimator 0def92cff4 std: use enum literals in std.json 2019-12-30 23:47:33 +11:00
daurnimator 80d37a13c0 std: use a union(enum) for std.json.Token 2019-12-30 23:47:29 +11:00
daurnimator 51943ff432 std: meta.TagPayloadType takes the tag type of the union 2019-12-30 23:09:18 +11:00
daurnimator 17cc511ea4 std: fmt std/json.zig 2019-12-30 22:34:19 +11:00
Haze Booth c70a673c6e array literal address of fix 2019-12-30 05:48:27 -05:00
Andrew Kelley e0c7d12043 update std/json.zig to latest language changes
fixes regression from 54231e832b
2019-12-29 19:00:27 -05:00
Benoit Giannangeli fb2f0cc497 ArrayList: ptrAt function returns pointer to item at given index 2019-12-29 18:46:59 -05:00
Andrew Kelley 54231e832b Merge pull request #3648 from xackus/json-unescape
breaking: JSON unescape
2019-12-29 18:31:10 -05:00
data-man 6af39aa49a Fixes #3966 2019-12-29 18:19:03 -05:00
Andrew Kelley 6b960331ee Merge pull request #3968 from daurnimator/sigprocmask
Clean up linux sigprocmask, raise
2019-12-29 18:03:09 -05:00
Vexu f5e7d2d00c translate-c fix bugs
Thanks @daurnimator
2019-12-29 14:01:59 +02:00
Vexu 59cc7072e2 translate-c-2 use intCast in most places 2019-12-29 11:04:59 +02:00
Vexu 3f7bab7373 fix translate-c taking ages 2019-12-29 11:04:58 +02:00
Marc Tiehuis bda355d976 Merge pull request #3992 from ForLoveOfCats/BigIntToStringLeak
Add missing deferred deinits to `math.big.Int.toString`
2019-12-29 14:47:59 +13:00
daurnimator 2662e50d27 std: sentinel terminated pointers for utf16 apis 2019-12-29 10:35:05 +11:00
ForLoveOfCats b28824ef66 Add missing deferred deinits to math.big.Int.toString (mem leak fix) 2019-12-28 15:31:32 -05:00
daurnimator edb5deb39c std: unicode codepoints are 21 bits 2019-12-28 16:49:59 +11:00
daurnimator ab6065407d std: simplify utf8ToUtf16Le
Also faster, on my machine unicode/throughput_test.zig now gives e.g.
> original utf8ToUtf16Le: elapsed: 1048 ns (0 ms)
> new utf8ToUtf16Le: elapsed: 971 ns (0 ms)
2019-12-28 16:49:59 +11:00
daurnimator 5843a6e3bc std: optimise utf8ByteSequenceLength
Also tested (but not as fast):
```zig
pub fn utf8ByteSequenceLength(first_byte: u8) !u3 {
    const len = @clz(u8, ~first_byte);
    if (len == 0) return 1;
    if (len < 4) return @intCast(u3, len);
    return error.Utf8InvalidStartByte;
}
```
2019-12-28 14:39:38 +11:00
daurnimator 8b72eedc76 std: add warm up phase to benchmark
In my tests, whatever ran first was getting much better numbers.
Additionally, add alignment requirements so that comparison is fair.
2019-12-28 14:39:38 +11:00
daurnimator a81c0ba2e7 std: fix unicode encoding of astral plane codepoints to utf16 2019-12-28 14:39:38 +11:00
kprotty 1c5a1284e3 typo fix 2019-12-22 21:45:26 -06:00
kprotty b8fabb3426 ResetEvent: broadcast by default 2019-12-22 21:45:26 -06:00
Andrew Kelley 28dbdba37e Merge pull request #3935 from Vexu/translate-c-2
Translate-c-2 the rest
2019-12-22 16:12:56 -05:00
daurnimator 95c83388e4 std: use pid_t where appropriate 2019-12-22 20:20:58 +11:00
daurnimator 59348240d7 std: use wrappers from raise() rather than raw syscalls 2019-12-22 20:20:58 +11:00
daurnimator 6de4bd850c std: add tkill and tgkill for linux 2019-12-22 20:20:58 +11:00
daurnimator c31afc3736 std: remove high level linux sigprocmask wrappers 2019-12-22 20:20:58 +11:00
daurnimator 9577ff1c90 std: use simpler sigset_t definition 2019-12-22 20:20:53 +11:00
Jethro Nederhof ba1d213f48 freebsd: add missing OS and libc bits 2019-12-22 02:27:23 -05:00
daurnimator 96c9c38b35 std: sigprocmask set is optional 2019-12-22 12:03:03 +11:00
Andrew Kelley 290dc5d95b zig fmt support for slice sentinel syntax 2019-12-21 14:03:36 -05:00
LemonBoy 333eec557f Initial support for static PIE executables 2019-12-21 17:34:05 +01:00
Nathan Michaels 45339aec02 Fix wording on deinit. 2019-12-21 01:30:55 -05:00
Andrew Kelley 8918cb06fc sentinel slicing improvements
* add runtime safety for slicing pointers, arrays, and slices.
 * slicing without a sentinel value results in non-sentineled slice
 * improved `std.debug.panic` handling of panic-during-panic
2019-12-20 18:28:59 -05:00
Andrew Kelley 26f3c2d061 fix std.mem.addNullByte and implement sentinel slicing
see #3770
2019-12-20 18:28:56 -05:00