Jakob Borg
a3c724f2c3
all: Add build constants for runtime.GOOS comparisons ( #8442 )
...
all: Add package runtimeos for runtime.GOOS comparisons
I grew tired of hand written string comparisons. This adds generated
constants for the GOOS values, and predefined Is$OS constants that can
be iffed on. In a couple of places I rewrote trivial switch:es to if:s,
and added Illumos where we checked for Solaris (because they are
effectively the same, and if we're going to target one of them that
would be Illumos...).
2022-07-28 19:36:39 +02:00
greatroar
3e032c4da6
lib/fs: optimize Windows path checking/sanitizing
...
name old time/op new time/op delta
WindowsInvalidFilenameValid-8 875ns ± 1% 150ns ± 1% -82.84% (p=0.000 n=9+9)
WindowsInvalidFilenameNUL-8 276ns ± 4% 121ns ± 3% -56.26% (p=0.000 n=10+10)
name old alloc/op new alloc/op delta
WindowsInvalidFilenameValid-8 32.0B ± 0% 16.0B ± 0% -50.00% (p=0.000 n=10+10)
WindowsInvalidFilenameNUL-8 32.0B ± 0% 19.0B ± 0% -40.62% (p=0.000 n=10+10)
name old allocs/op new allocs/op delta
WindowsInvalidFilenameValid-8 2.00 ± 0% 1.00 ± 0% -50.00% (p=0.000 n=10+10)
WindowsInvalidFilenameNUL-8 2.00 ± 0% 2.00 ± 0% ~ (all equal)
2021-11-23 21:25:29 +01:00
Simon Frei
54b50e3d52
lib/fs, lib/model: Cover more windowsyness sanitizing paths ( fixes #7075 ) ( #7158 )
2020-11-25 22:52:46 +01:00
Jakob Borg
e6b1f67ecf
lib/fs: Be even more strict about Windows names (ref #7008 ) ( #7012 )
...
Things like nul.whatever.txt are also not allowed.
2020-09-28 10:42:37 +02:00
Audrius Butkevicius
0ca1f26ff8
lib/versioner: Restore for all versioners, cross-device support ( #5514 )
...
* lib/versioner: Restore for all versioners, cross-device support
Fixes #4631
Fixes #4586
Fixes #1634
Fixes #5338
Fixes #5419
2019-04-28 23:30:16 +01:00