Man Linux: Main Page and Category List

NAME

       uconvert  - High level string encoding conversion wrapper. Allegro game
       programming library.

SYNOPSIS

       #include <allegro.h>

       char *uconvert(const char *s, int type, char  *buf,  int  newtype,  int
       size);

DESCRIPTION

       Higher  level  function  running on top of do_uconvert(). This function
       converts the specified string `s' from `type' to `newtype', storing  at
       most `size' bytes into the output `buf' (including the terminating null
       character), but it checks before  doing  the  conversion,  and  doesn't
       bother  if  the  string formats are already the same (either both types
       are equal, or one is ASCII, the other is UTF-8, and the string contains
       only 7-bit ASCII characters).

       As  a  convenience, if `buf' is NULL it will convert the string into an
       internal static buffer and the `size' parameter will  be  ignored.  You
       should  be wary of using this feature, though, because that buffer will
       be overwritten the next time this routine is called,  so  don't  expect
       the  data  to persist across any other library calls. The static buffer
       may hold less than 1024 characters, so you won't  be  able  to  convert
       large chunks of text.  Example:

          char *p = uconvert(input_string, U_CURRENT, buffer, U_ASCII, 256);

RETURN VALUE

       Returns a pointer to `buf' (or the static buffer if you used NULL) if a
       conversion was performed. Otherwise returns  a  copy  of  `s'.  In  any
       cases,  you  should  use the return value rather than assuming that the
       string will always be moved to `buf'.

SEE ALSO

       set_uformat(3alleg),      need_uconvert(3alleg),      uconvert(3alleg),
       uconvert_ascii(3alleg), uconvert_toascii(3alleg), do_uconvert(3alleg)