diff options
author | dd <dd@FreeBSD.org> | 2002-12-22 10:25:18 +0000 |
---|---|---|
committer | dd <dd@FreeBSD.org> | 2002-12-22 10:25:18 +0000 |
commit | a18a503d3560817365bc3c43cccee7b503e07dda (patch) | |
tree | 73d8b154b842a51066050cdd9e4b09143c0acd4c /net/dictd | |
parent | c34a020fb0714351ecc35cbded2f793952f308c6 (diff) | |
download | FreeBSD-ports-a18a503d3560817365bc3c43cccee7b503e07dda.zip FreeBSD-ports-a18a503d3560817365bc3c43cccee7b503e07dda.tar.gz |
Break UTF8 support on pre-5.x systems which don't implement wctype.h.
Submitted by: dd, roam
Approved by: steve
Diffstat (limited to 'net/dictd')
-rw-r--r-- | net/dictd/files/patch-break-utf8 | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/net/dictd/files/patch-break-utf8 b/net/dictd/files/patch-break-utf8 new file mode 100644 index 0000000..84e6dfa --- /dev/null +++ b/net/dictd/files/patch-break-utf8 @@ -0,0 +1,98 @@ +diff -ru ../dictd-freebsd/dictd.c ./dictd.c +--- ../dictd-freebsd/dictd.c Sun Nov 24 09:35:55 2002 ++++ ./dictd.c Sun Dec 1 22:29:55 2002 +@@ -662,6 +662,7 @@ + + static void set_utf8_mode (const char *locale) + { ++#if __FreeBSD_version > 499999 + char *locale_copy; + locale_copy = strdup (locale); + strlwr_8bit (locale_copy); +@@ -671,6 +672,9 @@ + strstr (locale_copy, "utf8"); + + free (locale_copy); ++#else ++ utf8_mode = 0; ++#endif + } + + static void init (const char *fn) +diff -ru ../dictd-freebsd/index.c ./index.c +--- ../dictd-freebsd/index.c Sun Dec 1 22:12:49 2002 ++++ ./index.c Sun Dec 1 22:25:06 2002 +@@ -111,6 +111,9 @@ + const char *src, char *dest, + int allchars_mode) + { ++#if __FreeBSD_version < 500000 ++ abort(); ++#else + wint_t ucs4_char; + + while (src && src [0]){ +@@ -130,6 +133,7 @@ + *dest = 0; + + return (src != NULL); ++#endif + } + + static void dict_table_init(void) +@@ -166,9 +170,11 @@ + p[i] = &s[2 * i]; + } + /* Sort those strings in the locale */ ++#if __FreeBSD_version > 499999 + if (utf8_mode) + qsort(p, UCHAR_MAX + 1, sizeof(p[0]), dict_table_init_compare_utf8); + else ++#endif + qsort(p, UCHAR_MAX + 1, sizeof(p[0]), dict_table_init_compare_strcoll); + + /* Extract our unordered arrays */ +@@ -1126,6 +1132,9 @@ + */ + static int stranagram_utf8 (char *str) + { ++#if __FreeBSD_version < 500000 ++ abort(); ++#else + size_t len; + char *p; + +@@ -1142,6 +1151,7 @@ + + stranagram_8bit (str, -1); + return 1; ++#endif + } + + /* makes anagram of utf-8 string 'str' */ +diff -ru ../dictd-freebsd/utf8_ucs4.c ./utf8_ucs4.c +--- ../dictd-freebsd/utf8_ucs4.c Sun Nov 24 09:35:55 2002 ++++ ./utf8_ucs4.c Sun Dec 1 22:44:40 2002 +@@ -1,3 +1,4 @@ ++#if __FreeBSD_version > 499999 + #include <wctype.h> + #include <stdlib.h> + #include <ctype.h> +@@ -210,3 +211,4 @@ + else + return (size_t) -1; + } ++#endif // __FreeBSD_version > 499999 +diff -ru ../dictd-freebsd/utf8_ucs4.h ./utf8_ucs4.h +--- ../dictd-freebsd/utf8_ucs4.h Sun Nov 24 09:35:55 2002 ++++ ./utf8_ucs4.h Sun Dec 1 22:26:15 2002 +@@ -1,3 +1,4 @@ ++#if __FreeBSD_version > 499999 + #ifndef _UTF8_UCS4_H_ + #define _UTF8_UCS4_H_ + +@@ -73,3 +74,4 @@ + __END_DECLS + + #endif // _UTF8_UCS4_H_ ++#endif // __FreeBSD_version > 499999 |