change BLI_strlen_range_utf8 to the more conventional BLI_strnlen_utf8
authorCampbell Barton <ideasman42@gmail.com>
Sat, 27 Oct 2012 02:47:39 +0000 (02:47 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Sat, 27 Oct 2012 02:47:39 +0000 (02:47 +0000)
source/blender/blenlib/BLI_string.h
source/blender/blenlib/BLI_string_utf8.h
source/blender/blenlib/intern/string.c
source/blender/blenlib/intern/string_utf8.c
source/blender/editors/interface/interface_handlers.c

index 943597b6688d3e8931ccb9277461d2fb68763185..ba906e1221cd7021434f34401dd8f623ecd99dbb 100644 (file)
@@ -204,7 +204,7 @@ __attribute__((warn_unused_result))
 __attribute__((nonnull))
 #endif
 ;
-size_t BLI_strnlen(const char *str, size_t maxlen)
+size_t BLI_strnlen(const char *str, const size_t maxlen)
 #ifdef __GNUC__
 __attribute__((warn_unused_result))
 __attribute__((nonnull))
index 20b56f85b5330ee6610d648b7d4681433955819d..73f138a750d28ae8455d8291bc527e6518593e45 100644 (file)
@@ -50,7 +50,7 @@ char        *BLI_str_prev_char_utf8(const char *p);
 /* wchar_t functions, copied from blenders own font.c originally */
 size_t       BLI_wstrlen_utf8(const wchar_t *src);
 size_t       BLI_strlen_utf8(const char *strc);
-size_t       BLI_strlen_range_utf8(const char *start, const char *end);
+size_t       BLI_strnlen_utf8(const char *start, const size_t maxlen);
 size_t       BLI_strncpy_wchar_as_utf8(char *__restrict dst, const wchar_t *__restrict src, const size_t maxcpy);
 size_t       BLI_strncpy_wchar_from_utf8(wchar_t *__restrict dst, const char *__restrict src, const size_t maxcpy);
 
index 40b2fc20cfa7705713705cff02fa229bc769716a..73d88ddd25983660a672b2dc645a4270b7f5cd2a 100644 (file)
@@ -416,7 +416,7 @@ void BLI_timestr(double _time, char *str)
 }
 
 /* determine the length of a fixed-size string */
-size_t BLI_strnlen(const char *str, size_t maxlen)
+size_t BLI_strnlen(const char *str, const size_t maxlen)
 {
        const char *end = memchr(str, '\0', maxlen);
        return end ? (size_t) (end - str) : maxlen;
index 7f6057dfdc4e02040e9033fcf37fc5070cdc43ca..5684b12cc8bc87f5ea36430bd03e15a02b3e54e4 100644 (file)
@@ -261,13 +261,21 @@ size_t BLI_strlen_utf8(const char *strc)
        return len;
 }
 
-size_t BLI_strlen_range_utf8(const char *start, const char *end)
+/**
+ * \param start the string to measure the length.
+ * \param maxlen the string length (in bytes)
+ * \return the unicode length (not in bytes!)
+ */
+size_t BLI_strnlen_utf8(const char *start, const size_t maxlen)
 {
        const char *strc = start;
-       int len;
+       const char *strc_end = start + maxlen;
 
-       for (len = 0; strc < end; len++)
+       size_t len;
+
+       for (len = 0; *strc && strc < strc_end; len++) {
                strc += strlen_utf8_char(strc);
+       }
 
        return len;
 }
index c903fd4186e8fb2e22a6d4c74e1debe6178ef8cd..0b66c5564c6658e43f56eb0d237b62d9dd6f2ccf 100644 (file)
@@ -1324,7 +1324,7 @@ static int ui_text_position_from_hidden(uiBut *but, int pos)
 
 static int ui_text_position_to_hidden(uiBut *but, int pos)
 {
-       return BLI_strlen_range_utf8(but->drawstr, but->drawstr + pos);
+       return BLI_strnlen_utf8(but->drawstr, pos);
 }
 
 void ui_button_text_password_hide(char password_str[UI_MAX_DRAW_STR], uiBut *but, int restore)