Adapted tokens.inc for Cygwin and MinGW
[cparser] / lexer.c
diff --git a/lexer.c b/lexer.c
index b797a90..0f01d44 100644 (file)
--- a/lexer.c
+++ b/lexer.c
@@ -96,7 +96,7 @@ static inline void next_real_char(void)
                bufpos = buf + MAX_PUTBACK;
                bufend = buf + MAX_PUTBACK + s;
        }
-       c = *bufpos++;
+       c = (unsigned char)*bufpos++;
 }
 
 /**
@@ -937,9 +937,10 @@ wide_string_t concat_wide_string_string(const wide_string_t *const s1, const str
 
        wchar_rep_t *const concat = obstack_alloc(&symbol_obstack, (len1 + len2 + 1) * sizeof(*concat));
        memcpy(concat, s1->begin, len1 * sizeof(*concat));
-       const char *const src = s2->begin;
+       const char  *const src = s2->begin;
+       wchar_rep_t *const dst = concat + len1;
        for (size_t i = 0; i != len2 + 1; ++i) {
-               concat[i] = src[i];
+               dst[i] = src[i];
        }
        if (warning.traditional) {
                warningf(&lexer_token.source_position,