summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2023-11-17Avoid fdatasync() on DarwinDavid Robillard1-1/+7
This isn't present at all on (older?) literal Darwin, and additionally fsync() there doesn't actually flush writes to storage like it does on Linux. So, use F_FULLFSYNC which was invented as an alternative API to do this.
2023-09-21Avoid type conversionsDavid Robillard1-42/+41
Rework arithmetic slightly to avoid some type conversions, and warnings with clang-tidy 16.0.6. Also consistently use explicitly unsigned literals where appropriate to minimize unsigned/signed conversions in general.
2023-09-21Remove unnecessary includes and forward declarationsDavid Robillard2-3/+0
According to include-what-you-use 0.20 (7301b1f) based on clang 16.0.6.
2023-08-23Improve test coverageDavid Robillard3-29/+32
2023-05-10Add ZIX_STATIC_STRING()David Robillard1-2/+4
2023-02-13Improve system feature detectionDavid Robillard2-75/+65
2023-02-06Simplify string view interfaceDavid Robillard1-11/+7
2023-02-05Fix MinGW buildDavid Robillard1-2/+2
2023-02-04Fix inconsistent parameter namesDavid Robillard1-10/+10
2023-02-04Fix inconsistent defineDavid Robillard1-1/+1
2023-02-04Suppress/fix clang-tidy warnings on WindowsDavid Robillard3-2/+14
2023-02-04Avoid use of rand()David Robillard1-1/+13
2023-02-04Fix clang build on WindowsDavid Robillard1-2/+0
2022-12-18Fix warnings on Windows without CreateSymbolicLinkDavid Robillard1-0/+4
2022-11-25Explicitly ignore posix_fadvise() return valueDavid Robillard1-2/+2
If some error happened here, there's nothing we can do but proceed and try to copy anyway.
2022-11-25Consistently pass stat structs by pointerDavid Robillard1-8/+10
These are usually quite large, over 128 bytes.
2022-11-25Fix potential out of bounds readDavid Robillard1-1/+1
2022-11-17Remove ZixBitsetDavid Robillard1-107/+0
2022-11-15Fix unused return value warningDavid Robillard1-2/+3
2022-11-13Trim special parsing prefixes from canonical Windows pathsDavid Robillard1-0/+5
There doesn't seem to be any way to cleanly avoid getting these from GetFinalPathNameByHandle, but I don't think portable code would ever want them introduced.
2022-11-12Fix zix_current_path() on systems with a static PATH_MAXDavid Robillard1-1/+2
2022-11-02Remove function_types.hDavid Robillard2-46/+45
2022-11-02Add missing includeDavid Robillard1-0/+1
2022-11-01Add missing pure and const function attributesDavid Robillard2-0/+7
It seems that certain versions and/or configurations of gcc warn about these for static functions, which is annoying, but whatever.
2022-10-23Add filesystem APIDavid Robillard10-1/+1155
2022-10-23Add path APIDavid Robillard3-0/+771
2022-10-23Add string view APIDavid Robillard1-0/+18
2022-10-23Split up platform sourcesDavid Robillard6-242/+250
This puts more onus on the build system to do things properly, but it's still easy enough to build, even manually: all the files in the appropriate system subdirectory just need to be included in the build. Otherwise, the several nested levels of preprocessor conditionals get confusing, and clang-format doesn't format code properly.
2022-10-21Split up common headerDavid Robillard8-35/+36
2022-10-21Hide errno utility functionsDavid Robillard7-43/+80
2022-10-20Hide thread implementationDavid Robillard1-0/+59
2022-10-18Add missing pure function attributeDavid Robillard1-0/+1
2022-10-18Fix unused return value warningDavid Robillard1-3/+1
Kind of annoying since this adds an untested branch, but oh well.
2022-10-18Use 0BSD for trivial "public domain intent" thingsDavid Robillard1-1/+1
2022-10-14Simplify clang-tidy configurationDavid Robillard1-8/+1
2022-10-14Fix fallback configuration on older MacOS versionsDavid Robillard1-1/+1
2022-10-14Fix zix_sem_timed_wait() interval calculationDavid Robillard1-0/+9
2022-10-09Fix off-by-one error in assertionDavid Robillard1-1/+1
2022-09-02Improve test coverageDavid Robillard2-5/+6
2022-09-02Improve zix_ring_mlock() return statusDavid Robillard1-11/+16
2022-09-02Factor out POSIX-style return patternDavid Robillard2-7/+12
2022-09-01Simplify thread and semaphore status codesDavid Robillard2-4/+9
2022-08-19Avoid mixing signed and unsigned integersDavid Robillard6-9/+9
2022-08-19Simplify errno handlingDavid Robillard2-15/+12
2022-08-19Move sem implementation out of headerDavid Robillard3-0/+238
This avoids having platform conditionals in public headers, which causes build problems for dependants.
2022-08-18Add return status to zix_ring_mlock()David Robillard1-4/+5
2022-08-18Fix semaphore error handlingDavid Robillard1-0/+4
Note that existing code which uses zix_sem_try_wait() may still compile against this change, but be incorrect!
2022-08-18Factor out converting errno codes to ZixStatusDavid Robillard1-0/+31
2022-08-18Reduce zix_tree_insert() complexityDavid Robillard1-12/+6
2022-08-18Reduce variable scope and mutabilityDavid Robillard1-7/+6