need_uconvert(3) Tells if a string requires encoding conversion. Allegro game programming library.


#include <allegro.h>

int need_uconvert(const char *s, int type, int newtype);


Given a pointer to a string (`s'), a description of the type of the string (`type'), and the type that you would like this string to be converted into (`newtype'), this function tells you whether any conversion is required. No conversion will be needed if `type' and `newtype' are the same, or if one type is ASCII, the other is UTF-8, and the string contains only character values less than 128. As a convenience shortcut, you can pass the value U_CURRENT as either of the type parameters, to represent whatever text encoding format is currently selected. Example:

   if (need_uconvert(text, U_UTF8, U_CURRENT)) {
      /* conversion is required */


Returns non-zero if any conversion is required or zero otherwise.