SphinxBase  5prealpha
case.h File Reference

Locale-independent implementation of case swapping operation. More...

#include <string.h>
#include <sphinxbase/prim_type.h>
#include <sphinxbase/sphinxbase_export.h>

Go to the source code of this file.

Macros

#define UPPER_CASE(c)   ((((c) >= 'a') && ((c) <= 'z')) ? (c-32) : c)
 Return upper case form for c.
 
#define LOWER_CASE(c)   ((((c) >= 'A') && ((c) <= 'Z')) ? (c+32) : c)
 Return lower case form for c.
 

Functions

SPHINXBASE_EXPORT void ucase (char *str)
 Convert str to all upper case. More...
 
SPHINXBASE_EXPORT void lcase (char *str)
 Convert str to all lower case. More...
 
SPHINXBASE_EXPORT int32 strcmp_nocase (const char *str1, const char *str2)
 (FIXME! The implementation is incorrect!) Case insensitive string compare. More...
 
SPHINXBASE_EXPORT int32 strncmp_nocase (const char *str1, const char *str2, size_t len)
 Like strcmp_nocase() but with a maximum length.
 

Detailed Description

Locale-independent implementation of case swapping operation.

This function implements ASCII-only case switching and comparison related operations, which do not depend on the locale and are guaranteed to exist on all versions of Windows.

Definition in file case.h.

Function Documentation

◆ lcase()

SPHINXBASE_EXPORT void lcase ( char *  str)

Convert str to all lower case.

Parameters
stris a string.

◆ strcmp_nocase()

SPHINXBASE_EXPORT int32 strcmp_nocase ( const char *  str1,
const char *  str2 
)

(FIXME! The implementation is incorrect!) Case insensitive string compare.

Return the usual -1, 0, +1, depending on str1 <, =, > str2 (case insensitive, of course).

Parameters
str1is the first string.
str2is the second string.

Definition at line 94 of file case.c.

References UPPER_CASE.

Referenced by ngram_str_to_type().

◆ ucase()

SPHINXBASE_EXPORT void ucase ( char *  str)

Convert str to all upper case.

Parameters
stris a string.