2.4.110 Oct 2021 18:45
Add doxygen API documentation to project, included in tarball, and automatically generated at https://codedocs.xyz/troglobit/libite/.
Relocate tests/ to test/ in source tree.
Relocate docs/ to doc/ in source tree.
PreCFLAGS/CPPFLAGS/etc with AM_ in test/Makefile.am to prevent clashing with environment. imported from libuEv.
Replace obsolete AM_CONFIG_HEADER with AC_CONFIG_HEADERS.
with tempfile() returning EOPNOTSUPP on Azure, use fallback to mkostemp() with O_CLOEXEC flag set on such filesystems.
2.4.028 Mar 2021 11:45
Add support for touchf(), formatted string support for touch().
Add support for erasef(), formatted string support for erase().
Add support for strtrim(), trims leading and trailing white-space from a string.
systemf() improper handling of system() return value. Now checks if exited OK, then returning the exit status of the command, or
if not exited OK, then checks if the command was signaled, and returns -1 with errno set. This also allows for returning 127, like system(), if the shell, or the program itself, did not exist.
2.2.017 Mar 2020 09:25
Add support for systemf(), formatted string system() replacement.
Add support for fmkpath(), formatted string mkpath().
Add support for fopenf(), formatted string fopen() replacement.
possible memory leak in rsync(), found by Coverity Scan.
Check return value of fstat() to prevent bogus destination file times when using copyfile(), found by Coverity Scan.
2.1.027 Aug 2019 06:25
Add support for strmatch() and strnmatch().
Add support for yorn(), safe yes-or-no prompt.
Add support for telnet expect/session APIs.
Add modified printhdr() which takes ANSI attribute.
pidfile_signal(): always return result of kill(), or the result of remove() if we successfully sent SIGKILL.
strtonum(): POSIX strtoll() returns EINVAL, check that.
support C++ extern "C" for header files.
2.0.211 May 2018 19:05
missing includes in strlite.h for standalone use.
FTBFS strtonum.c on older systems w/o LLONG_MAX and LLONG_MIN.
2.0.123 Dec 2017 08:25
Add missing initscr() declaration, regression in v2.0.0.
Add #ifdef guards around min() and max() macros.
Add const to char args in multiple API:s:
uncommon location of which command in unit test.
supply unit test with a default PATH.
touch() command cannot handle relative paths when updating mtime of an existing file.
2.0.023 Nov 2017 10:25
Remove tree(), moved to toolbox.git instead.
Remove fmode(), please use stat() instead, it's safer.
Add support for keeping mtime in copy() and rsync().
Move source files to an src/ sub-directory.
Move initscr() from conio.h to conio.c.
Update docs, recommend mkpath() over makepath().
Bump ABI version, major changes to library.
inconsistent return value in mkpath() and makepath().
constify mkpath() and makepath().
1.9.325 Oct 2017 12:45
Initscr(), use stdout, not stderr, like the rest of the conio.h macros. Also, stderr may be redirected by user.
Tree(), update unit test, use standard directries.
Initscr(), verify that both stdin and stdout are real TTYs before messing up output or blocking on input for the user.
Tree(), increase internal buffer slightly, output may be truncated otherwise. Found by GCC 7.2.
1.9.107 Jul 2017 09:45
Add missing whichp() predicate function to accompany which().
Allow which("ps aux"), which skips any arguments to command.
1.9.003 Jul 2017 10:45
Add which(), a C implementation of UNIX which(1).
Add printheader(), prints a top-like table heading for client tools.
Remove UNUSED() macro, recommended to disable GCC warning instead.
touch() does not update mtime if file exists.
non-writable tempfile(), now with proper unit test.
1.8.310 Jan 2017 02:45
Support absolute path in pidfile(). Needed by, e.g. Inadyn.
Add initial debian/ packaging.
Update README with note on remembering to set umask()
In use-cases when pidfile() is called consecutively, e.g. on
SIGHUP, recreate PID file if it no longer exists.
1.8.205 Sep 2016 19:25
Updated build instructions in README.
Converted touch(), makedir(), makefifo(), and erase() from macros to
Inline functions. Also removed implicit logging to stderr on error.
Small memory leak in pidfile()... at exit.
For building on musl libc.
1.8.009 Jun 2016 11:45
Change return type of fsendfile() from size_t to ssize_t
Change dir() semantics: do not assert and always return error
without calling perror() or similar.
The OpenBSD pidfile() function's prepath _PATH_VARRUN
can now be overridden by setting the hidden __pidfile_path
variable. E.g., to _PATH_TMP. Make sure read the docs!.
Add new unit test framework make check.
bad path in new strndupa() header file.
Add missing progress bar API's to lite.h.
1.7.005 Jun 2016 07:05
Add support for GNU strdupa(), for Inadyn on NetBSD.
Add support for GNU strndupa() and strnlen()
mkpath() to handle creating relative directories.
1.6.014 May 2016 18:25
Add support for NetBSD fparaseln() for the benefit of Mg
Add support for OpenBSD reallocarray() for the benefit of Mg
Constify fisdir() argument.
1.5.118 Apr 2016 23:25
Update README.md, add help when libite is used in autotools projects.
Spell checking and minor cleanup.
Activate use of utimensat() when pidfile() is called multiple
times. This reduces the overhead of calling open+write+to
simply updating the mtime of the PID file.
Westermo for fcopyfile(): nothing copied on embedded PPC
system when using tmpfile() as source.
1.5.020 Mar 2016 03:23
Change namespace for header files: libite/ to lite/, e.g. using
pkg-config your C program must now #include
Update pidfile() to use utimensat() to update atime+mtime instead
of opening and writing PID again. Less overhead and nanonsecond res.
1.4.424 Feb 2016 10:45
Add ibite.pc.in for pkg-config support.
tempfile() fails with bad O_TMPFILE on some embedded.
Targets, in particular PowerPC. On systems with older GLIBC but with
a sufficiently new kernel O_TMPFILE is missing and the local libite
Definition was wrong, hard coded for x86. by Johan Askerin.
1.4.122 Jan 2016 15:52
Change to GNU configure and build system. Add Niels Provos' splay and red-black tree implementation from OpenBSD sys/tree.h, r1.14. Make pidfile() file name accessible as __pidfile_name