2 * This file is part of Cleanflight.
4 * Cleanflight is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * Cleanflight is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
22 #include "typeconversion.h"
26 return isdigit(c
) || isupper(c
) || islower(c
);
31 return (c
>= '0' && c
<= '9');
36 return (c
>= 'A' && c
<= 'Z');
41 return (c
>= 'a' && c
<= 'z');
46 return (c
== ' ' || c
== '\t' || c
== '\n' || c
== '\r' || c
== '\f' || c
== '\v');
51 return isupper(c
) ? (c
) - 'A' + 'a' : c
;
56 return islower(c
) ? (c
) - 'a' + 'A' : c
;
59 int strcasecmp(const char * s1
, const char * s2
)
61 return strncasecmp(s1
, s2
, (size_t)-1);
64 int strncasecmp(const char * s1
, const char * s2
, size_t n
)
66 const unsigned char * ucs1
= (const unsigned char *) s1
;
67 const unsigned char * ucs2
= (const unsigned char *) s2
;
71 for ( ; n
!= 0; n
--) {
72 const int c1
= tolower(*ucs1
++);
73 const int c2
= tolower(*ucs2
++);
74 if (((d
= c1
- c2
) != 0) || (c2
== '\0')) {