diff options
author | Andrew Shadura <andrew.shadura@collabora.co.uk> | 2018-04-24 17:14:21 +0200 |
---|---|---|
committer | Andrew Shadura <andrew.shadura@collabora.co.uk> | 2018-04-24 17:15:34 +0200 |
commit | 71a5b9867bd575f768a096f6cc19b7ba60c3ee79 (patch) | |
tree | 3c88aaa5c02e5014414e4ba9ddfb655747bb693f /src | |
parent | e8b42b1dfe64128caa544a33a866634f7e850c62 (diff) | |
parent | 313a186757edd5d49319c9b83e29a2c3864049ed (diff) |
Upstream 1.1
Diffstat (limited to 'src')
61 files changed, 322 insertions, 46 deletions
diff --git a/src/examples/guessconv/guessconv.c b/src/examples/guessconv/guessconv.c index 6777b92..7c42875 100644 --- a/src/examples/guessconv/guessconv.c +++ b/src/examples/guessconv/guessconv.c @@ -34,6 +34,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> +#include <unistd.h> #include <libguess.h> #include <iconv.h> #include <errno.h> diff --git a/src/libguess/autoconf.h.in b/src/libguess/autoconf.h.in new file mode 100644 index 0000000..403f84d --- /dev/null +++ b/src/libguess/autoconf.h.in @@ -0,0 +1,138 @@ +/* src/libguess/autoconf.h.in. Generated from configure.ac by autoheader. */ + +/* Define to 1 if the `closedir' function returns void instead of `int'. */ +#undef CLOSEDIR_VOID + +/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you have the <errno.h> header file. */ +#undef HAVE_ERRNO_H + +/* Define to 1 if you have the `gettimeofday' function. */ +#undef HAVE_GETTIMEOFDAY + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <limits.h> header file. */ +#undef HAVE_LIMITS_H + +/* Define to 1 if you have the <locale.h> header file. */ +#undef HAVE_LOCALE_H + +/* Define to 1 if you have the <memory.h> header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the `memset' function. */ +#undef HAVE_MEMSET + +/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the `printf' function. */ +#undef HAVE_PRINTF + +/* Define to 1 if you have the `setlocale' function. */ +#undef HAVE_SETLOCALE + +/* Define to 1 if you have the `snprintf' function. */ +#undef HAVE_SNPRINTF + +/* Define to 1 if you have the `sprintf' function. */ +#undef HAVE_SPRINTF + +/* Define to 1 if `stat' has the bug that it succeeds when given the + zero-length file name argument. */ +#undef HAVE_STAT_EMPTY_STRING_BUG + +/* Define to 1 if you have the <stdarg.h> header file. */ +#undef HAVE_STDARG_H + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strcasecmp' function. */ +#undef HAVE_STRCASECMP + +/* Define to 1 if you have the `strchr' function. */ +#undef HAVE_STRCHR + +/* Define to 1 if you have the `strdup' function. */ +#undef HAVE_STRDUP + +/* Define to 1 if you have the `strerror' function. */ +#undef HAVE_STRERROR + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the `strlcat' function. */ +#undef HAVE_STRLCAT + +/* Define to 1 if you have the `strlcpy' function. */ +#undef HAVE_STRLCPY + +/* Define to 1 if you have the `strndup' function. */ +#undef HAVE_STRNDUP + +/* Define to 1 if you have the `strtod' function. */ +#undef HAVE_STRTOD + +/* Define to 1 if you have the `strtol' function. */ +#undef HAVE_STRTOL + +/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the <sys/types.h> header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vsnprintf' function. */ +#undef HAVE_VSNPRINTF + +/* Define to 1 if `lstat' dereferences a symlink specified with a trailing + slash. */ +#undef LSTAT_FOLLOWS_SLASHED_SYMLINK + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the home page for this package. */ +#undef PACKAGE_URL + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const diff --git a/src/libguess/guess.scm b/src/libguess/guess.scm index 4f10ea6..7e228be 100644 --- a/src/libguess/guess.scm +++ b/src/libguess/guess.scm @@ -227,20 +227,27 @@ (init (((#x00 #x7f)) init 1.0) (((#xc2 #xdf)) 1byte_more 1.0) - (((#xe0 #xef)) 2byte_more 1.0) - (((#xf0 #xf7)) 3byte_more 1.0) - (((#xf8 #xfb)) 4byte_more 1.0) - (((#xfc #xfd)) 5byte_more 1.0)) + (((#xe0 #xe0)) 2byte_more1 1.0) + (((#xe1 #xec)) 2byte_more2 1.0) + (((#xed #xed)) 2byte_more3 1.0) + (((#xee #xef)) 2byte_more2 1.0) + (((#xf0 #xf0)) 3byte_more1 1.0) + (((#xf1 #xf3)) 3byte_more2 1.0) + (((#xf4 #xf4)) 3byte_more3 1.0)) (1byte_more (((#x80 #xbf)) init 1.0)) - (2byte_more + (2byte_more1 + (((#xa0 #xbf)) 1byte_more 1.0)) + (2byte_more2 (((#x80 #xbf)) 1byte_more 1.0)) - (3byte_more - (((#x80 #xbf)) 2byte_more 1.0)) - (4byte_more - (((#x80 #xbf)) 3byte_more 1.0)) - (5byte_more - (((#x80 #xbf)) 4byte_more 1.0))) + (2byte_more3 + (((#x80 #x9f)) 1byte_more 1.0)) + (3byte_more1 + (((#x90 #xbf)) 2byte_more2 1.0)) + (3byte_more2 + (((#x80 #xbf)) 2byte_more2 1.0)) + (3byte_more3 + (((#x80 #x8f)) 2byte_more2 1.0))) ;;; ;;; UCS-2LE diff --git a/src/libguess/guess_tab.c b/src/libguess/guess_tab.c index 73876a4..776d23e 100644 --- a/src/libguess/guess_tab.c +++ b/src/libguess/guess_tab.c @@ -152,8 +152,8 @@ static signed char guess_utf8_st[][256] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, -1, -1, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5, 5, + 6, 7, 7, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, { /* state 1byte_more */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -164,16 +164,16 @@ static signed char guess_utf8_st[][256] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, - { /* state 2byte_more */ + { /* state 2byte_more1 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -182,16 +182,16 @@ static signed char guess_utf8_st[][256] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, - { /* state 3byte_more */ + { /* state 2byte_more2 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -200,16 +200,16 @@ static signed char guess_utf8_st[][256] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, - { /* state 4byte_more */ + { /* state 2byte_more3 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -218,16 +218,16 @@ static signed char guess_utf8_st[][256] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, - { /* state 5byte_more */ + { /* state 3byte_more1 */ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -236,10 +236,46 @@ static signed char guess_utf8_st[][256] = { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }, + { /* state 3byte_more2 */ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + }, + { /* state 3byte_more3 */ + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -250,15 +286,20 @@ static signed char guess_utf8_st[][256] = { static guess_arc guess_utf8_ar[] = { { 0, 1.0 }, /* init -> init */ { 1, 1.0 }, /* init -> 1byte_more */ - { 2, 1.0 }, /* init -> 2byte_more */ - { 3, 1.0 }, /* init -> 3byte_more */ - { 4, 1.0 }, /* init -> 4byte_more */ - { 5, 1.0 }, /* init -> 5byte_more */ + { 2, 1.0 }, /* init -> 2byte_more1 */ + { 3, 1.0 }, /* init -> 2byte_more2 */ + { 4, 1.0 }, /* init -> 2byte_more3 */ + { 3, 1.0 }, /* init -> 2byte_more2 */ + { 5, 1.0 }, /* init -> 3byte_more1 */ + { 6, 1.0 }, /* init -> 3byte_more2 */ + { 7, 1.0 }, /* init -> 3byte_more3 */ { 0, 1.0 }, /* 1byte_more -> init */ - { 1, 1.0 }, /* 2byte_more -> 1byte_more */ - { 2, 1.0 }, /* 3byte_more -> 2byte_more */ - { 3, 1.0 }, /* 4byte_more -> 3byte_more */ - { 4, 1.0 }, /* 5byte_more -> 4byte_more */ + { 1, 1.0 }, /* 2byte_more1 -> 1byte_more */ + { 1, 1.0 }, /* 2byte_more2 -> 1byte_more */ + { 1, 1.0 }, /* 2byte_more3 -> 1byte_more */ + { 3, 1.0 }, /* 3byte_more1 -> 2byte_more2 */ + { 3, 1.0 }, /* 3byte_more2 -> 2byte_more2 */ + { 3, 1.0 }, /* 3byte_more3 -> 2byte_more2 */ }; static signed char guess_ucs2le_st[][256] = { diff --git a/src/libguess/libguess.h b/src/libguess/libguess.h index 7ffcb9f..0d49477 100644 --- a/src/libguess/libguess.h +++ b/src/libguess/libguess.h @@ -40,11 +40,12 @@ #include <stdlib.h> #include <string.h> -#include <mowgli.h> /* prototypes */ #ifdef LIBGUESS_CORE +#include <mowgli.h> + #include "autoconf.h" const char *guess_jp(const char *buf, int buflen); diff --git a/src/tests/harness.c b/src/tests/harness.c index a04d991..49d7fc7 100644 --- a/src/tests/harness.c +++ b/src/tests/harness.c @@ -31,6 +31,7 @@ int main(int argc, char **argv) printf("gr = %s\n", libguess_determine_encoding(buf, strlen(buf), GUESS_REGION_GR)); printf("hw = %s\n", libguess_determine_encoding(buf, strlen(buf), GUESS_REGION_HW)); printf("pl = %s\n", libguess_determine_encoding(buf, strlen(buf), GUESS_REGION_PL)); + printf("bl = %s\n", libguess_determine_encoding(buf, strlen(buf), GUESS_REGION_BL)); } fclose(fp); diff --git a/src/tests/testbench/Makefile b/src/tests/testbench/Makefile new file mode 100644 index 0000000..18d227c --- /dev/null +++ b/src/tests/testbench/Makefile @@ -0,0 +1,33 @@ +.SILENT: +.SUFFIXES: +.SUFFIXES: .gen .run .test .out +.PHONY: all run generate + +all: run + +run: + for i in */*.test ; do \ + ${MAKE} ${MFLAGS} $${i%.test}.run || exit 1; \ + done + +generate: + for i in */*.test ; do \ + ${MAKE} ${MFLAGS} $${i%.test}.gen || exit 1; \ + done + +.test.gen: + t=$<; \ + l=$${t%/*}; \ + ../guess_testharness $< | grep $$l > ${<:.test=.out} + +.test.run: + t=$<; \ + l=$${t%/*}; \ + r=$$(../guess_testharness $< | grep $$l); \ + o=$$(cat ${<:.test=.out}); \ + if [ "$$r" = "$$o" ] ; then \ + echo Pass: $${t%.test}; \ + else \ + echo Fail: $${t%.test}; \ + false; \ + fi diff --git a/src/tests/testbench/ar/cp1256.out b/src/tests/testbench/ar/cp1256.out new file mode 100644 index 0000000..9f556a5 --- /dev/null +++ b/src/tests/testbench/ar/cp1256.out @@ -0,0 +1 @@ +ar = CP1256 diff --git a/src/tests/testbench/ar/cp1256.test b/src/tests/testbench/ar/cp1256.test new file mode 100644 index 0000000..58e9330 --- /dev/null +++ b/src/tests/testbench/ar/cp1256.test @@ -0,0 +1 @@ + diff --git a/src/tests/testbench/ar/iso-8859-6.out b/src/tests/testbench/ar/iso-8859-6.out new file mode 100644 index 0000000..7d8bf8b --- /dev/null +++ b/src/tests/testbench/ar/iso-8859-6.out @@ -0,0 +1 @@ +ar = ISO-8859-6 diff --git a/src/tests/testbench/ar/iso-8859-6.test b/src/tests/testbench/ar/iso-8859-6.test new file mode 100644 index 0000000..e70db07 --- /dev/null +++ b/src/tests/testbench/ar/iso-8859-6.test @@ -0,0 +1 @@ + diff --git a/src/tests/testbench/ar/utf-8.out b/src/tests/testbench/ar/utf-8.out new file mode 100644 index 0000000..33d8550 --- /dev/null +++ b/src/tests/testbench/ar/utf-8.out @@ -0,0 +1 @@ +ar = UTF-8 diff --git a/src/tests/testbench/ar/utf-8.test b/src/tests/testbench/ar/utf-8.test new file mode 100644 index 0000000..2c4d986 --- /dev/null +++ b/src/tests/testbench/ar/utf-8.test @@ -0,0 +1 @@ +نص حكيم له سر قاطع وذو شأن عظيم مكتوب على ثوب أخضر ومغلف بجلد أزرق diff --git a/src/tests/testbench/bl/cp1257.out b/src/tests/testbench/bl/cp1257.out new file mode 100644 index 0000000..ead127a --- /dev/null +++ b/src/tests/testbench/bl/cp1257.out @@ -0,0 +1 @@ +bl = CP1257 diff --git a/src/tests/testbench/bl/cp1257.test b/src/tests/testbench/bl/cp1257.test new file mode 100644 index 0000000..937e2a9 --- /dev/null +++ b/src/tests/testbench/bl/cp1257.test @@ -0,0 +1 @@ +linkdama fechtuotojo paga sublykiojusi pragr apval arbz. Mua hipiji turpat brvi mina nogarot celofna audzjsku. See vike mlder juab rongile hpata. diff --git a/src/tests/testbench/bl/iso-8859-13.out b/src/tests/testbench/bl/iso-8859-13.out new file mode 100644 index 0000000..ead127a --- /dev/null +++ b/src/tests/testbench/bl/iso-8859-13.out @@ -0,0 +1 @@ +bl = CP1257 diff --git a/src/tests/testbench/bl/iso-8859-13.test b/src/tests/testbench/bl/iso-8859-13.test new file mode 100644 index 0000000..937e2a9 --- /dev/null +++ b/src/tests/testbench/bl/iso-8859-13.test @@ -0,0 +1 @@ +linkdama fechtuotojo paga sublykiojusi pragr apval arbz. Mua hipiji turpat brvi mina nogarot celofna audzjsku. See vike mlder juab rongile hpata. diff --git a/src/tests/testbench/bl/utf-8.out b/src/tests/testbench/bl/utf-8.out new file mode 100644 index 0000000..92abb83 --- /dev/null +++ b/src/tests/testbench/bl/utf-8.out @@ -0,0 +1 @@ +bl = UTF-8 diff --git a/src/tests/testbench/bl/utf-8.test b/src/tests/testbench/bl/utf-8.test new file mode 100644 index 0000000..aabb647 --- /dev/null +++ b/src/tests/testbench/bl/utf-8.test @@ -0,0 +1 @@ +Įlinkdama fechtuotojo špaga sublykčiojusi pragręžė apvalų arbūzą. Muļķa hipiji turpat brīvi mēģina nogaršot celofāna žņaudzējčūsku. See väike mölder jõuab rongile hüpata. diff --git a/src/tests/testbench/gr/cp1253.out b/src/tests/testbench/gr/cp1253.out new file mode 100644 index 0000000..bf43aae --- /dev/null +++ b/src/tests/testbench/gr/cp1253.out @@ -0,0 +1 @@ +gr = ISO-8859-7 diff --git a/src/tests/testbench/gr/cp1253.test b/src/tests/testbench/gr/cp1253.test new file mode 100644 index 0000000..e6cae4e --- /dev/null +++ b/src/tests/testbench/gr/cp1253.test @@ -0,0 +1 @@ + , . diff --git a/src/tests/testbench/gr/iso-8859-7.out b/src/tests/testbench/gr/iso-8859-7.out new file mode 100644 index 0000000..bf43aae --- /dev/null +++ b/src/tests/testbench/gr/iso-8859-7.out @@ -0,0 +1 @@ +gr = ISO-8859-7 diff --git a/src/tests/testbench/gr/iso-8859-7.test b/src/tests/testbench/gr/iso-8859-7.test new file mode 100644 index 0000000..e6cae4e --- /dev/null +++ b/src/tests/testbench/gr/iso-8859-7.test @@ -0,0 +1 @@ + , . diff --git a/src/tests/testbench/gr/utf-8.out b/src/tests/testbench/gr/utf-8.out new file mode 100644 index 0000000..802f7f5 --- /dev/null +++ b/src/tests/testbench/gr/utf-8.out @@ -0,0 +1 @@ +gr = UTF-8 diff --git a/src/tests/testbench/gr/utf-8.test b/src/tests/testbench/gr/utf-8.test new file mode 100644 index 0000000..ea0f07e --- /dev/null +++ b/src/tests/testbench/gr/utf-8.test @@ -0,0 +1 @@ +Τάχιστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός. diff --git a/src/tests/testbench/hw/cp1255.out b/src/tests/testbench/hw/cp1255.out new file mode 100644 index 0000000..48b7aa6 --- /dev/null +++ b/src/tests/testbench/hw/cp1255.out @@ -0,0 +1 @@ +hw = ISO-8859-8-I diff --git a/src/tests/testbench/hw/cp1255.test b/src/tests/testbench/hw/cp1255.test new file mode 100644 index 0000000..54b9b88 --- /dev/null +++ b/src/tests/testbench/hw/cp1255.test @@ -0,0 +1 @@ + diff --git a/src/tests/testbench/hw/iso-8859-8.out b/src/tests/testbench/hw/iso-8859-8.out new file mode 100644 index 0000000..48b7aa6 --- /dev/null +++ b/src/tests/testbench/hw/iso-8859-8.out @@ -0,0 +1 @@ +hw = ISO-8859-8-I diff --git a/src/tests/testbench/hw/iso-8859-8.test b/src/tests/testbench/hw/iso-8859-8.test new file mode 100644 index 0000000..54b9b88 --- /dev/null +++ b/src/tests/testbench/hw/iso-8859-8.test @@ -0,0 +1 @@ + diff --git a/src/tests/testbench/hw/utf-8.out b/src/tests/testbench/hw/utf-8.out new file mode 100644 index 0000000..8002ad2 --- /dev/null +++ b/src/tests/testbench/hw/utf-8.out @@ -0,0 +1 @@ +hw = UTF-8 diff --git a/src/tests/testbench/hw/utf-8.test b/src/tests/testbench/hw/utf-8.test new file mode 100644 index 0000000..56801d8 --- /dev/null +++ b/src/tests/testbench/hw/utf-8.test @@ -0,0 +1 @@ +דג סקרן שט בים מאוכזב ולפתע מצא חברה diff --git a/src/tests/testbench/jp/euc-jp.out b/src/tests/testbench/jp/euc-jp.out new file mode 100644 index 0000000..58aea24 --- /dev/null +++ b/src/tests/testbench/jp/euc-jp.out @@ -0,0 +1 @@ +jp = EUC-JP diff --git a/src/tests/testbench/jp/euc-jp.test b/src/tests/testbench/jp/euc-jp.test new file mode 100644 index 0000000..0f7299a --- /dev/null +++ b/src/tests/testbench/jp/euc-jp.test @@ -0,0 +1 @@ +Ȥʤᤵޤߤ褢錄롡Ҥ餤ϤơĤؤˡۤդ̡ͤΤ diff --git a/src/tests/testbench/jp/sjis.out b/src/tests/testbench/jp/sjis.out new file mode 100644 index 0000000..b9122fd --- /dev/null +++ b/src/tests/testbench/jp/sjis.out @@ -0,0 +1 @@ +jp = SJIS diff --git a/src/tests/testbench/jp/sjis.test b/src/tests/testbench/jp/sjis.test new file mode 100644 index 0000000..de52007 --- /dev/null +++ b/src/tests/testbench/jp/sjis.test @@ -0,0 +1 @@ +ƂȂ@߂܂@݂悠킽@Ђ@炢͂ā@ւɁ@قӂ˂ނʁ@̂ diff --git a/src/tests/testbench/jp/utf-8.out b/src/tests/testbench/jp/utf-8.out new file mode 100644 index 0000000..5666d1e --- /dev/null +++ b/src/tests/testbench/jp/utf-8.out @@ -0,0 +1 @@ +jp = UTF-8 diff --git a/src/tests/testbench/jp/utf-8.test b/src/tests/testbench/jp/utf-8.test new file mode 100644 index 0000000..09d0f1e --- /dev/null +++ b/src/tests/testbench/jp/utf-8.test @@ -0,0 +1 @@ +とりなくこゑす ゆめさませ みよあけわたる ひんかしを そらいろはえて おきつへに ほふねむれゐぬ もやのうち diff --git a/src/tests/testbench/pl/cp1250.out b/src/tests/testbench/pl/cp1250.out new file mode 100644 index 0000000..4c7f4fe --- /dev/null +++ b/src/tests/testbench/pl/cp1250.out @@ -0,0 +1 @@ +pl = CP1250 diff --git a/src/tests/testbench/pl/cp1250.test b/src/tests/testbench/pl/cp1250.test new file mode 100644 index 0000000..5272a95 --- /dev/null +++ b/src/tests/testbench/pl/cp1250.test @@ -0,0 +1 @@ +Pchn w t d jea lub om skrzy fig. diff --git a/src/tests/testbench/pl/iso8859-2.out b/src/tests/testbench/pl/iso8859-2.out new file mode 100644 index 0000000..da2f280 --- /dev/null +++ b/src/tests/testbench/pl/iso8859-2.out @@ -0,0 +1 @@ +pl = ISO-8859-2 diff --git a/src/tests/testbench/pl/iso8859-2.test b/src/tests/testbench/pl/iso8859-2.test new file mode 100644 index 0000000..1c6ba41 --- /dev/null +++ b/src/tests/testbench/pl/iso8859-2.test @@ -0,0 +1 @@ +Pchn w t d jea lub om skrzy fig. diff --git a/src/tests/testbench/pl/utf-8.out b/src/tests/testbench/pl/utf-8.out new file mode 100644 index 0000000..54aa6c4 --- /dev/null +++ b/src/tests/testbench/pl/utf-8.out @@ -0,0 +1 @@ +pl = UTF-8 diff --git a/src/tests/testbench/pl/utf-8.test b/src/tests/testbench/pl/utf-8.test new file mode 100644 index 0000000..7743163 --- /dev/null +++ b/src/tests/testbench/pl/utf-8.test @@ -0,0 +1 @@ +Pchnąć w tę łódź jeża lub ośm skrzyń fig. diff --git a/src/tests/testbench/ru/cp1251.out b/src/tests/testbench/ru/cp1251.out new file mode 100644 index 0000000..611e0b6 --- /dev/null +++ b/src/tests/testbench/ru/cp1251.out @@ -0,0 +1 @@ +ru = CP1251 diff --git a/src/tests/testbench/ru/cp1251.test b/src/tests/testbench/ru/cp1251.test new file mode 100644 index 0000000..d685433 --- /dev/null +++ b/src/tests/testbench/ru/cp1251.test @@ -0,0 +1 @@ +-? . ! diff --git a/src/tests/testbench/ru/cp866.out b/src/tests/testbench/ru/cp866.out new file mode 100644 index 0000000..8e74d73 --- /dev/null +++ b/src/tests/testbench/ru/cp866.out @@ -0,0 +1 @@ +ru = CP866 diff --git a/src/tests/testbench/ru/cp866.test b/src/tests/testbench/ru/cp866.test new file mode 100644 index 0000000..2a18045 --- /dev/null +++ b/src/tests/testbench/ru/cp866.test @@ -0,0 +1 @@ +-? . 㦤 業 墮! diff --git a/src/tests/testbench/ru/iso8859-5.out b/src/tests/testbench/ru/iso8859-5.out new file mode 100644 index 0000000..29a3b90 --- /dev/null +++ b/src/tests/testbench/ru/iso8859-5.out @@ -0,0 +1 @@ +ru = ISO-8859-5 diff --git a/src/tests/testbench/ru/iso8859-5.test b/src/tests/testbench/ru/iso8859-5.test new file mode 100644 index 0000000..2f61c6c --- /dev/null +++ b/src/tests/testbench/ru/iso8859-5.test @@ -0,0 +1 @@ +-? . ! diff --git a/src/tests/testbench/ru/koi8-r.out b/src/tests/testbench/ru/koi8-r.out new file mode 100644 index 0000000..611e0b6 --- /dev/null +++ b/src/tests/testbench/ru/koi8-r.out @@ -0,0 +1 @@ +ru = CP1251 diff --git a/src/tests/testbench/ru/koi8-r.test b/src/tests/testbench/ru/koi8-r.test new file mode 100644 index 0000000..0d4c069 --- /dev/null +++ b/src/tests/testbench/ru/koi8-r.test @@ -0,0 +1 @@ +-? . أ ! diff --git a/src/tests/testbench/ru/koi8-u.out b/src/tests/testbench/ru/koi8-u.out new file mode 100644 index 0000000..611e0b6 --- /dev/null +++ b/src/tests/testbench/ru/koi8-u.out @@ -0,0 +1 @@ +ru = CP1251 diff --git a/src/tests/testbench/ru/koi8-u.test b/src/tests/testbench/ru/koi8-u.test new file mode 100644 index 0000000..0d4c069 --- /dev/null +++ b/src/tests/testbench/ru/koi8-u.test @@ -0,0 +1 @@ +-? . أ ! diff --git a/src/tests/testbench/ru/utf-8.out b/src/tests/testbench/ru/utf-8.out new file mode 100644 index 0000000..761bc23 --- /dev/null +++ b/src/tests/testbench/ru/utf-8.out @@ -0,0 +1 @@ +ru = UTF-8 diff --git a/src/tests/testbench/ru/utf-8.test b/src/tests/testbench/ru/utf-8.test new file mode 100644 index 0000000..90b9a5f --- /dev/null +++ b/src/tests/testbench/ru/utf-8.test @@ -0,0 +1 @@ +Экс-граф? Плюш изъят. Бьём чуждый цен хвощ! diff --git a/src/tests/testbench/tr/cp1254.out b/src/tests/testbench/tr/cp1254.out new file mode 100644 index 0000000..a5e77ed --- /dev/null +++ b/src/tests/testbench/tr/cp1254.out @@ -0,0 +1 @@ +tr = ISO-8859-9 diff --git a/src/tests/testbench/tr/cp1254.test b/src/tests/testbench/tr/cp1254.test new file mode 100644 index 0000000..135402a --- /dev/null +++ b/src/tests/testbench/tr/cp1254.test @@ -0,0 +1 @@ +Pijamal hasta yaz ofre abucak gvendi. diff --git a/src/tests/testbench/tr/iso-8859-9.out b/src/tests/testbench/tr/iso-8859-9.out new file mode 100644 index 0000000..a5e77ed --- /dev/null +++ b/src/tests/testbench/tr/iso-8859-9.out @@ -0,0 +1 @@ +tr = ISO-8859-9 diff --git a/src/tests/testbench/tr/iso-8859-9.test b/src/tests/testbench/tr/iso-8859-9.test new file mode 100644 index 0000000..135402a --- /dev/null +++ b/src/tests/testbench/tr/iso-8859-9.test @@ -0,0 +1 @@ +Pijamal hasta yaz ofre abucak gvendi. diff --git a/src/tests/testbench/tr/utf-8.out b/src/tests/testbench/tr/utf-8.out new file mode 100644 index 0000000..3de05fa --- /dev/null +++ b/src/tests/testbench/tr/utf-8.out @@ -0,0 +1 @@ +tr = UTF-8 diff --git a/src/tests/testbench/tr/utf-8.test b/src/tests/testbench/tr/utf-8.test new file mode 100644 index 0000000..5872e13 --- /dev/null +++ b/src/tests/testbench/tr/utf-8.test @@ -0,0 +1 @@ +Pijamalı hasta yağız şoföre çabucak güvendi. |