ast2firm: Implement casting from complex to real types.
[cparser] / string_rep.c
index 19c59da..86076cc 100644 (file)
@@ -1,3 +1,7 @@
+/*
+ * This file is part of cparser.
+ * Copyright (C) 2012 Matthias Braun <matze@braunis.de>
+ */
 #include "adt/error.h"
 #include "string_rep.h"
 
@@ -13,11 +17,14 @@ static inline size_t wstrlen(const string_t *string)
        return result;
 }
 
-size_t get_string_len(string_encoding_t const enc, string_t const *const str)
+size_t get_string_len(string_t const *const str)
 {
-       switch (enc) {
-       case STRING_ENCODING_CHAR: return str->size;
-       case STRING_ENCODING_WIDE: return wstrlen(str);
+       switch (str->encoding) {
+       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");
 }