|
|
|
@ -576,11 +576,25 @@ mbfl_identify_encoding(mbfl_string *string, enum mbfl_no_encoding *elist, int el |
|
|
|
for (i = 0; i < num; i++) { |
|
|
|
filter = &flist[i]; |
|
|
|
if (!filter->flag) { |
|
|
|
if (strict && filter->status) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
encoding = filter->encoding; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* fall-back judge */ |
|
|
|
if (!encoding) { |
|
|
|
for (i = 0; i < num; i++) { |
|
|
|
filter = &flist[i]; |
|
|
|
if (!filter->flag) { |
|
|
|
encoding = filter->encoding; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/* cleanup */ |
|
|
|
/* dtors should be called in reverse order */ |
|
|
|
i = num; while (--i >= 0) { |
|
|
|
|