aboutsummaryrefslogtreecommitdiffstats
path: root/src/byte_source.c
AgeCommit message (Collapse)AuthorFilesLines
2022-01-28Add custom allocator supportDavid Robillard1-15/+36
2022-01-28Use more human-readable status codesDavid Robillard1-1/+1
2022-01-28Simplify input stream APIDavid Robillard1-126/+29
More or less the same rationale as the previous commit, but for reading. This makes for nice symmetry with writing, at the cost of a slightly more annoying reader interface since the source doesn't know its block size or name.
2022-01-28Factor out duplicated ByteSource buffer allocation codeDavid Robillard1-14/+14
2022-01-28Add assertions for all non-null pointers in the public APIDavid Robillard1-0/+8
Clang issues warnings at build time based on the SERD_NONNULL annotations, which is a much better approach in general. However, it does not cover cases where the API is being used with another compiler, or without a compiler that can statically check things at all (such as Python or other dynamic language bindings). In those situations, getting a clear assertion message is a lot less confusing than a random crash somewhere in serd, and it makes it clear that the bug is in the caller, so I think it's worth the tedious verbosity.
2022-01-13Make Reader always read from a ByteSourceDavid Robillard1-48/+117
2022-01-13Fix crash when attempting to read before startingDavid Robillard1-0/+4
2022-01-13Simplify ByteSource implementationDavid Robillard1-10/+15
2022-01-13Add SerdCaretDavid Robillard1-9/+18
2022-01-13Simplify reader interfaceDavid Robillard1-4/+11
2022-01-13Bring read/write interface closer to C standardDavid Robillard1-1/+1
2022-01-13Use char* for strings in public APIDavid Robillard1-4/+4
The constant casting just makes user code a mess, for no benefit.
2021-05-31Make most function parameters constDavid Robillard1-10/+11
More const never hurts in general, but in particular this allows the compiler to make better nullability deductions, which reduces the amount of manual nullability casting required.
2021-01-02Use email address instead of website for attributionDavid Robillard1-1/+1
2020-12-31Format all code with clang-formatDavid Robillard1-53/+54
2020-12-31Avoid "else" after "break" and "return"David Robillard1-6/+9
2020-11-13Use aligned allocation via C11 or Windows API where possibleDavid Robillard1-3/+2
2020-08-14Clean up and separate internal headersDavid Robillard1-1/+3
2020-06-21Clean up includesDavid Robillard1-1/+8
2019-10-27Fix EOF handling while reading in bulk or from stringsDavid Robillard1-0/+2
2018-07-22Inline serd_byte_source_advanceDavid Robillard1-34/+1
2018-06-10Fix byte source to never read past end of stringsDavid Robillard1-10/+17
2017-11-05Move cursor from reader to byte sourceDavid Robillard1-0/+14
2017-11-05Move EOF flag from reader to byte sourceDavid Robillard1-0/+2
2017-06-30Fix spurious error message when parsing empty filesDavid Robillard1-1/+1
2017-04-24Fix reading with non-standard page sizesDavid Robillard1-2/+2
2017-04-24Allow arbitrary page size to be passed for custom sourcesDavid Robillard1-10/+11
2017-04-14Factor out file reading from readerDavid Robillard1-0/+107