chiark / gitweb /
always get tool_active right
[disorder] / lib / charset.h
index 369d2b9b7da0b298a6c380e8921c37779aaf51d5..70b5b2f40d68baa141e1f73497a87ddc6c5f92d6 100644 (file)
 #ifndef CHARSET_H
 #define CHARSET_H
 
 #ifndef CHARSET_H
 #define CHARSET_H
 
+struct dynstr;
+
 /* Character encoding conversion routines */
 
 /* Character encoding conversion routines */
 
+int one_ucs42utf8(uint32_t c, struct dynstr *d);
+
 uint32_t *utf82ucs4(const char *mb);
 char *ucs42utf8(const uint32_t *u);
 char *mb2utf8(const char *mb);
 uint32_t *utf82ucs4(const char *mb);
 char *ucs42utf8(const uint32_t *u);
 char *mb2utf8(const char *mb);
@@ -48,7 +52,12 @@ char *any2any(const char *from/*encoding or 0*/,
  * that iconv knows.  If FROM and TO are both 0 then ANY is returned
  * unchanged. */
 
  * that iconv knows.  If FROM and TO are both 0 then ANY is returned
  * unchanged. */
 
-
+/** @brief Insist that @p s is not null
+ * @param s Pointer to check
+ * @return @p s
+ *
+ * Terminates the process if @p s is a null pointer.
+ */
 static inline char *nullcheck(char *s) {
   if(!s) exitfn(1);                    /* assume an error already reported */
   return s;
 static inline char *nullcheck(char *s) {
   if(!s) exitfn(1);                    /* assume an error already reported */
   return s;
@@ -57,6 +66,8 @@ static inline char *nullcheck(char *s) {
 int ucs4cmp(const uint32_t *a, const uint32_t *b);
 /* like strcmp */
 
 int ucs4cmp(const uint32_t *a, const uint32_t *b);
 /* like strcmp */
 
+const char *truncate_for_display(const char *s, long max);
+
 #endif /* CHARSET_H */
 
 /*
 #endif /* CHARSET_H */
 
 /*