aboutsummaryrefslogtreecommitdiff
path: root/lib/libutil++
Commit message (Collapse)AuthorAgeFilesLines
* libutil++: Rename manpage source files to avoid colonsJohn Baldwin2025-08-268-0/+4
| | | | | | | | | | | To permit checking the sources out on systems such as Windows with more restrictive file name requirements, rename the manpage source files to replace colons with underscrores. Use MANSRC.foo to point <bsd.man.mk> at the new source file names. Reviewed by: ivy Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D51794
* libutil++: Move to the utilities packageMark Johnston2025-08-141-1/+0
| | | | | | | | | | | | | We should keep the clibs package as small as possible. Currently it contains some "extra" libraries, but this isn't a good argument for adding more stuff. Move it to the utilities package (the default for bsd.lib.mk consumers), since libutil++ is an INTERNALLIB and thus only installs man pages, so therefore doesn't need to be in FreeBSD-runtime. Requested by: kib Reviewed by: ivy, des Fixes: f4fd2aa07cde ("libutil++: Move to clibs") Differential Revision: https://reviews.freebsd.org/D51898
* libutil++: Move to clibsLexi Winter2025-08-081-1/+1
| | | | | | | | | | | | | This library only installs manual pages, so putting it in its own package means we build a FreeBSD-libutil++-man package but not a base FreeBSD-libutil++ package. Without a base package, the man package can't be installed due to the missing dependency. We don't really need a separate package for a few manpages, so move it to clibs. Reviewed by: des Differential Revision: https://reviews.freebsd.org/D51756
* libutil++: Appease GCC -Wshadow warnings in constructorsJohn Baldwin2025-08-071-2/+2
| | | | | | Fixes: 937e92b5f7cc ("libutil++: Add freebsd::fd_up class to manage file descriptors") Fixes: 7be913e00d79 ("libutil++: Add freebsd::pidfile wrapper class around struct pidfh") Sponsored by: Chelsio Communications
* libutil++: Add freebsd::pidfile wrapper class around struct pidfhJohn Baldwin2025-08-045-0/+232
| | | | | | | | | | | | | This class wraps the pidfile_* API from libutil. The destructor calls pidfile_remove() when an object is destroyed. This class is similar to std::unique_ptr<> in that it retains exclusive ownership of the pidfh object. In addition to release and reset methods, write, close, and fileno methods are provided as wrappers for pidfile_*. Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
* libutil++: Add freebsd::nvlist_up wrapper class for std::unique_ptr<>John Baldwin2025-08-043-0/+52
| | | | | | | This class uses a custom deleter that calls nvlist_destroy(). Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
* libutil++: Add freebsd::fd_up class to manage file descriptorsJohn Baldwin2025-08-043-0/+150
| | | | | | | | | This class aims to provide a std::unique_ptr<>-like interface in that it assumes exclusive ownership of a file descriptor. The descriptor is closed when the object is destroyed. Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
* libutil++: Add freebsd::addrinfo_up wrapper class for std::unique_ptr<>John Baldwin2025-08-043-0/+62
| | | | | | | This class uses a custom deleter that calls freeaddrinfo(). Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
* libutil++: New library containing C++ utility classes for use in baseJohn Baldwin2025-08-049-0/+361
- freebsd::FILE_up is a wrapper class for std::unique_ptr<> for FILE objects which uses a custom deleter that calls fclose(). - freebsd::malloc_up<T> is a wrapper class for std::unique_ptr<> which uses a custom deleter that calls free(). It is useful for pointers allocated by malloc() such as strdup(). - The freebsd::stringf() functions return a std::string constructed using a printf format string. The current implementation of freebsd::stringf() uses fwopen() where the write function appends to a std::string. Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794