aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* unpack.c: Cast negative signed offset to signedHEADmasterTomasz Kramkowski2022-11-021-1/+1
| | | | | | | | | | As N1570ยง6.5.16.2p3 states, E1 += E2 is equivalent to E1 = E1 + (E2). This means that E1 + (E2) will be subject to (6.5.6p4) "the usual arithmetic conversions". Since both types have equal integer conversion rank (6.3.1.1p1), E1 which was intmax_t will first be converted to uintmax_t before being added to (E2). This is not the intended result as it relies on integer wrapping behaviour again. Casting E2 to intmax_t first prevents the conversion of E1 and produces the correct result.
* Update copyright headersTomasz Kramkowski2022-05-163-3/+3
|
* change buf to src or dest depending on contextTomasz Kramkowski2021-11-073-18/+18
|
* ieee754b.c: small cleanupTomasz Kramkowski2021-11-071-6/+4
|
* use safe_islower to avoid UBTomasz Kramkowski2021-11-073-2/+10
|
* README.md: fix outdated bugs linkTomasz Kramkowski2021-11-071-1/+1
|
* test.c: Output TAP formatted testsTomasz Kramkowski2021-09-211-6/+11
|
* test.c: clean up macrosTomasz Kramkowski2021-09-211-15/+14
|
* test.c: minor cleanupTomasz Kramkowski2021-09-211-2/+2
|
* clean: always manually remove, use redo-targets to checkTomasz Kramkowski2021-09-211-6/+15
| | | | | | | | | clean will now always use the non-redo-targets clean method, but if redo-targets is available it will check that there's nothing missing from the logic. This isn't bulletproof but it's better than having a working clean when using a redo with redo-targets and then having a broken clean logic because I forgot to add something when not using a redo-targets redo.
* pack: Simplify signed integer packing calculationTomasz Kramkowski2021-08-141-7/+1
| | | | | | | | | | | | | Because of the fact that uintmax_t guarantees at least a full 64 bit width and because of C's behavior when a signed type is converted to an unsigned type and the value is out of range, the new code just sign-extends and converts to a uintmax_t wide two's complement signed value. As an aside, the old code was written forgetting the fact that that uintmax_t + intmax_t would be first converted to uintmax_t + uintmax_t before being evaluated. The end result was the same except it ended up being offset by 2^8s.
* test_gen: implement unpack_struct test generationTomasz Kramkowski2021-08-111-10/+97
|
* test.c: add simple unpack_struct testTomasz Kramkowski2021-08-111-0/+46
|
* implement unpack_structTomasz Kramkowski2021-08-112-0/+73
|
* make [HT]CC full paths for redo-ifchange in .toolTomasz Kramkowski2021-08-112-1/+7
| | | | | | | | | | | | This should force rebuilding targets which depend on tools which have changed in the filesystem and prevent envrionment changes from causing build changes. But this should be documented. Ideally a redo with a redo-always (or more aptly named redo-ifredo) would mark an env target as needing redoing every time you run redo on a deptree which includes it and this would in turn cause rebuilding of things which rely on the environment (like tools which run from the path).
* add bash ft modelines to bash do filesTomasz Kramkowski2021-08-087-0/+7
|
* add the PACK_TYPE_COUNT pack_typeTomasz Kramkowski2021-08-082-1/+3
|
* default.tool.do: make things cleaner hopefullyTomasz Kramkowski2021-08-081-19/+19
|
* factor unpack core into read_fieldsTomasz Kramkowski2021-08-071-69/+77
|
* always va_end even when an error occursTomasz Kramkowski2021-08-073-9/+17
|
* set -o pipefail when it is necessaryTomasz Kramkowski2021-08-072-2/+2
|
* fix up missed pack_type charsTomasz Kramkowski2021-08-062-11/+14
|
* README.md: move to using link references everywhereTomasz Kramkowski2021-08-061-15/+29
|
* use xmacros to generate type related codeTomasz Kramkowski2021-08-063-64/+65
|
* add pack_type and pack_endian and use themTomasz Kramkowski2021-08-065-47/+68
|
* remove unused 's' from getsize switchTomasz Kramkowski2021-08-061-1/+1
|
* test: signal test failure with exit codeTomasz Kramkowski2021-08-061-0/+5
|
* cleanup readmeTomasz Kramkowski2021-08-061-12/+17
|
* Revert ".builds: use my own minimal/do version"Tomasz Kramkowski2021-08-065-5/+5
| | | | This reverts commit 98e18c714bf1668e9c041f1be4abcab548f22294.
* make do-link executable from /usr/bin/envTomasz Kramkowski2021-08-064-6/+8
| | | | | | | On openbsd the script interpreter of an interpreter script can't be an interpreter script (script(7)) so do-link must be ran with /usr/bin/env which means the type parameter needs to be a variable set in the do file.
* .builds: use my own minimal/do versionTomasz Kramkowski2021-08-065-5/+5
| | | | | | | The upstream minimal/do does not support relative shebangs and breaks builds. This fixes it.
* implement do-link to simplify linking .do filesTomasz Kramkowski2021-08-064-15/+11
|
* default.o.do: rename compiler to toolTomasz Kramkowski2021-08-061-4/+4
|
* sort .gitignoreTomasz Kramkowski2021-08-061-1/+1
|
* Implement compile_commands.json generationTomasz Kramkowski2021-08-0614-18/+46
|
* compile_flags.txt.do: use target flags for nowTomasz Kramkowski2021-08-061-1/+1
|
* README: Fix email addressesTomasz Kramkowski2021-08-061-2/+4
|
* Update contributing and bugs informationTomasz Kramkowski2021-08-061-3/+15
|
* README: Sort and line up badgesTomasz Kramkowski2021-08-061-8/+4
|
* Fix license information content and formatTomasz Kramkowski2021-08-0512-11/+12
|
* clean: fix all the non-redo-targets bugsTomasz Kramkowski2021-08-051-2/+2
|
* Cross compilation supportTomasz Kramkowski2021-08-0514-48/+77
|
* Define PRIuSIZE to avoid issues compiling with msvcrtTomasz Kramkowski2021-08-053-6/+18
| | | | | | | | On windows and when cross compiling with mingw the standard library only supports C89 which means that print format arguments cannot take "%zu". To fix this, a PRIuSIZE macros is needed which expands to PRIu32 on windows 32 bit and PRIu64 on windows 64 bit.
* Separate gcc specific warningsTomasz Kramkowski2021-08-056-9/+17
|
* README: Make build health badges into a listTomasz Kramkowski2021-08-051-8/+10
|
* README: Add alpine build health badgeTomasz Kramkowski2021-08-051-0/+2
|
* add builds.sr.ht manifest for alpineTomasz Kramkowski2021-08-051-0/+20
|
* .parse-deps: No longer executable, called with sed -fTomasz Kramkowski2021-08-053-4/+3
| | | | as #!/usr/bin/sed is not portable, it is easier to just use sed -f
* add builds.sr.ht manifest for freebsdTomasz Kramkowski2021-08-052-1/+21
|
* README: Add sourcehut build health badgesTomasz Kramkowski2021-08-051-0/+5
|