Endian-independent binary IO utilities for C

License

Changed files
+93
+31
bini.c
··· 1 + /* 2 + Bini license: BSD 3-Clause. 3 + 4 + Copyright 2025 Emmeline Coats 5 + 6 + Redistribution and use in source and binary forms, with or without 7 + modification, are permitted provided that the following conditions are met: 8 + 9 + 1. Redistributions of source code must retain the above copyright notice, this 10 + list of conditions and the following disclaimer. 11 + 12 + 2. Redistributions in binary form must reproduce the above copyright notice, 13 + this list of conditions and the following disclaimer in the documentation 14 + and/or other materials provided with the distribution. 15 + 16 + 3. Neither the name of the copyright holder nor the names of its contributors 17 + may be used to endorse or promote products derived from this software 18 + without specific prior written permission. 19 + 20 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND 21 + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 22 + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 + */ 31 + 1 32 #ifndef bini_impl 2 33 #define bini_impl 3 34 #endif
+32
bini.h
··· 1 1 #ifndef __bini__ 2 2 #define __bini__ 3 3 4 + /* License at end of file. */ 4 5 5 6 /* Used to add functions for version-specific types. */ 6 7 #define bini_c 1989 ··· 427 428 str[i] = bini_rc(bs); 428 429 return n; 429 430 } 431 + 432 + /* 433 + Bini license: BSD 3-Clause. 434 + 435 + Copyright 2025 Emmeline Coats 436 + 437 + Redistribution and use in source and binary forms, with or without 438 + modification, are permitted provided that the following conditions are met: 439 + 440 + 1. Redistributions of source code must retain the above copyright notice, this 441 + list of conditions and the following disclaimer. 442 + 443 + 2. Redistributions in binary form must reproduce the above copyright notice, 444 + this list of conditions and the following disclaimer in the documentation 445 + and/or other materials provided with the distribution. 446 + 447 + 3. Neither the name of the copyright holder nor the names of its contributors 448 + may be used to endorse or promote products derived from this software 449 + without specific prior written permission. 450 + 451 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND 452 + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 453 + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 454 + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 455 + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 456 + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 457 + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 458 + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 459 + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 460 + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 461 + */ 430 462 431 463 #endif /* bini_impl */ 432 464 #endif /* __bini__ */
+30
readme
··· 42 42 /* Close our stream, flushing+freeing the buffer and the stream itself. */ 43 43 bini_close(bs); 44 44 } 45 + 46 + License 47 + ------- 48 + 49 + Copyright 2025 Emmeline Coats 50 + 51 + Redistribution and use in source and binary forms, with or without 52 + modification, are permitted provided that the following conditions are met: 53 + 54 + 1. Redistributions of source code must retain the above copyright notice, this 55 + list of conditions and the following disclaimer. 56 + 57 + 2. Redistributions in binary form must reproduce the above copyright notice, 58 + this list of conditions and the following disclaimer in the documentation 59 + and/or other materials provided with the distribution. 60 + 61 + 3. Neither the name of the copyright holder nor the names of its contributors 62 + may be used to endorse or promote products derived from this software 63 + without specific prior written permission. 64 + 65 + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND 66 + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 67 + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 68 + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 69 + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 70 + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 71 + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 72 + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 73 + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 74 + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.