X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fextract.c;h=4f1c54a00df805cef6ff092e009ec32bc35e603a;hp=706282e00306dc73e465cca403c9268758cd95e0;hb=f03f71aeaedbe90772338635cc221bf065f356c6;hpb=9b53e465be528eb95ede2c464e603f5d79873794 diff --git a/src/extract.c b/src/extract.c index 706282e0..4f1c54a0 100644 --- a/src/extract.c +++ b/src/extract.c @@ -655,19 +655,20 @@ file_name_valid(utf16lechar *name, size_t num_chars, bool fix) if (num_chars == 0) return true; for (i = 0; i < num_chars; i++) { - switch (name[i]) { + switch (le16_to_cpu(name[i])) { #ifdef __WIN32__ - case cpu_to_le16('\\'): - case cpu_to_le16(':'): - case cpu_to_le16('*'): - case cpu_to_le16('?'): - case cpu_to_le16('"'): - case cpu_to_le16('<'): - case cpu_to_le16('>'): - case cpu_to_le16('|'): + case '\x01'...'\x1F': + case '\\': + case ':': + case '*': + case '?': + case '"': + case '<': + case '>': + case '|': #endif - case cpu_to_le16('/'): - case cpu_to_le16('\0'): + case '/': + case '\0': if (fix) name[i] = replacement_char; else