pr29

pr29

Synopsis




enum                Pr29_rc;
const char*         pr29_strerror                       (Pr29_rc rc);
int                 pr29_4                              (const uint32_t *in,
                                                         size_t len);
int                 pr29_4z                             (const uint32_t *in);
int                 pr29_8z                             (const char *in);

Description

Details

enum Pr29_rc

  typedef enum
  {
    PR29_SUCCESS = 0,
    PR29_PROBLEM = 1,		/* String is a problem sequence. */
    PR29_STRINGPREP_ERROR = 2	/* Charset conversion failed (p29_8*). */
  } Pr29_rc;

Enumerated return codes for pr29_4(), pr29_4z(), pr29_8z(). The value 0 is guaranteed to always correspond to success.

PR29_SUCCESS

Successful operation. This value is guaranteed to always be zero, the remaining ones are only guaranteed to hold non-zero values, for logical comparison purposes.

PR29_PROBLEM

A problem sequence was encountered.

PR29_STRINGPREP_ERROR

The character set conversion failed (only for pr29_8() and pr29_8z()).

pr29_strerror ()

const char*         pr29_strerror                       (Pr29_rc rc);

Convert a return code integer to a text string. This string can be used to output a diagnostic message to the user.

PR29_SUCCESS: Successful operation. This value is guaranteed to always be zero, the remaining ones are only guaranteed to hold non-zero values, for logical comparison purposes. PR29_PROBLEM: A problem sequence was encountered. PR29_STRINGPREP_ERROR: The character set conversion failed (only for pr29_8() and pr29_8z()).

rc :

an Pr29_rc return code.

Returns :

Returns a pointer to a statically allocated string containing a description of the error with the return code rc.

pr29_4 ()

int                 pr29_4                              (const uint32_t *in,
                                                         size_t len);

Check the input to see if it may be normalized into different strings by different NFKC implementations, due to an anomaly in the NFKC specifications.

in :

input array with unicode code points.

len :

length of input array with unicode code points.

Returns :

Returns the Pr29_rc value PR29_SUCCESS on success, and PR29_PROBLEM if the input sequence is a "problem sequence" (i.e., may be normalized into different strings by different implementations).

pr29_4z ()

int                 pr29_4z                             (const uint32_t *in);

Check the input to see if it may be normalized into different strings by different NFKC implementations, due to an anomaly in the NFKC specifications.

in :

zero terminated array of Unicode code points.

Returns :

Returns the Pr29_rc value PR29_SUCCESS on success, and PR29_PROBLEM if the input sequence is a "problem sequence" (i.e., may be normalized into different strings by different implementations).

pr29_8z ()

int                 pr29_8z                             (const char *in);

Check the input to see if it may be normalized into different strings by different NFKC implementations, due to an anomaly in the NFKC specifications.

in :

zero terminated input UTF-8 string.

Returns :

Returns the Pr29_rc value PR29_SUCCESS on success, and PR29_PROBLEM if the input sequence is a "problem sequence" (i.e., may be normalized into different strings by different implementations), or PR29_STRINGPREP_ERROR if there was a problem converting the string from UTF-8 to UCS-4.