mirror of
https://github.com/libretro/RetroArch
synced 2025-02-06 00:39:53 +00:00
(String) Some function fixes (#14171)
This commit is contained in:
parent
c4fb055fdb
commit
98ca6232aa
@ -262,10 +262,8 @@ char *string_init(const char *src);
|
||||
|
||||
void string_set(char **string, const char *src);
|
||||
|
||||
extern const unsigned char lr_char_props[256];
|
||||
|
||||
/* Get the total number of occurrences of a character in the given string. */
|
||||
int string_count_occurrences_single_character(char *str, char t);
|
||||
int string_count_occurrences_single_character(const char *str, char c);
|
||||
|
||||
/* Replaces all spaces with the given character. */
|
||||
void string_replace_whitespace_with_single_character(char *str, char c);
|
||||
@ -277,13 +275,15 @@ void string_replace_multi_space_with_single_space(char *str);
|
||||
void string_remove_all_whitespace(char *str_trimmed, const char *str);
|
||||
|
||||
/* Retrieve the last occurance of the given character in a string. */
|
||||
int string_index_last_occurance(char str[], char t);
|
||||
int string_index_last_occurance(const char *str, char c);
|
||||
|
||||
/* Find the position of a substring in a string. */
|
||||
int string_find_index_substring_string(const char* str1, const char* str2);
|
||||
int string_find_index_substring_string(const char *str, const char *substr);
|
||||
|
||||
/* Strips non-ASCII characters from a string. */
|
||||
void string_copy_only_ascii(char *str_stripped, const char* str);
|
||||
void string_copy_only_ascii(char *str_stripped, const char *str);
|
||||
|
||||
extern const unsigned char lr_char_props[256];
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
|
@ -528,18 +528,15 @@ unsigned string_hex_to_unsigned(const char *str)
|
||||
/**
|
||||
* Get the total number of occurrences of a character in the given string.
|
||||
*/
|
||||
int string_count_occurrences_single_character(char *str, char t)
|
||||
int string_count_occurrences_single_character(const char *str, char c)
|
||||
{
|
||||
int ctr = 0;
|
||||
int i;
|
||||
int count = 0;
|
||||
|
||||
for (i = 0; str[i] != '\0'; ++i)
|
||||
{
|
||||
if (t == str[i])
|
||||
++ctr;
|
||||
}
|
||||
for (; *str; str++)
|
||||
if (*str == c)
|
||||
count++;
|
||||
|
||||
return ctr;
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -586,46 +583,34 @@ void string_remove_all_whitespace(char *str_trimmed, const char *str)
|
||||
/**
|
||||
* Retrieve the last occurance of the given character in a string.
|
||||
*/
|
||||
int string_index_last_occurance(char *str, char t)
|
||||
int string_index_last_occurance(const char *str, char c)
|
||||
{
|
||||
const char *ret = strrchr(str, t);
|
||||
if (ret)
|
||||
return ret-str;
|
||||
return -1;
|
||||
const char *pos = strrchr(str, c);
|
||||
|
||||
return pos ? (pos - str) : -1;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the position of a substring in a string.
|
||||
*/
|
||||
int string_find_index_substring_string(const char* str1, const char* str2)
|
||||
int string_find_index_substring_string(const char *str, const char *substr)
|
||||
{
|
||||
if (str1[0] != '\0')
|
||||
if (!string_is_empty(str))
|
||||
{
|
||||
const char *pfound = strstr(str1, str2);
|
||||
if (pfound)
|
||||
return (pfound - str1);
|
||||
const char *pos = strstr(str, substr);
|
||||
|
||||
if (pos)
|
||||
return pos - str;
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Strips non-ASCII characters from a string. */
|
||||
void string_copy_only_ascii(char *str_stripped, const char* str)
|
||||
void string_copy_only_ascii(char *str_stripped, const char *str)
|
||||
{
|
||||
if (!string_is_empty(str))
|
||||
{
|
||||
unsigned i = 0;
|
||||
unsigned j = 0;
|
||||
|
||||
for (i = 0; i < strlen(str); i++)
|
||||
{
|
||||
if (str[i] > 0x1F && str[i] < 0x80)
|
||||
{
|
||||
str_stripped[j] = str[i];
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
str_stripped[j] = '\0';
|
||||
}
|
||||
for (; *str; str++)
|
||||
if (*str > 0x1F && *str < 0x7F)
|
||||
*str_stripped++ = *str;
|
||||
*str_stripped = '\0';
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user