Skip to content

Commit

Permalink
Simplify.
Browse files Browse the repository at this point in the history
  • Loading branch information
0-wiz-0 committed Mar 15, 2024
1 parent db922fa commit 37bd702
Showing 1 changed file with 29 additions and 29 deletions.
58 changes: 29 additions & 29 deletions lib/zip_utf-8.c
Original file line number Diff line number Diff line change
Expand Up @@ -109,43 +109,43 @@ _zip_guess_encoding(zip_string_t *str, zip_encoding_type_t expected_encoding) {
name = str->raw;

if (str->encoding != ZIP_ENCODING_UNKNOWN) {
enc = str->encoding;
return str->encoding;
}
else {
enc = ZIP_ENCODING_ASCII;
for (i = 0; i < str->length; i++) {
if ((name[i] > 31 && name[i] < 128) || name[i] == '\r' || name[i] == '\n' || name[i] == '\t') {
enc = ZIP_ENCODING_ASCII;
for (i = 0; i < str->length; i++) {
if (name[i] < 128) {
if (name[i] > 31 || name[i] == '\r' || name[i] == '\n' || name[i] == '\t') {
continue;
}
}

enc = ZIP_ENCODING_UTF8_GUESSED;
if ((name[i] & UTF_8_LEN_2_MASK) == UTF_8_LEN_2_MATCH) {
ulen = 1;
}
else if ((name[i] & UTF_8_LEN_3_MASK) == UTF_8_LEN_3_MATCH) {
ulen = 2;
}
else if ((name[i] & UTF_8_LEN_4_MASK) == UTF_8_LEN_4_MATCH) {
ulen = 3;
}
else {
enc = ZIP_ENCODING_CP437;
break;
}
enc = ZIP_ENCODING_UTF8_GUESSED;
if ((name[i] & UTF_8_LEN_2_MASK) == UTF_8_LEN_2_MATCH) {
ulen = 1;
}
else if ((name[i] & UTF_8_LEN_3_MASK) == UTF_8_LEN_3_MATCH) {
ulen = 2;
}
else if ((name[i] & UTF_8_LEN_4_MASK) == UTF_8_LEN_4_MATCH) {
ulen = 3;
}
else {
enc = ZIP_ENCODING_CP437;
break;
}

if (i + ulen >= str->length) {
enc = ZIP_ENCODING_CP437;
break;
}
if (i + ulen >= str->length) {
enc = ZIP_ENCODING_CP437;
break;
}

for (j = 1; j <= ulen; j++) {
if ((name[i + j] & UTF_8_CONTINUE_MASK) != UTF_8_CONTINUE_MATCH) {
enc = ZIP_ENCODING_CP437;
goto done;
}
for (j = 1; j <= ulen; j++) {
if ((name[i + j] & UTF_8_CONTINUE_MASK) != UTF_8_CONTINUE_MATCH) {
enc = ZIP_ENCODING_CP437;
goto done;
}
i += ulen;
}
i += ulen;
}

done:
Expand Down

0 comments on commit 37bd702

Please sign in to comment.