Skip to content

bstr: nuke in favor of own implementation

Niklas Haas requested to merge bstr into master

bstr was copy/pasted from the LGPLv2.1+ licensed mpv, with a long and complex history. Get rid of this entire history by reimplementing our own string helpers from scratch.

Code that was authored by me (for mpv) was copy/pasted, the rest was re-engineered. There are some differences in behaviour here and there, but they should't matter for libplacebo. Some functions should be more efficient as a result, too. In general, we also have less special cases to worry about, due to not reimplementing bstr_splice and friends.

Some APIs were obviously loosely inspired/copied from bstr (e.g. the xappend stuff), but I don't think APIs themselves are sufficiently copyrightable. Besides, many of them are just taken from the C string APIs anyways.

cf. #124 (closed)

Merge request reports