From e12c08e8d170b7ca40f204a5b0423c23a9fbc2c1 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 17 Apr 2019 06:17:24 +0200 Subject: ClangFormat: apply to source, most of intern Apply clang format as proposed in T53211. For details on usage and instructions for migrating branches without conflicts, see: https://wiki.blender.org/wiki/Tools/ClangFormat --- intern/cycles/util/util_string.cpp | 348 ++++++++++++++++--------------------- 1 file changed, 152 insertions(+), 196 deletions(-) (limited to 'intern/cycles/util/util_string.cpp') diff --git a/intern/cycles/util/util_string.cpp b/intern/cycles/util/util_string.cpp index 47119e90a45..afcca7e0411 100644 --- a/intern/cycles/util/util_string.cpp +++ b/intern/cycles/util/util_string.cpp @@ -25,276 +25,232 @@ # ifndef vsnprintf # define vsnprintf _vsnprintf # endif -#endif /* _WIN32 */ +#endif /* _WIN32 */ CCL_NAMESPACE_BEGIN string string_printf(const char *format, ...) { - vector str(128, 0); - - while(1) { - va_list args; - int result; - - va_start(args, format); - result = vsnprintf(&str[0], str.size(), format, args); - va_end(args); - - if(result == -1) { - /* not enough space or formatting error */ - if(str.size() > 65536) { - assert(0); - return string(""); - } - - str.resize(str.size()*2, 0); - continue; - } - else if(result >= (int)str.size()) { - /* not enough space */ - str.resize(result + 1, 0); - continue; - } - - return string(&str[0]); - } + vector str(128, 0); + + while (1) { + va_list args; + int result; + + va_start(args, format); + result = vsnprintf(&str[0], str.size(), format, args); + va_end(args); + + if (result == -1) { + /* not enough space or formatting error */ + if (str.size() > 65536) { + assert(0); + return string(""); + } + + str.resize(str.size() * 2, 0); + continue; + } + else if (result >= (int)str.size()) { + /* not enough space */ + str.resize(result + 1, 0); + continue; + } + + return string(&str[0]); + } } -bool string_iequals(const string& a, const string& b) +bool string_iequals(const string &a, const string &b) { - if(a.size() == b.size()) { - for(size_t i = 0; i < a.size(); i++) - if(toupper(a[i]) != toupper(b[i])) - return false; + if (a.size() == b.size()) { + for (size_t i = 0; i < a.size(); i++) + if (toupper(a[i]) != toupper(b[i])) + return false; - return true; - } + return true; + } - return false; + return false; } -void string_split(vector& tokens, - const string& str, - const string& separators, +void string_split(vector &tokens, + const string &str, + const string &separators, bool skip_empty_tokens) { - size_t token_start = 0, token_length = 0; - for(size_t i = 0; i < str.size(); ++i) { - const char ch = str[i]; - if(separators.find(ch) == string::npos) { - /* Current character is not a separator, - * append it to token by increasing token length. - */ - ++token_length; - } - else { - /* Current character is a separator, - * append current token to the list. - */ - if(!skip_empty_tokens || token_length > 0) { - string token = str.substr(token_start, token_length); - tokens.push_back(token); - } - token_start = i + 1; - token_length = 0; - } - } - /* Append token from the tail of the string if exists. */ - if(token_length) { - string token = str.substr(token_start, token_length); - tokens.push_back(token); - } + size_t token_start = 0, token_length = 0; + for (size_t i = 0; i < str.size(); ++i) { + const char ch = str[i]; + if (separators.find(ch) == string::npos) { + /* Current character is not a separator, + * append it to token by increasing token length. + */ + ++token_length; + } + else { + /* Current character is a separator, + * append current token to the list. + */ + if (!skip_empty_tokens || token_length > 0) { + string token = str.substr(token_start, token_length); + tokens.push_back(token); + } + token_start = i + 1; + token_length = 0; + } + } + /* Append token from the tail of the string if exists. */ + if (token_length) { + string token = str.substr(token_start, token_length); + tokens.push_back(token); + } } -bool string_startswith(const string& s, const char *start) +bool string_startswith(const string &s, const char *start) { - size_t len = strlen(start); + size_t len = strlen(start); - if(len > s.size()) - return 0; - else - return strncmp(s.c_str(), start, len) == 0; + if (len > s.size()) + return 0; + else + return strncmp(s.c_str(), start, len) == 0; } -bool string_endswith(const string& s, const char *end) +bool string_endswith(const string &s, const char *end) { - size_t len = strlen(end); + size_t len = strlen(end); - if(len > s.size()) - return 0; - else - return strncmp(s.c_str() + s.size() - len, end, len) == 0; + if (len > s.size()) + return 0; + else + return strncmp(s.c_str() + s.size() - len, end, len) == 0; } -string string_strip(const string& s) +string string_strip(const string &s) { - string result = s; - result.erase(0, result.find_first_not_of(' ')); - result.erase(result.find_last_not_of(' ') + 1); - return result; - + string result = s; + result.erase(0, result.find_first_not_of(' ')); + result.erase(result.find_last_not_of(' ') + 1); + return result; } -void string_replace(string& haystack, const string& needle, const string& other) +void string_replace(string &haystack, const string &needle, const string &other) { - size_t i = 0, index; - while((index = haystack.find(needle, i)) != string::npos) { - haystack.replace(index, needle.size(), other); - i = index + other.size(); - } + size_t i = 0, index; + while ((index = haystack.find(needle, i)) != string::npos) { + haystack.replace(index, needle.size(), other); + i = index + other.size(); + } } string string_remove_trademark(const string &s) { - string result = s; + string result = s; - /* Special case, so we don;t leave sequential spaces behind. */ - /* TODO(sergey): Consider using regex perhaps? */ - string_replace(result, " (TM)", ""); - string_replace(result, " (R)", ""); + /* Special case, so we don;t leave sequential spaces behind. */ + /* TODO(sergey): Consider using regex perhaps? */ + string_replace(result, " (TM)", ""); + string_replace(result, " (R)", ""); - string_replace(result, "(TM)", ""); - string_replace(result, "(R)", ""); + string_replace(result, "(TM)", ""); + string_replace(result, "(R)", ""); - return string_strip(result); + return string_strip(result); } string string_from_bool(bool var) { - if(var) - return "True"; - else - return "False"; + if (var) + return "True"; + else + return "False"; } string to_string(const char *str) { - return string(str); + return string(str); } /* Wide char strings helpers for Windows. */ #ifdef _WIN32 -wstring string_to_wstring(const string& str) +wstring string_to_wstring(const string &str) { - const int length_wc = MultiByteToWideChar(CP_UTF8, - 0, - str.c_str(), - str.length(), - NULL, - 0); - wstring str_wc(length_wc, 0); - MultiByteToWideChar(CP_UTF8, - 0, - str.c_str(), - str.length(), - &str_wc[0], - length_wc); - return str_wc; + const int length_wc = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), NULL, 0); + wstring str_wc(length_wc, 0); + MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), &str_wc[0], length_wc); + return str_wc; } -string string_from_wstring(const wstring& str) +string string_from_wstring(const wstring &str) { - int length_mb = WideCharToMultiByte(CP_UTF8, - 0, - str.c_str(), - str.size(), - NULL, - 0, - NULL, NULL); - string str_mb(length_mb, 0); - WideCharToMultiByte(CP_UTF8, - 0, - str.c_str(), - str.size(), - &str_mb[0], - length_mb, - NULL, NULL); - return str_mb; + int length_mb = WideCharToMultiByte(CP_UTF8, 0, str.c_str(), str.size(), NULL, 0, NULL, NULL); + string str_mb(length_mb, 0); + WideCharToMultiByte(CP_UTF8, 0, str.c_str(), str.size(), &str_mb[0], length_mb, NULL, NULL); + return str_mb; } -string string_to_ansi(const string& str) +string string_to_ansi(const string &str) { - const int length_wc = MultiByteToWideChar(CP_UTF8, - 0, - str.c_str(), - str.length(), - NULL, - 0); - wstring str_wc(length_wc, 0); - MultiByteToWideChar(CP_UTF8, - 0, - str.c_str(), - str.length(), - &str_wc[0], - length_wc); - - int length_mb = WideCharToMultiByte(CP_ACP, - 0, - str_wc.c_str(), - str_wc.size(), - NULL, - 0, - NULL, NULL); - - string str_mb(length_mb, 0); - WideCharToMultiByte(CP_ACP, - 0, - str_wc.c_str(), - str_wc.size(), - &str_mb[0], - length_mb, - NULL, NULL); - - return str_mb; + const int length_wc = MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), NULL, 0); + wstring str_wc(length_wc, 0); + MultiByteToWideChar(CP_UTF8, 0, str.c_str(), str.length(), &str_wc[0], length_wc); + + int length_mb = WideCharToMultiByte( + CP_ACP, 0, str_wc.c_str(), str_wc.size(), NULL, 0, NULL, NULL); + + string str_mb(length_mb, 0); + WideCharToMultiByte(CP_ACP, 0, str_wc.c_str(), str_wc.size(), &str_mb[0], length_mb, NULL, NULL); + + return str_mb; } -#endif /* _WIN32 */ +#endif /* _WIN32 */ string string_human_readable_size(size_t size) { - static const char suffixes[] = "BKMGTPEZY"; + static const char suffixes[] = "BKMGTPEZY"; - const char* suffix = suffixes; - size_t r = 0; + const char *suffix = suffixes; + size_t r = 0; - while(size >= 1024) { - r = size % 1024; - size /= 1024; - suffix++; - } + while (size >= 1024) { + r = size % 1024; + size /= 1024; + suffix++; + } - if(*suffix != 'B') - return string_printf("%.2f%c", double(size*1024+r)/1024.0, *suffix); - else - return string_printf("%zu", size); + if (*suffix != 'B') + return string_printf("%.2f%c", double(size * 1024 + r) / 1024.0, *suffix); + else + return string_printf("%zu", size); } string string_human_readable_number(size_t num) { - if(num == 0) { - return "0"; - } + if (num == 0) { + return "0"; + } - /* Add thousands separators. */ - char buf[32]; + /* Add thousands separators. */ + char buf[32]; - char* p = buf+31; - *p = '\0'; + char *p = buf + 31; + *p = '\0'; - int i = -1; - while(num) { - if(++i && i % 3 == 0) - *(--p) = ','; + int i = -1; + while (num) { + if (++i && i % 3 == 0) + *(--p) = ','; - *(--p) = '0' + (num % 10); + *(--p) = '0' + (num % 10); - num /= 10; - } + num /= 10; + } - return p; + return p; } CCL_NAMESPACE_END -- cgit v1.2.3