3 This file is part of the ARM-Crypto-Lib.
4 Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de)
6 This program is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
20 * \file string_extras.c
23 * \license GPLv3 or later
34 uint32_t stridentcnt(const char* a, const char* b){
37 if(*a != *b || *b=='\0')
46 uint16_t firstword_length(const char* s){
52 while(c=*s++, isgraph(c)){
58 char* strstrip(char* str){
62 while(*str && (*str==' ' || *str=='\t'))
69 }while(*endptr==' ' || *endptr=='\t');
74 void str_reverse(char* buffer){
78 j=buffer + strlen(buffer)-1;
88 char* ultoa(unsigned long a, char* buffer, uint8_t radix){
89 if(radix<2 || radix>36){
101 result = div(a, radix);
103 result.quot = a/radix;
104 result.rem = a%radix;
120 char* ulltoa(unsigned long long a, char* buffer, uint8_t radix){
121 if(radix<2 || radix>36){
126 unsigned long long quot;
148 char* ustoa(unsigned short a, char* buffer, uint8_t radix){
149 return ultoa((unsigned long)a, buffer, radix);
152 void strlwr(char* s){
160 char* itoa(int a, char* buffer, uint8_t radix){
165 ultoa(a, buffer + 1, radix);