pr29.h

pr29.h — PR29-related functions

Functions

const char * pr29_strerror ()
int pr29_4 ()
int pr29_4z ()
int pr29_8z ()

Types and Values

#define IDNAPI
enum Pr29_rc

Description

PR29-related functions.

Functions

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_8z()).

Parameters

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.

Parameters

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.

Parameters

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.

Parameters

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.

Types and Values

IDNAPI

#define             IDNAPI

Symbol holding shared library API visibility decorator.

This is used internally by the library header file and should never be used or modified by the application.

https://www.gnu.org/software/gnulib/manual/html_node/Exported-Symbols-of-Shared-Libraries.html


enum Pr29_rc

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

Members

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_8z()).