BLI_string, dont pass unicode to ascii BLI_str_partition functions

This commit is contained in:
Campbell Barton 2014-07-08 06:06:34 +10:00
parent aac283966f
commit ea1f1fe0c2
4 changed files with 11 additions and 11 deletions

View File

@ -1894,7 +1894,7 @@ elseif(APPLE)
else() # vanilla gcc or clang_omp support OpenMP
message(STATUS "Using special OpenMP enabled compiler !") # letting find_package(OpenMP) module work for gcc
string(SUBSTRING "${CMAKE_C_COMPILER}" 0 5 CLANG_OMP)
message(STATUS "Using clang-omp from darwin libs "${CLANG_OMP})
message(STATUS "Using clang-omp from darwin libs " ${CLANG_OMP})
if(CMAKE_C_COMPILER_ID MATCHES "Clang") # clang-omp in darwin libs
set(OPENMP_FOUND ON)
set(OpenMP_C_FLAGS "-fopenmp" CACHE STRING "C compiler flags for OpenMP parallization" FORCE)

View File

@ -79,9 +79,9 @@ int BLI_str_rstrip_float_zero(char *str, const char pad) ATTR_NONNULL();
int BLI_str_index_in_array_n(const char *__restrict str, const char **__restrict str_array, const int str_array_len) ATTR_NONNULL();
int BLI_str_index_in_array(const char *__restrict str, const char **__restrict str_array) ATTR_NONNULL();
size_t BLI_str_partition(const char *str, const unsigned int delim[], char **sep, char **suf) ATTR_NONNULL();
size_t BLI_str_rpartition(const char *str, const unsigned int delim[], char **sep, char **suf) ATTR_NONNULL();
size_t BLI_str_partition_ex(const char *str, const unsigned int delim[], char **sep, char **suf, const bool from_right) ATTR_NONNULL();
size_t BLI_str_partition(const char *str, const char delim[], char **sep, char **suf) ATTR_NONNULL();
size_t BLI_str_rpartition(const char *str, const char delim[], char **sep, char **suf) ATTR_NONNULL();
size_t BLI_str_partition_ex(const char *str, const char delim[], char **sep, char **suf, const bool from_right) ATTR_NONNULL();
#ifdef __cplusplus
}

View File

@ -690,7 +690,7 @@ int BLI_str_index_in_array(const char *str, const char **str_array)
* \param suf Return value, set to next char after the first delimiter found (or NULL if none found).
* \return The length of the prefix (i.e. *sep - str).
*/
size_t BLI_str_partition(const char *str, const unsigned int delim[], char **sep, char **suf)
size_t BLI_str_partition(const char *str, const char delim[], char **sep, char **suf)
{
return BLI_str_partition_ex(str, delim, sep, suf, false);
}
@ -704,7 +704,7 @@ size_t BLI_str_partition(const char *str, const unsigned int delim[], char **sep
* \param suf Return value, set to next char after the first delimiter found (or NULL if none found).
* \return The length of the prefix (i.e. *sep - str).
*/
size_t BLI_str_rpartition(const char *str, const unsigned int delim[], char **sep, char **suf)
size_t BLI_str_rpartition(const char *str, const char delim[], char **sep, char **suf)
{
return BLI_str_partition_ex(str, delim, sep, suf, true);
}
@ -719,15 +719,15 @@ size_t BLI_str_rpartition(const char *str, const unsigned int delim[], char **se
* \param from_right If %true, search from the right of \a str, else, search from its left.
* \return The length of the prefix (i.e. *sep - str).
*/
size_t BLI_str_partition_ex(const char *str, const unsigned int delim[], char **sep, char **suf, const bool from_right)
size_t BLI_str_partition_ex(const char *str, const char delim[], char **sep, char **suf, const bool from_right)
{
const unsigned int *d;
const char *d;
char *(*func)(const char *str, int c) = from_right ? strrchr : strchr;
*sep = *suf = NULL;
for (d = delim; *d != '\0'; ++d) {
char *tmp = func(str, (int)*d);
char *tmp = func(str, *d);
if (tmp && (from_right ? (*sep < tmp) : (!*sep || *sep > tmp))) {
*sep = tmp;

View File

@ -35,7 +35,7 @@ int mk_wcswidth(const wchar_t *pwcs, size_t n)
/* BLI_str_partition */
TEST(string, StrPartition)
{
const unsigned int delim[] = {'-', '.', '_', 0x00F1 /* n tilde */, 0x262F /* ying-yang */, '\0'};
const char delim[] = {'-', '.', '_', '~', '\\', '\0'};
char *sep, *suf;
size_t pre_ln;
@ -94,7 +94,7 @@ TEST(string, StrPartition)
/* BLI_str_rpartition */
TEST(string, StrRPartition)
{
const unsigned int delim[] = {'-', '.', '_', 0x00F1 /* n tilde */, 0x262F /* ying-yang */, '\0'};
const char delim[] = {'-', '.', '_', '~', '\\', '\0'};
char *sep, *suf;
size_t pre_ln;