aboutsummaryrefslogtreecommitdiffstats
path: root/src/mds-kbdc/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mds-kbdc/string.h')
-rw-r--r--src/mds-kbdc/string.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/src/mds-kbdc/string.h b/src/mds-kbdc/string.h
index 92051af..905c6a3 100644
--- a/src/mds-kbdc/string.h
+++ b/src/mds-kbdc/string.h
@@ -24,35 +24,43 @@
/**
- * Data type for a character in a decoded string.
+ * Data type for a character in a decoded string
*/
typedef int32_t char32_t;
/**
- * Get the length of a string.
+ * Get the length of a string
*
- * @param string The string.
- * @return The length of the string.
+ * @param string The string
+ * @return The length of the string
*/
size_t string_length(const char32_t* restrict string) __attribute__((pure, nonnull));
/**
- * Convert a NUL-terminated UTF-8 string to a -1-terminated UTF-32 string.
+ * Convert a NUL-terminated UTF-8 string to a -1-terminated UTF-32 string
*
- * @param string The UTF-8 string.
- * @return The string in UTF-32, `NULL` on error.
+ * @param string The UTF-8 string
+ * @return The string in UTF-32, `NULL` on error
*/
char32_t* string_decode(const char* restrict string) __attribute__((nonnull));
/**
- * Convert a -1-terminated UTF-32 string to a NUL-terminated Modified UTF-8 string.
+ * Convert a -1-terminated UTF-32 string to a NUL-terminated Modified UTF-8 string
*
- * @param string The UTF-32 string.
- * @return The string in UTF-8, `NULL` on error.
+ * @param string The UTF-32 string
+ * @return The string in UTF-8, `NULL` on error
*/
char* string_encode(const char32_t* restrict string) __attribute__((nonnull));
+/**
+ * Create duplicate of a string
+ *
+ * @param string The string
+ * @return A duplicate of the strnig, `NULL` on error or if `string` is `NULL`
+ */
+char32_t* string_dup(const char32_t* restrict string);
+
#endif