Switch to libb64 for base64 encoding/decoding.#1046
Switch to libb64 for base64 encoding/decoding.#1046dirk-thomas merged 3 commits intoros:lunar-develfrom
Conversation
|
@de-vri-es Thanks for taking the time to track this down and the study of alternatives and put together this replacement. |
|
I am sorry for the late response. The patch looks good to me. The new test could use the ROS code style (rather than tabs etc.) but that is not an important thing. Since the public header |
|
I updated the test to follow ROS style (atleast, spaces and curly braces on new lines). Let me know if I should do more on it.
Indeed, I considered the base64 encoding to be an internal detail. No need to expose it as a public header. Keeping it internal frees us from having to provide API stability. And if people want to do base64 encoding they're better off finding a dedicated library for that than piggybacking on xmlrpc. But you're right that the old header was public, so an |
|
Thank you for the quick update! |
* Replace base64.h with libb64. * Add unit test for base64 encoding/decoding. * Add a base64.h with #error explaining why it is removed.
libxmlrpc++contains an unlicensed base64 implementation (see also #1034). This PR replaces it withlibb64, a public domain base64 implementation [1]. Benchmarks also indicate that it is significantly faster than the old implementation for large input (more details at #1034).[1] http://libb64.sourceforge.net/