void do_uconvert(const char *s, int type, char *buf, int newtype, int size);
char temp_string[256]; do_uconvert(input_string, U_CURRENT, temp_string, U_ASCII, 256);Note that, even for empty strings, your destination string must have at least enough bytes to store the terminating null character of the string, and your parameter size must reflect this. Otherwise, the debug version of Allegro will abort at an assertion, and the release version of Allegro will overrun the destination buffer.