aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/string-utils.h
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2024-08-28 12:59:05 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2024-09-09 18:16:07 +0200
commit4c6b6814abfc9c022c6ea8d1e23097c2a774fde5 (patch)
tree26ea9ad6d2777c080c1733b55fc7d30180c335f5 /src/string-utils.h
parentfdc185b8faaae44d67f85d2c5a9b9fa48d3e2859 (diff)
downloadsciteco-4c6b6814abfc9c022c6ea8d1e23097c2a774fde5.tar.gz
input and displaying of Unicode characters is now possible (refs #5)
* All non-ASCII characters are inserted as Unicode. On Curses, this also requires a properly set up locale. * We still do not need any widechar Curses, as waddch() handles multibyte characters on ncurses. We will see whether there is any Curses variant that strictly requires wadd_wch(). If this will be an exception, we might keep both widechar and non-widechar support. * By convention gsize is used exclusively for byte sizes. Character offsets or lengths use int or long.
Diffstat (limited to 'src/string-utils.h')
-rw-r--r--src/string-utils.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/string-utils.h b/src/string-utils.h
index 973b954..efc6fc5 100644
--- a/src/string-utils.h
+++ b/src/string-utils.h
@@ -51,6 +51,12 @@ teco_ascii_toupper(gchar chr)
* A target teco_string_t::data is always null-terminated and thus safe to pass
* to functions expecting traditional null-terminated C strings if you can
* guarantee that it contains no null-character other than the trailing one.
+ *
+ * @warning For consistency with C idioms the underlying character type is
+ * `char`, which might be signed!
+ * Accessing individual characters may yield signed integers and that sign
+ * might be preserved when upcasting to a larger signed integer.
+ * In this case you should always cast to `guchar` first.
*/
typedef struct {
/**