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)
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
}
* \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);
}
* \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);
}
* \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;
/* 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;
/* 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;