чување 3aee6733fd4e404988f0896c576a493c3c91b97d
родитељ 23b9f7be738faca897b88d981f32ccbea6fba8da
Аутор: Страхиња Радић <contact@strahinja.org>
Датум: Wed, 22 Jun 2022 15:14:04 +0200
Fix word boundary detection
Signed-off-by: Страхиња Радић <contact@strahinja.org>
Diffstat:
измењених датотека: 2, додавања: 7(+), брисања: 5(-)
diff --git a/util.c b/util.c
@@ -203,11 +203,10 @@ u32_u8_strcpy(uint32_t* to, const char* from)
}
int
-u32_is_word_boundary(const uint32_t ch, const int strictly_whitespace)
+is_word_boundary(const char ch, const int strictly_whitespace)
{
- return strictly_whitespace
- ? u32_strchr((uint32_t*)" \v\t", ch) != NULL
- : u32_strchr((uint32_t*)" \v\t()[]{},.;:/\\", ch) != NULL;
+ return strictly_whitespace ? strchr(" \v\t", ch) != NULL
+ : strchr(" \v\t()[]{},.;:/\\", ch) != NULL;
}
const int
diff --git a/util.h b/util.h
@@ -42,6 +42,9 @@ enum { ACT_WRITING, ACT_READING };
#define UTF8REPMAX 6
#define TB_KEY_CTRL_SPACE 0x00
+#define u32_is_word_boundary(ch, strictly_whitespace) \
+ (is_word_boundary((char)(ch), strictly_whitespace))
+
size_t u8_string_to_unicode(uint32_t* us, const char* s, const size_t max);
size_t unicode_string_to_u8(char* s, const uint32_t* us, const size_t max);
size_t u32_strlen(const uint32_t* s);
@@ -54,7 +57,7 @@ size_t u32_strncpy(uint32_t* to, const uint32_t* from, size_t max);
size_t u32_strcat(uint32_t* to, const uint32_t* from);
size_t u32_strncat(uint32_t* to, const uint32_t* from, size_t max);
size_t u32_u8_strcpy(uint32_t* to, const char* from);
-int u32_is_word_boundary(const uint32_t ch, const int strictly_whitespace);
+int is_word_boundary(const char ch, const int strictly_whitespace);
const int starts_with(const char* s, const char* with);
const int u32_starts_with(const uint32_t* s, const uint32_t* with);
const char* u8_basename(const char* path);