|
libsir 2.2.6
Standard Incident Reporter
|
SIR_USE_EOL_CRLF option to use CR+LF line endings.SIR_NO_TEXT_STYLING option to disable all ANSI output styling.tags target to Makefile.sirtests++ test rig for testing the C++ wrapper.sir_isinitialized convenience function../-prefixed log files with no extension../-prefixed log files with no extension.sir_geterrorinfo function for fine-grained error information._sir_getchar on Windows.SIR_SELFLOG is enabled._sir_nprocs function to portably query processor count.strreplace - substring replacementstrcreplace - counting substring replacementstrremove - substring removalstrsqueeze - whitespace normalizationstrredact - substring redaction-D_sir_thread_local=).SIR_NO_SHARED option to disable building or installing shared libraries.strcasestr implementation.stdatomic.h under MSVC on version 17.4+ using /experimental:c11atomics.| Platform | Change vs. 2.2.2 |
|---|---|
| macOS 13.5.2 (x86_64) | +361% ± 0.13﹪ |
| Arch 6.4.12 (x86_64) | +276% ± 0.07﹪ |
| RHEL 9 (x86_64) | +256% ± 0.03﹪ |
| Debian 12 (x86_64) | +217% ± 0.09﹪ |
| macOS 13.5.1 (AArch64) | +213% ± 0.12﹪ |
| Fedora 38 (x86_64) | +121% ± 0.05﹪ |
| AIX 7.3 (POWER9) | +119% ± 0.07﹪ |
| Debian 12 (AArch64) | +100% ± 0.04﹪ |
| Windows 11 (x64_64) | +87% ± 0.03﹪ |
| FreeBSD 13.2 (x86_x64) | +76% ± 0.06﹪ |
| Windows 11 (AArch64) | +67% ± 0.03﹪ |
| NetBSD 9.3 (ARM/A53) | +62% ± 0.18﹪ |
| OpenWrt 23 (MIPS32/74Kc) | +6% ± 3.14﹪ |
‑g3 on most platforms.x64 and arm64 configurationsprintf(RED("Oh lawd, something " ULINE("awful") " has happened!\n");‑‑list : lists all the available tests‑‑only: only run the specified tests‑‑leave‑logs: leave log files behind for examination‑‑wait : wait for keypress before exiting‑‑perf : runs the performance benchmark test (normally skipped)‑‑version: shows the version of libsir the test suite was built with.SIR_ASSERT_ENABLED: if defined, libsir calls assert (note that if ‑DNDEBUG is present, this becomes a NOOP). If not defined and SIR_SELFLOG=1, libsir writes a red message to stderr containing the condition that would have asserted, along with the file, line, and function. This allows for fine‑grain control over assertions.SIR_NO_SYSTEM_LOGGERS: if defined, system logger support is completely disabled/compiled out. The entry points still exist, but they will return an error that the feature is disabled or unavailable.SIR_NO_PLUGINS: The same as SIR_NO_SYSTEM_LOGGERS, but for the plugin system.