Codechange: use \u to indicate unicode chars in strings (#8379)

With \x, we sometimes had to do the "" trick, as the length is not
predefined. With C++11 bringing \u to the specs, which has a preset
length, we no longer need the "" trick.

We set the strings to u8, to ensure all compilers use UTF-8 encoding
for the \u characters.

This was triggered by newer CLangs, which start to warn if you
use "" in the middle of a string, wondering if that was your
intention. It is a good question. And this is our answer :)
This commit is contained in:
Patric Stout
2020-12-14 20:25:01 +01:00
committed by GitHub
parent b14e3b9b9d
commit 68f9925cd4
6 changed files with 650 additions and 650 deletions

View File

@@ -359,7 +359,7 @@ static void Xunzip(byte **bufp, size_t *sizep)
}
/* Check for the byte-order-mark, and skip it if needed. */
char *p = this->text + (strncmp("\xEF\xBB\xBF", this->text, 3) == 0 ? 3 : 0);
char *p = this->text + (strncmp(u8"\ufeff", this->text, 3) == 0 ? 3 : 0);
/* Make sure the string is a valid UTF-8 sequence. */
str_validate(p, this->text + filesize, SVS_REPLACE_WITH_QUESTION_MARK | SVS_ALLOW_NEWLINE);