Commit Graph

23 Commits (5355a6ed8e710f34190784b27a3bf94cf208ed34)

Author SHA1 Message Date
nirenjan 5355a6ed8e Add noreturn attribute to tap_bailout
This change is necessary since clang warns on a missing noreturn
attribute.
2021-10-25 12:56:41 -07:00
nirenjan 349b2d6e86 Use an in-memory pipe for tests
Prior to this change, the test harness was creating a FIFO on disk using
`mkfifo`. This is really unnecessary, and we can use `pipe` instead to
create a pair of file descriptors corresponding to a FIFO in memory,
without having to go to disk at all.

This change creates the FIFO and sets it to non-blocking to emulate the
existing behavior.
2021-10-25 12:47:10 -07:00
nirenjan 0256807417 Use strrchr only if the compiler supports __builtin_strrchr 2021-08-25 14:16:53 -07:00
nirenjan 204aadead0 Use __builtin_strrchr to get file base name
Prior to this change, pinelog used __FILE__ in the backtrace call.
However, this has a limitation that if used in a build system with
sources in subdirectories and/or a separate build directory, the
relative path to the file is used, giving us a backtrace like this.

    ../../daemon/x52d_main.c:51

This change checks if the compiler supports the __builtin_strrchr to
compute the file basename at compile time. If the compiler does not
support it, it falls back to using __FILE__ directly. This should not be
an issue on a modern compiler like gcc or clang.
2021-08-25 12:11:53 -07:00
nirenjan aa0a5545d0 Remove the use of config.h
Prior to this change, pinelog relied on an autoconf generated config.h
which checked if the compiler supports __attribute__ with constructor,
destructor and format. However, most modern compilers already have
support for this, and we can use the __has_attribute special operator
instead to check for this at compile time.

By eliminating the need to create a config.h file, it simplifies
integration into other projects that may not have one.
2021-08-25 12:07:40 -07:00
nirenjan 8983bf8b28 Ignore test and benchmark programs 2021-08-25 09:35:20 -07:00
nirenjan 27a5eab8b7 Use localtime_r instead of localtime 2021-08-03 11:25:25 -07:00
nirenjan bdee493f03 Add preprocessor definition to disable traces 2021-07-27 17:01:41 -07:00
nirenjan 5b2686a406 Fix pinelog builds on MacOS 2021-07-19 11:15:42 -07:00
nirenjan 48bd049b4f Merge commit '9fa1a428a45eabff0122e199a687068f0e6280dd' into daemon 2021-07-19 09:50:42 -07:00
nirenjan 321d9aaa0e Add benchmark program to tests 2021-07-19 09:35:20 -07:00
nirenjan a6e789e196 Remove config.h.in - this is autogenerated 2021-07-18 22:24:49 -07:00
nirenjan 68d5aaef66 Update README to include destructor attribute 2021-07-16 08:33:22 -07:00
nirenjan a3eb2c03d7 Add method to close output stream and reset to default 2021-07-16 08:29:11 -07:00
nirenjan fb9b51a130 Fix format-literal error in clang 2021-07-15 18:31:01 -07:00
nirenjan b5457f405e Add pinelog.h to distribution tarball 2021-07-14 12:39:29 -07:00
nirenjan 85ab66b323 Add usage and integration instructions to README 2021-07-14 12:32:12 -07:00
nirenjan 051e5f4639 Add tests for different configurations 2021-07-14 11:05:20 -07:00
nirenjan 10941defb2 Add test framework 2021-07-14 11:00:44 -07:00
nirenjan 490a2e3faa Add check for __attribute__((format)) 2021-07-13 11:45:33 -07:00
nirenjan 091dd29d3b Rename functions and macros to use the pinelog_ prefix 2021-07-13 11:40:33 -07:00
nirenjan aa330a2cbf Add autotools build framework 2021-07-13 11:33:10 -07:00
nirenjan 45762f497c Initial commit 2021-07-13 10:57:22 -07:00