From 5fd6f7bd44b0d474a11cac9ae70b259f780331f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gl=C3=B6ckner?= Date: Thu, 20 Nov 2008 12:21:59 +0100 Subject: [PATCH] Fix get_tok_str wrt wide characters Fixes both, character constants and string literals. --- tcc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tcc.c b/tcc.c index 5d4999e9..b0e86cda 100644 --- a/tcc.c +++ b/tcc.c @@ -1770,8 +1770,9 @@ char *get_tok_str(int v, CValue *cv) /* XXX: not quite exact, but only useful for testing */ sprintf(p, "%Lu", cv->ull); break; - case TOK_CCHAR: case TOK_LCHAR: + cstr_ccat(&cstr_buf, 'L'); + case TOK_CCHAR: cstr_ccat(&cstr_buf, '\''); add_char(&cstr_buf, cv->i); cstr_ccat(&cstr_buf, '\''); @@ -1784,8 +1785,9 @@ char *get_tok_str(int v, CValue *cv) add_char(&cstr_buf, ((unsigned char *)cstr->data)[i]); cstr_ccat(&cstr_buf, '\0'); break; - case TOK_STR: case TOK_LSTR: + cstr_ccat(&cstr_buf, 'L'); + case TOK_STR: cstr = cv->cstr; cstr_ccat(&cstr_buf, '\"'); if (v == TOK_STR) {