Allegro 5 api
#include <allegro5/allegro.h> char *al_cstr_dup(const ALLEGRO_USTR *us)
Create a NUL (\[aq]\[aq]) terminated copy of the string. Any embedded NUL bytes will still be presented in the returned string. The new string must eventually be freed with al_free(3alleg5).
If an error occurs NULL is returned.
al_cstr(3alleg5), al_ustr_to_buffer(3alleg5), al_free(3alleg5)