safec  3.0
Safe C Library - ISO TR24731 Bounds Checking Interface
strcoll_s.c File Reference
#include "safe_str_lib.h"
+ Include dependency graph for strcoll_s.c:

Functions

EXPORT errno_t strcoll_s (const char *restrict dest, rsize_t dmax, const char *restrict src, int *indicator)
 Compares two null-terminated byte strings according to the current locale as defined by the LC_COLLATE category. More...
 

Function Documentation

◆ strcoll_s()

EXPORT errno_t strcoll_s ( const char *restrict  dest,
rsize_t  dmax,
const char *restrict  src,
int *  indicator 
)

Compares two null-terminated byte strings according to the current locale as defined by the LC_COLLATE category.

Collation order is the dictionary order: the position of the letter in the national alphabet (its equivalence class) has higher priority than its case or variant. Within an equivalence class, lowercase characters collate before their uppercase equivalents and locale-specific order may apply to the characters with diacritics. In some locales, groups of characters compare as single collation units. For example, "ch" in Czech follows "h" and precedes "i", and "dzs" in Hungarian follows "dz" and precedes "g".

Remarks
EXTENSION TO ISO/IEC JTC1 SC22 WG14 N1172, Programming languages, environments and system software interfaces, Extensions to the C Library, Part I: Bounds-checking interfaces
Parameters
[in]destpointer to string to compare against
[in]dmaxrestricted maximum length of string dest
[in]srcpointer to the string to be compared to dest
[out]indicatorpointer to result indicator, greater than 0, equal to 0 or less than 0, if the string pointed to by dest is greater than, equal to or less than the string pointed to by src respectively.
Precondition
Neither dest nor src shall be a null pointer.
indicator shall not be a null pointer.
dmax shall not be 0
dmax shall not be greater than RSIZE_MAX_STR
Returns
indicator (when the return code is OK)
Return values
>0when dest greater than src
0when strings the same
<0when dest less than src
EOKwhen comparison is complete
ESNULLPwhen dest/src/indicator is NULL pointer
ESZEROLwhen dmax = 0
ESLEMAXwhen dmax > RSIZE_MAX_STR
See also
wcscoll_s(), strcmp_s(), strcasecmp_s()