Commit Graph

126 Commits

Author SHA1 Message Date
cheatfate 8d87ba3e05
Fix *nix compilation problem. 2020-10-19 11:41:40 +03:00
cheatfate 1746bc0095
Fix UTF-32 encoder/decoder.
Add tests for UTF-8 to UTF-32 and UTF-32 to UTF-8 encoders.
2020-10-19 11:41:40 +03:00
cheatfate 39fb71bcec
Add UTF-8 length procedure.
Add UTF-8 offset procedure.
Add UTF-8 substr procedure.
Add wchar_t to UTF-8 conversion procedure.
Add multibyte to wchar_t conversion procedure (posix).
Add UTF-8 tests.
Fix password reader to validate utf-8 encoding when reading from pipe.
Fix password reader to read utf-8 encoded strings from *nix console.
2020-10-19 11:41:40 +03:00
cheatfate b0bbeb49d2
Add UTF-8 validation procedure. 2020-10-19 11:41:34 +03:00
cheatfate cc001fa88f
Make isConsoleRedirected() public API. 2020-10-19 11:41:05 +03:00
cheatfate 6ee4974c7f
Use proper method of console identification (glibc). 2020-10-19 11:41:04 +03:00
cheatfate 4363df120f
User proper method of console identification (msvcrt). 2020-10-19 11:41:04 +03:00
cheatfate cb44a0db40
Fix error handler. 2020-10-19 11:41:04 +03:00
cheatfate 70405da672
Initial commit. 2020-10-19 11:40:58 +03:00
Eugene Kabanov 7018fb0b5e
Procedures to set user-only Windows ACL settings for files and folders. (#58)
* Initial commit of UserOnly Windows ACL settings for files and folders.

* Move ACL procedures to windows/acl.
Move ACL tests to test_winacl.nim.

* Add test_winacl.nim

* Fix *nix compilation problem.

* More proper fix for *nix targets.
2020-10-15 14:27:58 +02:00
jangko 999d3ca7ce
fixes bitops2: 'countOnesBuiltin' and 'parityBuiltin' when feeded 'unsigned' on 32 bit platform 2020-09-30 18:28:36 +07:00
Zahary Karadjov 2b9e5f34d1
Some fixes for Result[T, void] 2020-09-29 21:31:20 +03:00
cheatfate 3e4dc8213b
Fix some Windows API declarations. 2020-09-29 13:34:40 +03:00
Eugene Kabanov 7a2b6dbdda
IO2 (#53)
* Initial commit of io2 module

* Rename to io2.
Add createPath with permissions.
Add writeFile with permissions.
Add tests.

* Add test_io2 to all tests.

* Add posix permissions.

* Add toString procedure for set[Permission] and tests.

* Remove safeio.nim

* Add setPermissions procedures.
Fix writeFile() to change permissions.
Add more writeFile() tests.

* Change C ReadOnly/WriteOnly/ReadWrite to pair of Read/Write.
Add tests for openFile.

* File handles is no inherited by default, with option to turn on inheritance.

* Review comments fixes.
More tests.

* Fix x86 compilation problems.

* Rename toSet -> toPermissions.

* Avoid race condition on writeFile permissions.
2020-09-22 08:53:00 +03:00
Jacek Sieka 47ff49aae7
fix use of compiler intrinsics in endians/bitops (#54)
* fix use of compiler intrinsics in endians/bitops

* windows fix
2020-09-21 08:43:27 +02:00
Zahary Karadjov 1db43c7234
Add string.add(openarray[char]) (to be optimized later) 2020-09-02 19:59:50 +03:00
Eugene Kabanov 4c695e5933
Allow any integer type to use CT.isEqual(). (#51)
* Allow any integer type to use CT.isEqual().
* Add tests for different integer types.
2020-07-30 20:09:49 +03:00
cheatfate a5560c1ea6
Add constant isEqual operation for openarrays. 2020-07-29 01:43:09 +03:00
Jacek Sieka ec2f52b0ce
results: make `?` work with void (#50) 2020-07-13 18:09:45 +02:00
Zahary Karadjov 61e0f82858
More descriptive naming 2020-07-08 00:32:28 +03:00
Zahary Karadjov 32b86bfd1f
Faux closures: a facility for creating closure-like non-closure procs
This code is extracted from the error-handling proposal where it's
used to implement `Try` blocks (Faux closures are created there in
order to assign raises lists to them). The desktop team faced a
similar problem where the `spawn` API doesn't support closures,
but the restriction can be easily worked-around with faux closures.
2020-07-07 20:29:04 +03:00
Zahary Karadjov 61d5cfc376
Add array[N, byte].fromHex(string) 2020-07-02 18:00:39 +03:00
Zahary Karadjov c980d7592d
Missed some generic procs in the previous commit due to late instantiation 2020-07-02 13:00:38 +03:00
Zahary Karadjov a272986cb3
raises annotations for stew/byteutils 2020-07-02 12:48:05 +03:00
Ștefan Talpalaru d5e3c44917
POSIX stack size limiting 2020-06-25 19:01:01 +02:00
Zahary Karadjov 152eb1b58c Add 'checkedEnumAssign' for validating tainted enum inputs 2020-06-24 14:15:45 +03:00
Mamy Ratsimbazafy 11aeb996ab
Error message typo 2020-06-23 19:46:18 +02:00
jangko 9385fabe6c
fix countOnesBuiltin for vcc 32 bit 2020-06-15 21:46:01 +07:00
jangko 22fabba6df
fix bitops checkedScan and bitScan for vcc 2020-06-15 11:55:52 +07:00
Kim De Mey cf82e2d51d
Remove made up ValueError (#42) 2020-06-09 10:21:28 +02:00
Zahary Karadjov bb2221ba8c
Forgotten changes from the previous commit 2020-06-05 19:19:06 +03:00
Zahary Karadjov c0f884b81b
Add shims/net for forced IP address initialization 2020-06-05 17:05:22 +03:00
Jacek Sieka 86ac01122c
ssz no longer uses stew/bitseqs 2020-06-03 11:22:32 +02:00
Zahary Karadjov b9e847a143
Add bitops2.getBitsBE 2020-06-01 19:49:46 +03:00
Zahary Karadjov a99dafab42
Handle another corner case in recordFields 2020-05-27 11:30:56 +03:00
Zahary Karadjov 4ffd3e1f59
Support type hierarchies in recordFields 2020-05-26 18:56:41 +03:00
Zahary Karadjov cf837b3fb6
Fix a build problem when compiling NBC with json:trace logging 2020-05-25 20:32:29 +03:00
Zahary Karadjov a333eb080f
Add options to storeMacroResults that improve the results in NBC 2020-05-24 00:49:12 +03:00
Zahary Karadjov 9a2a542b9f
Add dumpMacroResults 2020-05-23 20:18:20 +03:00
Zahary Karadjov f003557674
typedParams will now handle parameters with pragmas 2020-05-23 20:12:56 +03:00
Zahary Karadjov a695d9e7bd
Add shims/macros.getCustomPragmaFixed 2020-05-20 13:42:29 +03:00
rockcavera 2218717cf6
fixes for `-d:swapBytesBuiltin --cc:vcc`
renamed the `builtin_bswapT` procedures of the vcc compiler to `swapBytesBuiltin`, to then work correctly with `-d:swapBytesBuiltin --cc:vcc`
2020-05-19 21:58:46 -03:00
Zahary Karadjov d0f5be4971
Fix a compilation error when using a 32-bit varint parser 2020-05-12 22:59:46 +03:00
Zahary Karadjov c500d3dda1
Some renames to cater to the latest FastStreams API 2020-05-12 15:02:06 +03:00
Giovanni Petrantoni 5fa6bb2742 Add a note about compiler crash with raises pragma (results) 2020-05-12 19:37:15 +09:00
Jacek Sieka 2d9226464d heterogenous `or`
Useful for translating `error` results
2020-05-08 18:54:36 +03:00
Jacek Sieka 638e7acc8e
deprecate ranges (#31)
Without lifetime tracking, ranges pose a number of issues with regards
to memory safety - use openArray instead which is limited but safe.

In its present form, ranges take a copy of whatever is passed to them
which obscures the copies that they take, leading to misleading and slow
code.

If openArray is not applicable, simply do a seq copy - it's fine and
really doesn't matter in 95% of all cases, then profile and use other
techniques where needed.
2020-05-07 07:11:43 +02:00
Jacek Sieka 720f1a254d
byteutils: compile-time to/fromBytes (#35) 2020-05-06 15:51:07 +02:00
Jacek Sieka 8065e36c5a
results: fix non-void [] overload 2020-04-23 06:46:10 +02:00
Zahary Karadjov df7f2e7ed5
Fix a typo [skip ci] 2020-04-22 16:39:37 +03:00