simple support for __attribute__((alias("symbol")))
[cparser] / string_rep.c
index ff58aad..6a94b3e 100644 (file)
@@ -1,5 +1,10 @@
+/*
+ * This file is part of cparser.
+ * Copyright (C) 2012 Matthias Braun <matze@braunis.de>
+ */
 #include "adt/error.h"
 #include "string_rep.h"
+#include "unicode.h"
 
 static inline size_t wstrlen(const string_t *string)
 {
@@ -16,8 +21,11 @@ static inline size_t wstrlen(const string_t *string)
 size_t get_string_len(string_t const *const str)
 {
        switch (str->encoding) {
-       case STRING_ENCODING_CHAR: return str->size;
-       case STRING_ENCODING_WIDE: return wstrlen(str);
+       case STRING_ENCODING_CHAR:
+       case STRING_ENCODING_UTF8:   return str->size;
+       case STRING_ENCODING_CHAR16:
+       case STRING_ENCODING_CHAR32:
+       case STRING_ENCODING_WIDE:   return wstrlen(str);
        }
        panic("invalid string encoding");
 }