UniQueryCntrl

From EDM2
Jump to: navigation, search

UniQueryCntrl queries character attributes.

Syntax

UniQueryCntrl (locale_object, uc)

Parameters

locale_object (const LocaleObject) 
A locale object created by UniCreateLocaleObject or NULL.
uc (UniChar) 
The UniChar character to query.

Returns

Return Value (int) - returns 
If the result of the test is true, the function returns 1. Otherwise, 0 is returned.

Remarks

This function provides the functionality of UniCreateAttrObject, UniQueryCharAttr, and UniFreeAttrObject as an atomic operation for the invariant attributes.

The locale may be specified as NULL to indicate default Unicode character attributes.

Example

This example shows how to query character attributes.

#include <stdio.h>

#include <unidef.h>
int main(void) {
  LocaleObject locale_object = NULL;
  int          result = 0;
  int          rc = ULS_SUCCESS;
  UniChar      uni_char = 0x000A;    /* Unicode newline character */
         /*****************************************************************/
         /* Assumes LANG environment variable set to a valid locale name, */
         /* such as fr_FR                                                 */
         /*****************************************************************/
         rc = UniCreateLocaleObject(UNI_UCS_STRING_POINTER,
                                   (UniChar *)L"", &locale_object);
         if (rc != ULS_SUCCESS) {
           printf("UniCreateLocaleObject error: return code = %u\n", rc);
           return 1;
         }
         /* Query character attribute */
         result = UniQueryCntrl(locale_object, uni_char);
         if (result)
           printf("UniChar character %04X is a control character\n", uni_char);
         else
           printf("UniChar character %04X is not a control character\n", uni_char);

return ULS_SUCCESS;
} 

Related Functions