Bstring

A fork of Paul Hsieh's Better String Library

Latest Release View Source Read the Docs

Better String Library

This is a fork of Paul Hsieh's Better String Library. The following features (or mis-features, depending on your point of view) are included:

  1. Build system (Autotools and Meson)
  2. Updated test suite based on Check
  3. Add Valgrind to the workflow
  4. Add continuous integration via GitHub CI
  5. Remove C++ code
  6. Other various improvements

Currently this fork should be binary-compatible with the original code. The only source incompatibility is the removal of the const_bstring type.

Building

Meson+Ninja or Autotools is required to build from the source repository.

A test suite is available if Check is is installed.

If Valgrind is installed the test suite can be checked for memory leaks.

Meson

$ meson setup build -Denable-tests=true
$ meson compile -C build
$ meson install -C build

Run tests with Check.

$ meson test -C build

Check for memory leaks with Valgrind.

$ meson test --wrapper='valgrind --leak-check=full' -C build

Autotools

$ autoreconf -i
$ ./configure
$ make
$ make install

Run tests with Check.

$ make check

Check for memory leaks with Valgrind.

$ make memcheck

Documentation

The original documentation has been migrated into the header files and converted to the Doxygen format. The generated output can be found online.

The original documentation essays are available in the source distribution and are included in the Doxygen output. These essays have been reformatted for easier reading. Minor edits have been made to reflect changes to the codebase.

License

The Better String Library is released under the BSD 3-Clause License.