Case conversion for multibyte characters

The ifx_gl_tomlower() and ifx_gl_tomupper() functions require three arguments:
  • The multibyte character or string to convert
  • The destination buffer for the converted multibyte character or string
  • The number of bytes to read to obtain a single multibyte character
For a multibyte-character string, the size of the case-converted string might not equal the size of the unconverted string. Therefore, to perform case conversion on multibyte characters, you must take the following special processing steps:
  • Determine whether you need to allocate a separate destination buffer; if a destination buffer is needed, determine its size.
  • Determine the number of bytes that the case-conversion process has read and written.