Commit graph

7 commits

Author SHA1 Message Date
Lexi Winter
f4fd2aa07c libutil++: Move to clibs
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
2025-08-08 16:14:07 +01:00
John Baldwin
ca0d182dfe libutil++: Appease GCC -Wshadow warnings in constructors
Fixes:		937e92b5f7 ("libutil++: Add freebsd::fd_up class to manage file descriptors")
Fixes:		7be913e00d ("libutil++: Add freebsd::pidfile wrapper class around struct pidfh")
Sponsored by:	Chelsio Communications
2025-08-07 14:26:46 -04:00
John Baldwin
7be913e00d libutil++: Add freebsd::pidfile wrapper class around struct pidfh
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
2025-08-04 15:38:07 -04:00
John Baldwin
63ffcf6971 libutil++: Add freebsd::nvlist_up wrapper class for std::unique_ptr<>
This class uses a custom deleter that calls nvlist_destroy().

Sponsored by:	Chelsio Communications
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1794
2025-08-04 15:38:07 -04:00
John Baldwin
937e92b5f7 libutil++: Add freebsd::fd_up class to manage file descriptors
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
2025-08-04 15:38:07 -04:00
John Baldwin
22ce7be762 libutil++: Add freebsd::addrinfo_up wrapper class for std::unique_ptr<>
This class uses a custom deleter that calls freeaddrinfo().

Sponsored by:	Chelsio Communications
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1794
2025-08-04 15:38:07 -04:00
John Baldwin
b3127a2dc2 libutil++: New library containing C++ utility classes for use in base
- 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
2025-08-04 15:38:06 -04:00