Skip to content

Commit ea68701

Browse files
committed
Add identify filter for ISO-8859-7 (Latin/Greek)
1 parent a6603b6 commit ea68701

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

ext/mbstring/libmbfl/filters/mbfilter_iso8859_7.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@
3131
#include "mbfilter_iso8859_7.h"
3232
#include "unicode_table_iso8859_7.h"
3333

34+
static int mbfl_filt_ident_iso8859_7(int c, mbfl_identify_filter *filter);
35+
3436
static const char *mbfl_encoding_8859_7_aliases[] = {"ISO8859-7", "greek", NULL};
3537

3638
const mbfl_encoding mbfl_encoding_8859_7 = {
@@ -47,7 +49,7 @@ const mbfl_encoding mbfl_encoding_8859_7 = {
4749
const struct mbfl_identify_vtbl vtbl_identify_8859_7 = {
4850
mbfl_no_encoding_8859_7,
4951
mbfl_filt_ident_common_ctor,
50-
mbfl_filt_ident_true
52+
mbfl_filt_ident_iso8859_7
5153
};
5254

5355
const struct mbfl_convert_vtbl vtbl_8859_7_wchar = {
@@ -132,3 +134,11 @@ int mbfl_filt_conv_wchar_8859_7(int c, mbfl_convert_filter *filter)
132134

133135
return c;
134136
}
137+
138+
static int mbfl_filt_ident_iso8859_7(int c, mbfl_identify_filter *filter)
139+
{
140+
/* These bytes are not mapped to any character in ISO-8859-7 */
141+
if (c == 0xAE || c == 0xD2 || c == 0xFF)
142+
filter->status = 1;
143+
return c;
144+
}

0 commit comments

Comments
 (0)