kopia lustrzana https://github.com/OpenRTX/OpenRTX
645 wiersze
22 KiB
C
645 wiersze
22 KiB
C
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* uC/LIB
|
||
|
* Custom Library Modules
|
||
|
*
|
||
|
* Copyright 2004-2020 Silicon Laboratories Inc. www.silabs.com
|
||
|
*
|
||
|
* SPDX-License-Identifier: APACHE-2.0
|
||
|
*
|
||
|
* This software is subject to an open source license and is distributed by
|
||
|
* Silicon Laboratories Inc. pursuant to the terms of the Apache License,
|
||
|
* Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
|
||
|
*
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
*
|
||
|
* ASCII CHARACTER OPERATIONS
|
||
|
*
|
||
|
* Filename : lib_ascii.c
|
||
|
* Version : V1.39.00
|
||
|
*********************************************************************************************************
|
||
|
* Note(s) : (1) NO compiler-supplied standard library functions are used in library or product software.
|
||
|
*
|
||
|
* (a) ALL standard library functions are implemented in the custom library modules :
|
||
|
*
|
||
|
* (1) \<Custom Library Directory>\lib_*.*
|
||
|
*
|
||
|
* (2) \<Custom Library Directory>\Ports\<cpu>\<compiler>\lib*_a.*
|
||
|
*
|
||
|
* where
|
||
|
* <Custom Library Directory> directory path for custom library software
|
||
|
* <cpu> directory name for specific processor (CPU)
|
||
|
* <compiler> directory name for specific compiler
|
||
|
*
|
||
|
* (b) Product-specific library functions are implemented in individual products.
|
||
|
*
|
||
|
*
|
||
|
* (2) (a) ECMA-6 '7-Bit coded Character Set' (6th edition), which corresponds to the
|
||
|
* 3rd edition of ISO 646, specifies several versions of a 7-bit character set :
|
||
|
*
|
||
|
* (1) THE GENERAL VERSION, which allows characters at 0x23 and 0x24 to be given a
|
||
|
* set alternate form and allows the characters 0x40, 0x5B, 0x5D, 0x60, 0x7B &
|
||
|
* 0x7D to be assigned a "unique graphic character" or to be declared as unused.
|
||
|
* All other characters are explicitly specified.
|
||
|
*
|
||
|
* (2) THE INTERNATIONAL REFERENCE VERSION, which explicitly specifies all characters
|
||
|
* in the 7-bit character set.
|
||
|
*
|
||
|
* (3) NATIONAL & APPLICATION-ORIENTED VERSIONS, which may be derived from the
|
||
|
* standard in specified ways.
|
||
|
*
|
||
|
* (b) The character set represented in this file reproduces the Internation Reference
|
||
|
* Version. This is identical to the 7-bit character set which occupies Unicode
|
||
|
* characters 0x0000 through 0x007F. The character names are taken from v5.0 of the
|
||
|
* Unicode specification, with certain abbreviations so that the resulting #define
|
||
|
* names will not violate ANSI C naming restriction :
|
||
|
*
|
||
|
* (1) For the Latin capital & lowercase letters, the name components 'LETTER_CAPITAL'
|
||
|
* & 'LETTER_SMALL' are replaced by 'UPPER' & 'LOWER', respectively.
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* INCLUDE FILES
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
#define MICRIUM_SOURCE
|
||
|
#define LIB_ASCII_MODULE
|
||
|
#include <lib_ascii.h>
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL DEFINES
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL CONSTANTS
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL DATA TYPES
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL TABLES
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL GLOBAL VARIABLES
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL FUNCTION PROTOTYPES
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* LOCAL CONFIGURATION ERRORS
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsAlpha()
|
||
|
*
|
||
|
* Description : Determine whether a character is an alphabetic character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is an alphabetic character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT an alphabetic character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.2.(2) states that "isalpha() returns true only for the
|
||
|
* characters for which isupper() or islower() is true".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsAlpha (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN alpha;
|
||
|
|
||
|
|
||
|
alpha = ASCII_IS_ALPHA(c);
|
||
|
|
||
|
return (alpha);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsAlphaNum()
|
||
|
*
|
||
|
* Description : Determine whether a character is an alphanumeric character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is an alphanumeric character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT an alphanumeric character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.1.(2) states that "isalnum() ... tests for any character
|
||
|
* for which isalpha() or isdigit() is true".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsAlphaNum (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN alpha_num;
|
||
|
|
||
|
|
||
|
alpha_num = ASCII_IS_ALPHA_NUM(c);
|
||
|
|
||
|
return (alpha_num);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsLower()
|
||
|
*
|
||
|
* Description : Determine whether a character is a lowercase alphabetic character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a lowercase alphabetic character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a lowercase alphabetic character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.7.(2) states that "islower() returns true only for
|
||
|
* the lowercase letters".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsLower (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN lower;
|
||
|
|
||
|
|
||
|
lower = ASCII_IS_LOWER(c);
|
||
|
|
||
|
return (lower);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsUpper()
|
||
|
*
|
||
|
* Description : Determine whether a character is an uppercase alphabetic character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is an uppercase alphabetic character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT an uppercase alphabetic character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.11.(2) states that "isupper() returns true only for
|
||
|
* the uppercase letters".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsUpper (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN upper;
|
||
|
|
||
|
|
||
|
upper = ASCII_IS_UPPER(c);
|
||
|
|
||
|
return (upper);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsDig()
|
||
|
*
|
||
|
* Description : Determine whether a character is a decimal-digit character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a decimal-digit character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a decimal-digit character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.5.(2) states that "isdigit() ... tests for any
|
||
|
* decimal-digit character".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsDig (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN dig;
|
||
|
|
||
|
|
||
|
dig = ASCII_IS_DIG(c);
|
||
|
|
||
|
return (dig);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsDigOct()
|
||
|
*
|
||
|
* Description : Determine whether a character is an octal-digit character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is an octal-digit character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT an octal-digit character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : none.
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsDigOct (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN dig_oct;
|
||
|
|
||
|
|
||
|
dig_oct = ASCII_IS_DIG_OCT(c);
|
||
|
|
||
|
return (dig_oct);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsDigHex()
|
||
|
*
|
||
|
* Description : Determine whether a character is a hexadecimal-digit character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a hexadecimal-digit character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a hexadecimal-digit character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.12.(2) states that "isxdigit() ... tests for any
|
||
|
* hexadecimal-digit character".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsDigHex (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN dig_hex;
|
||
|
|
||
|
|
||
|
dig_hex = ASCII_IS_DIG_HEX(c);
|
||
|
|
||
|
return (dig_hex);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsBlank()
|
||
|
*
|
||
|
* Description : Determine whether a character is a standard blank character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a standard blank character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a standard blank character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.3.(2) states that "isblank() returns true only for
|
||
|
* the standard blank characters".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.1.3.(2) defines "the standard blank characters" as
|
||
|
* the "space (' '), and horizontal tab ('\t')".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsBlank (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN blank;
|
||
|
|
||
|
|
||
|
blank = ASCII_IS_BLANK(c);
|
||
|
|
||
|
return (blank);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsSpace()
|
||
|
*
|
||
|
* Description : Determine whether a character is a white-space character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a white-space character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a white-space character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.10.(2) states that "isspace() returns true only
|
||
|
* for the standard white-space characters".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.1.10.(2) defines "the standard white-space characters"
|
||
|
* as the "space (' '), form feed ('\f'), new-line ('\n'), carriage return ('\r'),
|
||
|
* horizontal tab ('\t'), and vertical tab ('\v')".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsSpace (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN space;
|
||
|
|
||
|
|
||
|
space = ASCII_IS_SPACE(c);
|
||
|
|
||
|
return (space);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsPrint()
|
||
|
*
|
||
|
* Description : Determine whether a character is a printing character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a printing character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a printing character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.8.(2) states that "isprint() ... tests for any
|
||
|
* printing character including space (' ')".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.(3), Note 169, states that in "the seven-bit US
|
||
|
* ASCII character set, the printing characters are those whose values lie from
|
||
|
* 0x20 (space) through 0x7E (tilde)".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsPrint (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN print;
|
||
|
|
||
|
|
||
|
print = ASCII_IS_PRINT(c);
|
||
|
|
||
|
return (print);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsGraph()
|
||
|
*
|
||
|
* Description : Determine whether a character is any printing character except a space character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a graphic character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a graphic character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.6.(2) states that "isgraph() ... tests for any
|
||
|
* printing character except space (' ')".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.(3), Note 169, states that in "the seven-bit US
|
||
|
* ASCII character set, the printing characters are those whose values lie from
|
||
|
* 0x20 (space) through 0x7E (tilde)".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsGraph (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN graph;
|
||
|
|
||
|
|
||
|
graph = ASCII_IS_GRAPH(c);
|
||
|
|
||
|
return (graph);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsPunct()
|
||
|
*
|
||
|
* Description : Determine whether a character is a punctuation character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a punctuation character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a punctuation character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) ISO/IEC 9899:TC2, Section 7.4.1.9.(2) states that "ispunct() returns true for every
|
||
|
* printing character for which neither isspace() nor isalnum() is true".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsPunct (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN punct;
|
||
|
|
||
|
|
||
|
punct = ASCII_IS_PUNCT(c);
|
||
|
|
||
|
return (punct);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_IsCtrl()
|
||
|
*
|
||
|
* Description : Determine whether a character is a control character.
|
||
|
*
|
||
|
* Argument(s) : c Character to examine.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if character is a control character.
|
||
|
*
|
||
|
* DEF_NO, if character is NOT a control character.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.1.4.(2) states that "iscntrl() ... tests for any
|
||
|
* control character".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.(3), Note 169, states that in "the seven-bit US
|
||
|
* ASCII character set, ... the control characters are those whose values lie from
|
||
|
* 0 (NUL) through 0x1F (US), and the character 0x7F (DEL)".
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_IsCtrl (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_BOOLEAN ctrl;
|
||
|
|
||
|
|
||
|
ctrl = ASCII_IS_CTRL(c);
|
||
|
|
||
|
return (ctrl);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_ToLower()
|
||
|
*
|
||
|
* Description : Convert uppercase alphabetic character to its corresponding lowercase alphabetic character.
|
||
|
*
|
||
|
* Argument(s) : c Character to convert.
|
||
|
*
|
||
|
* Return(s) : Lowercase equivalent of 'c', if character 'c' is an uppercase character (see Note #1b1).
|
||
|
*
|
||
|
* Character 'c', otherwise (see Note #1b2).
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.2.1.(2) states that "tolower() ... converts an
|
||
|
* uppercase letter to a corresponding lowercase letter".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.2.1.(3) states that :
|
||
|
*
|
||
|
* (1) (A) "if the argument is a character for which isupper() is true and there are
|
||
|
* one or more corresponding characters ... for which islower() is true," ...
|
||
|
* (B) "tolower() ... returns one of the corresponding characters;" ...
|
||
|
*
|
||
|
* (2) "otherwise, the argument is returned unchanged."
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_CHAR ASCII_ToLower (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_CHAR lower;
|
||
|
|
||
|
|
||
|
lower = ASCII_TO_LOWER(c);
|
||
|
|
||
|
return (lower);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_ToUpper()
|
||
|
*
|
||
|
* Description : Convert lowercase alphabetic character to its corresponding uppercase alphabetic character.
|
||
|
*
|
||
|
* Argument(s) : c Character to convert.
|
||
|
*
|
||
|
* Return(s) : Uppercase equivalent of 'c', if character 'c' is a lowercase character (see Note #1b1).
|
||
|
*
|
||
|
* Character 'c', otherwise (see Note #1b2).
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : (1) (a) ISO/IEC 9899:TC2, Section 7.4.2.2.(2) states that "toupper() ... converts a
|
||
|
* lowercase letter to a corresponding uppercase letter".
|
||
|
*
|
||
|
* (b) ISO/IEC 9899:TC2, Section 7.4.2.2.(3) states that :
|
||
|
*
|
||
|
* (1) (A) "if the argument is a character for which islower() is true and there are
|
||
|
* one or more corresponding characters ... for which isupper() is true," ...
|
||
|
* (B) "toupper() ... returns one of the corresponding characters;" ...
|
||
|
*
|
||
|
* (2) "otherwise, the argument is returned unchanged."
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_CHAR ASCII_ToUpper (CPU_CHAR c)
|
||
|
{
|
||
|
CPU_CHAR upper;
|
||
|
|
||
|
|
||
|
upper = ASCII_TO_UPPER(c);
|
||
|
|
||
|
return (upper);
|
||
|
}
|
||
|
|
||
|
|
||
|
/*
|
||
|
*********************************************************************************************************
|
||
|
* ASCII_Cmp()
|
||
|
*
|
||
|
* Description : Determine if two characters are identical (case-insensitive).
|
||
|
*
|
||
|
* Argument(s) : c1 First character.
|
||
|
*
|
||
|
* c2 Second character.
|
||
|
*
|
||
|
* Return(s) : DEF_YES, if the characters are identical.
|
||
|
*
|
||
|
* DEF_NO, if the characters are NOT identical.
|
||
|
*
|
||
|
* Caller(s) : Application.
|
||
|
*
|
||
|
* Note(s) : none.
|
||
|
*********************************************************************************************************
|
||
|
*/
|
||
|
|
||
|
CPU_BOOLEAN ASCII_Cmp (CPU_CHAR c1,
|
||
|
CPU_CHAR c2)
|
||
|
{
|
||
|
CPU_CHAR c1_upper;
|
||
|
CPU_CHAR c2_upper;
|
||
|
CPU_BOOLEAN cmp;
|
||
|
|
||
|
|
||
|
c1_upper = ASCII_ToUpper(c1);
|
||
|
c2_upper = ASCII_ToUpper(c2);
|
||
|
cmp = (c1_upper == c2_upper) ? (DEF_YES) : (DEF_NO);
|
||
|
|
||
|
return (cmp);
|
||
|
}
|
||
|
|