chiark / gitweb /
In the web interface only, new 'short' track name part context. This
[disorder] / lib / charset.h
index 3dcd756c2439e38df8b9cf8bd43c73ea8897b994..70b5b2f40d68baa141e1f73497a87ddc6c5f92d6 100644 (file)
 #ifndef CHARSET_H
 #define CHARSET_H
 
+struct dynstr;
+
 /* 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);
@@ -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. */
 
-
+/** @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;
@@ -57,6 +66,8 @@ static inline char *nullcheck(char *s) {
 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 */
 
 /*
@@ -65,4 +76,3 @@ c-basic-offset:2
 comment-column:40
 End:
 */
-/* arch-tag:ca7783e592109d7b7078175bd301faf7 */