added cp949 and cp950.

deleted win32 target files for watcom. too difficult to maintain.
added cmgr for cp949 and cp950.
This commit is contained in:
hyung-hwan 2012-02-24 09:09:45 +00:00
parent 64fbfed781
commit d7c5e50364
37 changed files with 96662 additions and 2985 deletions

View File

@ -376,12 +376,16 @@ static int fnc_sleep (qse_awk_rtx_t* run, const qse_cstr_t* fnm)
return 0;
}
static void print_err (const qse_char_t* fmt, ...)
static void print_version (void)
{
qse_printf (QSE_T("QSEAWK version %hs\n"), QSE_PACKAGE_VERSION);
}
static void print_error (const qse_char_t* fmt, ...)
{
va_list va;
qse_fprintf (QSE_STDERR, QSE_T("ERROR: "));
va_start (va, fmt);
qse_vfprintf (QSE_STDERR, fmt, va);
va_end (va);
@ -423,6 +427,7 @@ static void print_usage (QSE_FILE* out, const qse_char_t* argv0)
qse_fprintf (out, QSE_T(" %s [options] [ -- ] sourcestring [datafile]*\n"), b);
qse_fprintf (out, QSE_T("Where options are:\n"));
qse_fprintf (out, QSE_T(" -h/--help print this message\n"));
qse_fprintf (out, QSE_T(" --version print version\n"));
qse_fprintf (out, QSE_T(" -D show extra information\n"));
qse_fprintf (out, QSE_T(" -c/--call name call a function instead of entering\n"));
qse_fprintf (out, QSE_T(" the pattern-action loop\n"));
@ -431,13 +436,13 @@ static void print_usage (QSE_FILE* out, const qse_char_t* argv0)
qse_fprintf (out, QSE_T(" -F/--field-separator string set a field separator(FS)\n"));
qse_fprintf (out, QSE_T(" -v/--assign var=value add a global variable with a value\n"));
qse_fprintf (out, QSE_T(" -m/--memory-limit number limit the memory usage (bytes)\n"));
#if defined(QSE_CHAR_IS_WCHAR)
qse_fprintf (out, QSE_T(" --script-encoding string specify script encoding name\n"));
qse_fprintf (out, QSE_T(" --console-encoding string specify console encoding name\n"));
#endif
#if defined(QSE_BUILD_DEBUG)
qse_fprintf (out, QSE_T(" -X number fail the number'th memory allocation\n"));
#endif
#if defined(QSE_CHAR_IS_WCHAR)
qse_fprintf (out, QSE_T(" --script-encoding string specify script file encoding name\n"));
qse_fprintf (out, QSE_T(" --console-encoding string specify console encoding name\n"));
#endif
for (j = 0; opttab[j].name; j++)
{
@ -479,6 +484,7 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
{ QSE_T(":script-encoding"), QSE_T('\0') },
{ QSE_T(":console-encoding"), QSE_T('\0') },
{ QSE_T("version"), QSE_T('\0') },
{ QSE_T("help"), QSE_T('h') },
{ QSE_NULL, QSE_T('\0') }
};
@ -509,12 +515,14 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
qse_char_t* fs = QSE_NULL; /* field separator */
qse_char_t* call = QSE_NULL; /* function to call */
int oops_ret = -1;
memset (arg, 0, QSE_SIZEOF(*arg));
isf = (qse_char_t**) malloc (QSE_SIZEOF(*isf) * isfc);
if (isf == QSE_NULL)
{
print_err (QSE_T("out of memory\n"));
print_error (QSE_T("out of memory\n"));
goto oops;
}
@ -524,7 +532,7 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
);
if (gvm == QSE_NULL)
{
print_err (QSE_T("out of memory\n"));
print_error (QSE_T("out of memory\n"));
goto oops;
}
@ -537,9 +545,8 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
switch (c)
{
case QSE_T('h'):
if (isf != QSE_NULL) free (isf);
if (gvm != QSE_NULL) qse_htb_close (gvm);
return 0;
oops_ret = 0;
goto oops;
case QSE_T('D'):
{
@ -561,7 +568,7 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
tmp = (qse_char_t**) realloc (isf, QSE_SIZEOF(*isf)*(isfc+16));
if (tmp == QSE_NULL)
{
print_err (QSE_T("out of memory\n"));
print_error (QSE_T("out of memory\n"));
goto oops;
}
@ -594,9 +601,9 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
if (eq == QSE_NULL)
{
if (opt.lngopt)
print_err (QSE_T("no value for '%s' in '%s'\n"), opt.arg, opt.lngopt);
print_error (QSE_T("no value for '%s' in '%s'\n"), opt.arg, opt.lngopt);
else
print_err (QSE_T("no value for '%s' in '%c'\n"), opt.arg, opt.opt);
print_error (QSE_T("no value for '%s' in '%c'\n"), opt.arg, opt.opt);
goto oops;
}
@ -608,7 +615,7 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
if (qse_htb_upsert (gvm, opt.arg, qse_strlen(opt.arg), &gvmv, 1) == QSE_NULL)
{
print_err (QSE_T("out of memory\n"));
print_error (QSE_T("out of memory\n"));
goto oops;
}
break;
@ -632,6 +639,32 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
{
/* a long option with no corresponding short option */
qse_size_t i;
if (qse_strcmp(opt.lngopt, QSE_T("version")) == 0)
{
print_version ();
oops_ret = 2;
goto oops;
}
else if (qse_strcmp(opt.lngopt, QSE_T("script-encoding")) == 0)
{
arg->script_cmgr = qse_findcmgr (opt.arg);
if (arg->script_cmgr == QSE_NULL)
{
print_error (QSE_T("unknown script encoding - %s\n"), opt.arg);
goto oops;
}
}
else if (qse_strcmp(opt.lngopt, QSE_T("console-encoding")) == 0)
{
arg->console_cmgr = qse_findcmgr (opt.arg);
if (arg->console_cmgr == QSE_NULL)
{
print_error (QSE_T("unknown console encoding - %s\n"), opt.arg);
goto oops;
}
}
for (i = 0; opttab[i].name; i++)
{
if (qse_strcmp (opt.lngopt, opttab[i].name) == 0)
@ -642,40 +675,22 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
arg->opton |= opttab[i].opt;
else
{
print_err (QSE_T("invalid value for '%s' - '%s'\n"), opt.lngopt, opt.arg);
print_error (QSE_T("invalid value for '%s' - '%s'\n"), opt.lngopt, opt.arg);
goto oops;
}
break;
}
}
if (qse_strcmp(opt.lngopt, QSE_T("script-encoding")) == 0)
{
arg->script_cmgr = qse_findcmgr (opt.arg);
if (arg->script_cmgr == QSE_NULL)
{
print_err (QSE_T("unknown script encoding - %s\n"), opt.arg);
goto oops;
}
}
else if (qse_strcmp(opt.lngopt, QSE_T("console-encoding")) == 0)
{
arg->console_cmgr = qse_findcmgr (opt.arg);
if (arg->console_cmgr == QSE_NULL)
{
print_err (QSE_T("unknown console encoding - %s\n"), opt.arg);
goto oops;
}
}
break;
}
case QSE_T('?'):
{
if (opt.lngopt)
print_err (QSE_T("illegal option - '%s'\n"), opt.lngopt);
print_error (QSE_T("illegal option - '%s'\n"), opt.lngopt);
else
print_err (QSE_T("illegal option - '%c'\n"), opt.opt);
print_error (QSE_T("illegal option - '%c'\n"), opt.opt);
goto oops;
}
@ -683,9 +698,9 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
case QSE_T(':'):
{
if (opt.lngopt)
print_err (QSE_T("bad argument for '%s'\n"), opt.lngopt);
print_error (QSE_T("bad argument for '%s'\n"), opt.lngopt);
else
print_err (QSE_T("bad argument for '%c'\n"), opt.opt);
print_error (QSE_T("bad argument for '%c'\n"), opt.opt);
goto oops;
}
@ -725,7 +740,7 @@ static int comparg (int argc, qse_char_t* argv[], struct arg_t* arg)
icf = (qse_char_t**) malloc (QSE_SIZEOF(qse_char_t*)*icfc);
if (icf == QSE_NULL)
{
print_err (QSE_T("out of memory\n"));
print_error (QSE_T("out of memory\n"));
goto oops;
}
@ -756,7 +771,7 @@ oops:
if (gvm != QSE_NULL) qse_htb_close (gvm);
if (icf != QSE_NULL) free (icf);
if (isf != QSE_NULL) free (isf);
return -1;
return oops_ret;
}
static void freearg (struct arg_t* arg)
@ -772,7 +787,7 @@ static void print_awkerr (qse_awk_t* awk)
{
const qse_awk_loc_t* loc = qse_awk_geterrloc (awk);
print_err (
print_error (
QSE_T("CODE %d LINE %u COLUMN %u %s%s%s- %s\n"),
qse_awk_geterrnum(awk),
(unsigned int)loc->line,
@ -788,7 +803,7 @@ static void print_rtxerr (qse_awk_rtx_t* rtx)
{
const qse_awk_loc_t* loc = qse_awk_rtx_geterrloc (rtx);
print_err (
print_error (
QSE_T("CODE %d LINE %u COLUMN %u %s%s%s- %s\n"),
qse_awk_rtx_geterrnum(rtx),
(unsigned int)loc->line,
@ -894,6 +909,7 @@ static int awk_main (int argc, qse_char_t* argv[])
print_usage (((i == 0)? QSE_STDOUT: QSE_STDERR), argv[0]);
return i;
}
if (i == 2) return 0;
psin.type = arg.ist;
if (arg.ist == QSE_AWK_PARSESTD_STR)

View File

@ -75,6 +75,10 @@ static int g_trace = 0;
static qse_ulong_t g_memlimit = 0;
static qse_sed_t* g_sed = QSE_NULL;
static qse_cmgr_t* g_script_cmgr = QSE_NULL;
static qse_cmgr_t* g_infile_cmgr = QSE_NULL;
static qse_cmgr_t* g_outfile_cmgr = QSE_NULL;
#if defined(QSE_BUILD_DEBUG)
#include <stdlib.h>
static qse_ulong_t g_failmalloc = 0;
@ -130,6 +134,11 @@ static qse_mmgr_t xma_mmgr =
QSE_NULL
};
static void print_version (void)
{
qse_printf (QSE_T("QSESED version %hs\n"), QSE_PACKAGE_VERSION);
}
static void print_usage (QSE_FILE* out, int argc, qse_char_t* argv[])
{
const qse_char_t* b = qse_basename (argv[0]);
@ -139,26 +148,33 @@ static void print_usage (QSE_FILE* out, int argc, qse_char_t* argv[])
qse_fprintf (out, QSE_T(" %s [options] -e script [file]\n"), b);
qse_fprintf (out, QSE_T("options as follows:\n"));
qse_fprintf (out, QSE_T(" -h show this message\n"));
qse_fprintf (out, QSE_T(" -n disable auto-print\n"));
qse_fprintf (out, QSE_T(" -e script specify a script. \n"));
qse_fprintf (out, QSE_T(" -f file specify a script file\n"));
qse_fprintf (out, QSE_T(" -o file specify an output file\n"));
qse_fprintf (out, QSE_T(" -r use the extended regular expression\n"));
qse_fprintf (out, QSE_T(" -R enable non-standard extensions to the regular expression\n"));
qse_fprintf (out, QSE_T(" -i perform in-place editing. imply -s\n"));
qse_fprintf (out, QSE_T(" -s process input files separately\n"));
qse_fprintf (out, QSE_T(" -a perform strict address and label check\n"));
qse_fprintf (out, QSE_T(" -w allow extended address formats\n"));
qse_fprintf (out, QSE_T(" <start~step>,<start,+line>,<start,~line>,<0,/regex/>\n"));
qse_fprintf (out, QSE_T(" -x allow text on the same line as c, a, i\n"));
qse_fprintf (out, QSE_T(" -y ensure a newline at text end\n"));
qse_fprintf (out, QSE_T(" -h/--help show this message\n"));
qse_fprintf (out, QSE_T(" --version show version\n"));
qse_fprintf (out, QSE_T(" -n disable auto-print\n"));
qse_fprintf (out, QSE_T(" -e script specify a script\n"));
qse_fprintf (out, QSE_T(" -f file specify a script file\n"));
qse_fprintf (out, QSE_T(" -o file specify an output file\n"));
qse_fprintf (out, QSE_T(" -r use the extended regular expression\n"));
qse_fprintf (out, QSE_T(" -R enable non-standard extensions to the regular\n"));
qse_fprintf (out, QSE_T(" expression\n"));
qse_fprintf (out, QSE_T(" -i perform in-place editing. imply -s\n"));
qse_fprintf (out, QSE_T(" -s process input files separately\n"));
qse_fprintf (out, QSE_T(" -a perform strict address and label check\n"));
qse_fprintf (out, QSE_T(" -w allow extended address formats\n"));
qse_fprintf (out, QSE_T(" <start~step>,<start,+line>,<start,~line>,<0,/regex/>\n"));
qse_fprintf (out, QSE_T(" -x allow text on the same line as c, a, i\n"));
qse_fprintf (out, QSE_T(" -y ensure a newline at text end\n"));
qse_fprintf (out, QSE_T(" -m number specify the maximum amount of memory to use in bytes\n"));
#if defined(QSE_ENABLE_SEDTRACER)
qse_fprintf (out, QSE_T(" -t print command traces\n"));
qse_fprintf (out, QSE_T(" -t print command traces\n"));
#endif
qse_fprintf (out, QSE_T(" -m number specify the maximum amount of memory to use in bytes\n"));
#if defined(QSE_BUILD_DEBUG)
qse_fprintf (out, QSE_T(" -X number fail the number'th memory allocation\n"));
qse_fprintf (out, QSE_T(" -X number fail the number'th memory allocation\n"));
#endif
#if defined(QSE_CHAR_IS_WCHAR)
qse_fprintf (out, QSE_T(" --script-encoding string specify script file encoding name\n"));
qse_fprintf (out, QSE_T(" --infile-encoding string specify input file encoding name\n"));
qse_fprintf (out, QSE_T(" --outfile-encoding string specify output file encoding name\n"));
#endif
}
@ -195,7 +211,7 @@ static int add_script (const qse_char_t* str, int mem)
g_script.io[g_script.size].type = QSE_SED_IOSTD_FILE;
g_script.io[g_script.size].u.file.path =
(qse_strcmp (str, QSE_T("-")) == 0)? QSE_NULL: str;
g_script.io[g_script.size].u.file.cmgr = QSE_NULL;
g_script.io[g_script.size].u.file.cmgr = g_script_cmgr;
}
g_script.size++;
return 0;
@ -214,6 +230,18 @@ static void free_scripts (void)
static int handle_args (int argc, qse_char_t* argv[])
{
static qse_opt_lng_t lng[] =
{
#if defined(QSE_CHAR_IS_WCHAR)
{ QSE_T(":script-encoding"), QSE_T('\0') },
{ QSE_T(":infile-encoding"), QSE_T('\0') },
{ QSE_T(":outfile-encoding"), QSE_T('\0') },
#endif
{ QSE_T("version"), QSE_T('\0') },
{ QSE_T("help"), QSE_T('h') },
{ QSE_NULL, QSE_T('\0') }
};
static qse_opt_t opt =
{
#if defined(QSE_BUILD_DEBUG)
@ -221,7 +249,7 @@ static int handle_args (int argc, qse_char_t* argv[])
#else
QSE_T("hne:f:o:rRisawxytm:"),
#endif
QSE_NULL
lng
};
qse_cint_t c;
@ -319,6 +347,44 @@ static int handle_args (int argc, qse_char_t* argv[])
g_failmalloc = qse_strtoulong (opt.arg);
break;
#endif
case QSE_T('\0'):
{
if (qse_strcmp(opt.lngopt, QSE_T("version")) == 0)
{
print_version ();
goto done;
}
else if (qse_strcmp(opt.lngopt, QSE_T("script-encoding")) == 0)
{
g_script_cmgr = qse_findcmgr (opt.arg);
if (g_script_cmgr == QSE_NULL)
{
qse_fprintf (QSE_STDERR, QSE_T("ERROR: unknown script encoding - %s\n"), opt.arg);
goto oops;
}
}
else if (qse_strcmp(opt.lngopt, QSE_T("infile-encoding")) == 0)
{
g_infile_cmgr = qse_findcmgr (opt.arg);
if (g_infile_cmgr == QSE_NULL)
{
qse_fprintf (QSE_STDERR, QSE_T("ERROR: unknown input file encoding - %s\n"), opt.arg);
goto oops;
}
}
else if (qse_strcmp(opt.lngopt, QSE_T("outfile-encoding")) == 0)
{
g_outfile_cmgr = qse_findcmgr (opt.arg);
if (g_outfile_cmgr == QSE_NULL)
{
qse_fprintf (QSE_STDERR, QSE_T("ERROR: unknown output file encoding - %s\n"), opt.arg);
goto oops;
}
}
break;
}
}
}
@ -665,7 +731,7 @@ int sed_main (int argc, qse_char_t* argv[])
in[0].u.file.path =
(qse_strcmp (argv[g_infile_pos], QSE_T("-")) == 0)?
QSE_NULL: argv[g_infile_pos];
in[0].u.file.cmgr = QSE_NULL;
in[0].u.file.cmgr = g_infile_cmgr;
in[1].type = QSE_SED_IOSTD_NULL;
tmpl_tmpfile = QSE_NULL;
@ -781,7 +847,7 @@ int sed_main (int argc, qse_char_t* argv[])
in[i].u.file.path =
(qse_strcmp (argv[g_infile_pos], QSE_T("-")) == 0)?
QSE_NULL: argv[g_infile_pos];
in[i].u.file.cmgr = QSE_NULL;
in[i].u.file.cmgr = g_infile_cmgr;
g_infile_pos++;
}
@ -794,12 +860,22 @@ int sed_main (int argc, qse_char_t* argv[])
out.u.file.path =
(qse_strcmp (g_output_file, QSE_T("-")) == 0)?
QSE_NULL: g_output_file;
out.u.file.cmgr = QSE_NULL;
out.u.file.cmgr = g_outfile_cmgr;
}
else
{
/* arrange to be able to specify cmgr.
* if not for cmgr, i could simply pass QSE_NULL
* to qse_sed_execstd() below like
* xx = qse_sed_execstd (sed, in, QSE_NULL); */
out.type = QSE_SED_IOSTD_FILE;
out.u.file.path = QSE_NULL;
out.u.file.cmgr = g_outfile_cmgr;
}
g_sed = sed;
set_intr_run ();
xx = qse_sed_execstd (sed, in, (g_output_file? &out: QSE_NULL));
xx = qse_sed_execstd (sed, in, &out);
if (in) QSE_MMGR_FREE (qse_sed_getmmgr(sed), in);
unset_intr_run ();
g_sed = QSE_NULL;

4
qse/configure vendored
View File

@ -2645,6 +2645,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers include/qse/config.h"
ac_aux_dir=
@ -18563,7 +18564,7 @@ QSE_PROJECT_AUTHOR="${PACKAGE_BUGREPORT}"
QSE_PROJECT_URL="${PACKAGE_URL}"
ac_config_files="$ac_config_files Makefile README include/Makefile include/qse/Makefile include/qse/cmn/Makefile include/qse/awk/Makefile include/qse/cut/Makefile include/qse/sed/Makefile include/qse/stx/Makefile include/qse/net/Makefile lib/Makefile lib/cmn/Makefile lib/awk/Makefile lib/cut/Makefile lib/sed/Makefile lib/stx/Makefile lib/net/Makefile cmd/Makefile cmd/awk/Makefile cmd/cut/Makefile cmd/fs/Makefile cmd/sed/Makefile cmd/stx/Makefile samples/Makefile samples/cmn/Makefile samples/awk/Makefile samples/cut/Makefile samples/sed/Makefile samples/net/Makefile regress/Makefile regress/awk/Makefile regress/awk/regress.sh regress/sed/Makefile regress/sed/regress.sh doc/Makefile doc/page/Makefile doc/image/Makefile doc/Doxyfile"
ac_config_files="$ac_config_files Makefile README include/Makefile include/qse/Makefile include/qse/cmn/Makefile include/qse/awk/Makefile include/qse/cut/Makefile include/qse/sed/Makefile include/qse/stx/Makefile include/qse/net/Makefile lib/Makefile lib/cmn/Makefile lib/awk/Makefile lib/cut/Makefile lib/sed/Makefile lib/stx/Makefile lib/net/Makefile cmd/Makefile cmd/awk/Makefile cmd/cut/Makefile cmd/fs/Makefile cmd/sed/Makefile cmd/stx/Makefile samples/Makefile samples/cmn/Makefile samples/awk/Makefile samples/cut/Makefile samples/sed/Makefile samples/net/Makefile regress/Makefile regress/awk/Makefile regress/awk/regress.sh regress/sed/Makefile regress/sed/regress.sh doc/Makefile doc/page/Makefile doc/image/Makefile doc/Doxyfile tools/Makefile"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
@ -19726,6 +19727,7 @@ do
"doc/page/Makefile") CONFIG_FILES="$CONFIG_FILES doc/page/Makefile" ;;
"doc/image/Makefile") CONFIG_FILES="$CONFIG_FILES doc/image/Makefile" ;;
"doc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/Doxyfile" ;;
"tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac

View File

@ -1,7 +1,11 @@
dnl AC_PREREQ([2.67])
dnl Make sure you change the version information
dnl in include/qse/conf_*.h whenever you change the version
dnl here. Those files don't depend on autoconf, thus requiring
dnl manual change.
AC_INIT([qse],[0.5.6],[Chung, Hyung-Hwan (hyunghwan.chung@gmail.com)],[],[http://code.abiyo.net/@qse])
AC_CONFIG_HEADER([include/qse/config.h])
AC_CONFIG_AUX_DIR([ac])
AC_CONFIG_MACRO_DIR([m4])
@ -365,6 +369,7 @@ AC_CONFIG_FILES([
doc/page/Makefile
doc/image/Makefile
doc/Doxyfile
tools/Makefile
])
AC_OUTPUT

View File

@ -3,6 +3,8 @@ pkgincludedir = $(includedir)/qse/cmn
pkginclude_HEADERS = \
alg.h \
chr.h \
cp949.h \
cp950.h \
dll.h \
env.h \
fio.h \

View File

@ -51,11 +51,11 @@ CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
SOURCES =
DIST_SOURCES =
am__pkginclude_HEADERS_DIST = alg.h chr.h dll.h env.h fio.h fma.h \
fmt.h fs.h gdl.h htb.h hton.h ipad.h lda.h main.h map.h mbwc.h \
mem.h nwad.h oht.h opt.h path.h pio.h pma.h rbt.h rex.h sio.h \
sll.h slmb.h stdio.h str.h time.h tio.h tre.h utf8.h xma.h \
Mmgr.hpp StdMmgr.hpp Mmged.hpp
am__pkginclude_HEADERS_DIST = alg.h chr.h cp949.h cp950.h dll.h env.h \
fio.h fma.h fmt.h fs.h gdl.h htb.h hton.h ipad.h lda.h main.h \
map.h mbwc.h mem.h nwad.h oht.h opt.h path.h pio.h pma.h rbt.h \
rex.h sio.h sll.h slmb.h stdio.h str.h time.h tio.h tre.h \
utf8.h xma.h Mmgr.hpp StdMmgr.hpp Mmged.hpp
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
@ -229,11 +229,11 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
pkginclude_HEADERS = alg.h chr.h dll.h env.h fio.h fma.h fmt.h fs.h \
gdl.h htb.h hton.h ipad.h lda.h main.h map.h mbwc.h mem.h \
nwad.h oht.h opt.h path.h pio.h pma.h rbt.h rex.h sio.h sll.h \
slmb.h stdio.h str.h time.h tio.h tre.h utf8.h xma.h \
$(am__append_1)
pkginclude_HEADERS = alg.h chr.h cp949.h cp950.h dll.h env.h fio.h \
fma.h fmt.h fs.h gdl.h htb.h hton.h ipad.h lda.h main.h map.h \
mbwc.h mem.h nwad.h oht.h opt.h path.h pio.h pma.h rbt.h rex.h \
sio.h sll.h slmb.h stdio.h str.h time.h tio.h tre.h utf8.h \
xma.h $(am__append_1)
all: all-am
.SUFFIXES:

103
qse/include/qse/cmn/cp949.h Normal file
View File

@ -0,0 +1,103 @@
/*
* $Id$
*
Copyright 2006-2011 Chung, Hyung-Hwan.
This file is part of QSE.
QSE is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
QSE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _QSE_CMN_CP949_H_
#define _QSE_CMN_CP949_H_
#include <qse/types.h>
#include <qse/macros.h>
/** @file
* This file provides functions, types, macros for cp949 conversion.
*/
/**
* The QSE_CP949LEN_MAX macro defines the maximum number of bytes
* needed to form a single unicode character.
*/
#define QSE_CP949LEN_MAX 2
#ifdef __cplusplus
extern "C" {
#endif
/**
* The qse_uctocp949() function converts a unicode character to a cp949 sequence.
* @return
* - 0 is returned if @a uc is invalid.
* - An integer greater than @a size is returned if the @a cp949 sequence buffer
* is not #QSE_NULL and not large enough. This integer is actually the number
* of bytes needed.
* - If @a cp949 is #QSE_NULL, the number of bytes that would have been stored
* into @a cp949 if it had not been #QSE_NULL is returned.
* - An integer between 1 and size inclusive is returned in all other cases.
* @note
* This function doesn't check invalid unicode code points and performs
* conversion compuationally.
*/
qse_size_t qse_uctocp949 (
qse_wchar_t uc,
qse_mchar_t* cp949,
qse_size_t size
);
/**
* The qse_cp949touc() function converts a cp949 sequence to a unicode character.
* @return
* - 0 is returned if the @a cp949 sequence is invalid.
* - An integer greater than @a size is returned if the @a cp949 sequence is
* not complete.
* - An integer between 1 and size inclusive is returned in all other cases.
*/
qse_size_t qse_cp949touc (
const qse_mchar_t* cp949,
qse_size_t size,
qse_wchar_t* uc
);
/**
* The qse_cp949lenmax() function scans at most @a size bytes from the @a cp949
* sequence and returns the number of bytes needed to form a single unicode
* character.
* @return
* - 0 is returned if the @a cp949 sequence is invalid.
* - An integer greater than @a size is returned if the @a cp949 sequence is
* not complete.
* - An integer between 1 and size inclusive is returned in all other cases.
*/
qse_size_t qse_cp949len (
const qse_mchar_t* cp949,
qse_size_t size
);
/**
* The qse_cp949lenmax() function returns the maximum number of bytes needed
* to form a single unicode character. Use #QSE_CP949LEN_MAX if you need a
* compile-time constant.
*/
qse_size_t qse_cp949lenmax (
void
);
#ifdef __cplusplus
}
#endif
#endif

103
qse/include/qse/cmn/cp950.h Normal file
View File

@ -0,0 +1,103 @@
/*
* $Id$
*
Copyright 2006-2011 Chung, Hyung-Hwan.
This file is part of QSE.
QSE is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
QSE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef _QSE_CMN_CP950_H_
#define _QSE_CMN_CP950_H_
#include <qse/types.h>
#include <qse/macros.h>
/** @file
* This file provides functions, types, macros for cp950 conversion.
*/
/**
* The QSE_CP950LEN_MAX macro defines the maximum number of bytes
* needed to form a single unicode character.
*/
#define QSE_CP950LEN_MAX 2
#ifdef __cplusplus
extern "C" {
#endif
/**
* The qse_uctocp950() function converts a unicode character to a cp950 sequence.
* @return
* - 0 is returned if @a uc is invalid.
* - An integer greater than @a size is returned if the @a cp950 sequence buffer
* is not #QSE_NULL and not large enough. This integer is actually the number
* of bytes needed.
* - If @a cp950 is #QSE_NULL, the number of bytes that would have been stored
* into @a cp950 if it had not been #QSE_NULL is returned.
* - An integer between 1 and size inclusive is returned in all other cases.
* @note
* This function doesn't check invalid unicode code points and performs
* conversion compuationally.
*/
qse_size_t qse_uctocp950 (
qse_wchar_t uc,
qse_mchar_t* cp950,
qse_size_t size
);
/**
* The qse_cp950touc() function converts a cp950 sequence to a unicode character.
* @return
* - 0 is returned if the @a cp950 sequence is invalid.
* - An integer greater than @a size is returned if the @a cp950 sequence is
* not complete.
* - An integer between 1 and size inclusive is returned in all other cases.
*/
qse_size_t qse_cp950touc (
const qse_mchar_t* cp950,
qse_size_t size,
qse_wchar_t* uc
);
/**
* The qse_cp950lenmax() function scans at most @a size bytes from the @a cp950
* sequence and returns the number of bytes needed to form a single unicode
* character.
* @return
* - 0 is returned if the @a cp950 sequence is invalid.
* - An integer greater than @a size is returned if the @a cp950 sequence is
* not complete.
* - An integer between 1 and size inclusive is returned in all other cases.
*/
qse_size_t qse_cp950len (
const qse_mchar_t* cp950,
qse_size_t size
);
/**
* The qse_cp950lenmax() function returns the maximum number of bytes needed
* to form a single unicode character. Use #QSE_CP950LEN_MAX if you need a
* compile-time constant.
*/
qse_size_t qse_cp950lenmax (
void
);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -37,8 +37,10 @@ extern "C" {
/* --------------------------------------------------- */
/* BUILTIN CMGR */
/* --------------------------------------------------- */
extern qse_cmgr_t* qse_utf8cmgr;
extern qse_cmgr_t* qse_slmbcmgr;
extern qse_cmgr_t* qse_utf8cmgr;
extern qse_cmgr_t* qse_cp949cmgr;
extern qse_cmgr_t* qse_cp950cmgr;
/**
* The qse_getfindcmgr() function find a builtin cmgr matching a given

View File

@ -86,3 +86,10 @@
# error Define the size of various data types.
#endif
/* make sure you change these when you change
* the version in configure.ac */
#define QSE_PACKAGE_VERSION "0.5.6"
#define QSE_PACKAGE_VERSION_MAJOR 0
#define QSE_PACKAGE_VERSION_MINOR 5
#define QSE_PACKAGE_VERSION_PATCH 6

View File

@ -141,3 +141,10 @@ _M_X64 x64 platform
#else
# error Define the size of various data types.
#endif
/* make sure you change these when you change
* the version in configure.ac */
#define QSE_PACKAGE_VERSION "0.5.6"
#define QSE_PACKAGE_VERSION_MAJOR 0
#define QSE_PACKAGE_VERSION_MINOR 5
#define QSE_PACKAGE_VERSION_PATCH 6

View File

@ -63,3 +63,10 @@
# error Define the size of various data types.
#endif
/* make sure you change these when you change
* the version in configure.ac */
#define QSE_PACKAGE_VERSION "0.5.6"
#define QSE_PACKAGE_VERSION_MAJOR 0
#define QSE_PACKAGE_VERSION_MINOR 5
#define QSE_PACKAGE_VERSION_PATCH 6

View File

@ -101,3 +101,12 @@
#endif
#define QSE_SIZEOF_WCHAR_T 4
/* make sure you change these when you change
* the version in configure.ac */
#define QSE_PACKAGE_VERSION "0.5.6"
#define QSE_PACKAGE_VERSION_MAJOR 0
#define QSE_PACKAGE_VERSION_MINOR 5
#define QSE_PACKAGE_VERSION_PATCH 6

View File

@ -28,7 +28,7 @@ static const qse_char_t* assop_str[] =
QSE_T("-="),
QSE_T("*="),
QSE_T("/="),
QSE_T("//="),
QSE_T("\\="),
QSE_T("%="),
QSE_T("**="),
QSE_T(">>="),
@ -62,7 +62,7 @@ static const qse_char_t* binop_str[][2] =
{ QSE_T("-"), QSE_T("-") },
{ QSE_T("*"), QSE_T("*") },
{ QSE_T("/"), QSE_T("/") },
{ QSE_T("//"), QSE_T("//") },
{ QSE_T("\\"), QSE_T("\\") },
{ QSE_T("%"), QSE_T("%") },
{ QSE_T("**"), QSE_T("**") },

View File

@ -9,6 +9,8 @@ AM_CPPFLAGS = \
lib_LTLIBRARIES = libqsecmn.la
noinst_HEADERS = \
cp949.h \
cp950.h \
fs.h \
mem.h \
syscall.h \
@ -25,6 +27,8 @@ libqsecmn_la_SOURCES = \
alg-sort.c \
assert.c \
chr.c \
cp949.c \
cp950.c \
dll.c \
env.c \
gdl.c \

View File

@ -80,11 +80,11 @@ am__installdirs = "$(DESTDIR)$(libdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libqsecmn_la_LIBADD =
am_libqsecmn_la_OBJECTS = alg-rand.lo alg-search.lo alg-sort.lo \
assert.lo chr.lo dll.lo env.lo gdl.lo htb.lo lda.lo fio.lo \
fma.lo fmt.lo fs.lo fs-err.lo fs-move.lo hton.lo ipad.lo \
main.lo mbwc.lo mbwc-str.lo mem.lo nwad.lo oht.lo opt.lo \
path-basename.lo path-canon.lo pio.lo pma.lo rbt.lo rex.lo \
sio.lo sll.lo slmb.lo stdio.lo str-beg.lo str-cat.lo \
assert.lo chr.lo cp949.lo cp950.lo dll.lo env.lo gdl.lo htb.lo \
lda.lo fio.lo fma.lo fmt.lo fs.lo fs-err.lo fs-move.lo hton.lo \
ipad.lo main.lo mbwc.lo mbwc-str.lo mem.lo nwad.lo oht.lo \
opt.lo path-basename.lo path-canon.lo pio.lo pma.lo rbt.lo \
rex.lo sio.lo sll.lo slmb.lo stdio.lo str-beg.lo str-cat.lo \
str-chr.lo str-cnv.lo str-cmp.lo str-cpy.lo str-del.lo \
str-dup.lo str-dynm.lo str-dynw.lo str-end.lo str-excl.lo \
str-fcpy.lo str-fnmat.lo str-incl.lo str-len.lo str-pac.lo \
@ -288,6 +288,8 @@ AM_CPPFLAGS = \
lib_LTLIBRARIES = libqsecmn.la $(am__append_1)
noinst_HEADERS = \
cp949.h \
cp950.h \
fs.h \
mem.h \
syscall.h \
@ -304,6 +306,8 @@ libqsecmn_la_SOURCES = \
alg-sort.c \
assert.c \
chr.c \
cp949.c \
cp950.c \
dll.c \
env.c \
gdl.c \
@ -465,6 +469,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/alg-sort.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assert.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/chr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cp949.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cp950.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dll.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fio.Plo@am__quote@

86
qse/lib/cmn/cp949.c Normal file
View File

@ -0,0 +1,86 @@
/*
* $Id$
*
Copyright 2006-2011 Chung, Hyung-Hwan.
This file is part of QSE.
QSE is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
QSE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
*/
#include <qse/cmn/cp949.h>
#include "cp949.h"
qse_size_t qse_uctocp949 (qse_wchar_t uc, qse_mchar_t* cp949, qse_size_t size)
{
if (uc & ~(qse_wchar_t)0x7F)
{
if (uc >= 0xffffu) return 0; /* illegal character */
if (size >= 2)
{
qse_uint16_t mb;
mb = wctomb (uc);
if (mb == 0xffffu) return 0; /* illegal character */
cp949[0] = (mb >> 8);
cp949[1] = (mb & 0xFF);
}
return 2;
}
else
{
/* uc >= 0 && uc <= 127 */
if (size >= 1) *cp949 = uc;
return 1; /* ok or buffer to small */
}
}
qse_size_t qse_cp949touc (
const qse_mchar_t* cp949, qse_size_t size, qse_wchar_t* uc)
{
QSE_ASSERT (cp949 != QSE_NULL);
QSE_ASSERT (size > 0);
QSE_ASSERT (QSE_SIZEOF(qse_mchar_t) == 1);
QSE_ASSERT (QSE_SIZEOF(qse_wchar_t) >= 2);
if (cp949[0] & 0x80)
{
if (size >= 2)
{
qse_uint16_t wc;
wc = mbtowc ((((qse_uint16_t)(qse_uint8_t)cp949[0]) << 8) | (qse_uint8_t)cp949[1]);
if (wc == 0xffffu) return 0; /* illegal sequence */
if (uc) *uc = wc;
}
return 2; /* ok or incomplete sequence */
}
else
{
if (uc) *uc = cp949[0];
return 1;
}
}
qse_size_t qse_cp949len (const qse_mchar_t* cp949, qse_size_t size)
{
return qse_cp949touc (cp949, size, QSE_NULL);
}
qse_size_t qse_cp949lenmax (void)
{
return QSE_CP949LEN_MAX;
}

56989
qse/lib/cmn/cp949.h Normal file

File diff suppressed because it is too large Load Diff

86
qse/lib/cmn/cp950.c Normal file
View File

@ -0,0 +1,86 @@
/*
* $Id$
*
Copyright 2006-2011 Chung, Hyung-Hwan.
This file is part of QSE.
QSE is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
QSE is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
*/
#include <qse/cmn/cp950.h>
#include "cp950.h"
qse_size_t qse_uctocp950 (qse_wchar_t uc, qse_mchar_t* cp950, qse_size_t size)
{
if (uc & ~(qse_wchar_t)0x7F)
{
if (uc >= 0xffffu) return 0; /* illegal character */
if (size >= 2)
{
qse_uint16_t mb;
mb = wctomb (uc);
if (mb == 0xffffu) return 0; /* illegal character */
cp950[0] = (mb >> 8);
cp950[1] = (mb & 0xFF);
}
return 2;
}
else
{
/* uc >= 0 && uc <= 127 */
if (size >= 1) *cp950 = uc;
return 1; /* ok or buffer to small */
}
}
qse_size_t qse_cp950touc (
const qse_mchar_t* cp950, qse_size_t size, qse_wchar_t* uc)
{
QSE_ASSERT (cp950 != QSE_NULL);
QSE_ASSERT (size > 0);
QSE_ASSERT (QSE_SIZEOF(qse_mchar_t) == 1);
QSE_ASSERT (QSE_SIZEOF(qse_wchar_t) >= 2);
if (cp950[0] & 0x80)
{
if (size >= 2)
{
qse_uint16_t wc;
wc = mbtowc ((((qse_uint16_t)(qse_uint8_t)cp950[0]) << 8) | (qse_uint8_t)cp950[1]);
if (wc == 0xffffu) return 0; /* illegal sequence */
if (uc) *uc = wc;
}
return 2; /* ok or incomplete sequence */
}
else
{
if (uc) *uc = cp950[0];
return 1;
}
}
qse_size_t qse_cp950len (const qse_mchar_t* cp950, qse_size_t size)
{
return qse_cp950touc (cp950, size, QSE_NULL);
}
qse_size_t qse_cp950lenmax (void)
{
return QSE_CP950LEN_MAX;
}

38131
qse/lib/cmn/cp950.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -21,6 +21,8 @@
#include <qse/cmn/mbwc.h>
#include <qse/cmn/slmb.h>
#include <qse/cmn/utf8.h>
#include <qse/cmn/cp949.h>
#include <qse/cmn/cp950.h>
#include <qse/cmn/str.h>
/* TODO: there is no guarantee that slwc is a unicode charater or vice versa.
@ -40,11 +42,23 @@ static qse_cmgr_t builtin_cmgr[] =
{
qse_utf8touc,
qse_uctoutf8
},
{
qse_cp949touc,
qse_uctocp949
},
{
qse_cp950touc,
qse_uctocp950
}
};
qse_cmgr_t* qse_slmbcmgr = &builtin_cmgr[0];
qse_cmgr_t* qse_utf8cmgr = &builtin_cmgr[1];
qse_cmgr_t* qse_cp949cmgr = &builtin_cmgr[2];
qse_cmgr_t* qse_cp950cmgr = &builtin_cmgr[3];
static qse_cmgr_t* dfl_cmgr = &builtin_cmgr[0];
static qse_cmgr_finder_t cmgr_finder = QSE_NULL;
@ -72,6 +86,8 @@ qse_cmgr_t* qse_findcmgr (const qse_char_t* name)
if (qse_strcmp(name, QSE_T("")) == 0) return dfl_cmgr;
if (qse_strcmp(name, QSE_T("utf8")) == 0) return qse_utf8cmgr;
if (qse_strcmp(name, QSE_T("cp949")) == 0) return qse_cp949cmgr;
if (qse_strcmp(name, QSE_T("cp950")) == 0) return qse_cp950cmgr;
if (qse_strcmp(name, QSE_T("slmb")) == 0) return qse_slmbcmgr;
}
return QSE_NULL;

View File

@ -315,6 +315,7 @@ static qse_char_t* __adjust_format (const qse_char_t* format)
#if defined(_WIN32) && !defined(__WATCOMC__)
ADDC (buf, ch);
#else
ADDC (buf, QSE_MT('h'));
ADDC (buf, QSE_TOLOWER(ch));
#endif
#endif

View File

@ -810,8 +810,11 @@ qse_fprintf (QSE_STDERR, QSE_T("Error: select returned failure\n"));
{
/* if client.accepted() returns 0, it is called
* again next time. */
int x;
QSE_ASSERT (httpd->cbs->client.accepted != QSE_NULL);
int x = httpd->cbs->client.accepted (httpd, client); /* is this correct???? what if ssl handshaking got stalled because writing failed in SSL_accept()? */
x = httpd->cbs->client.accepted (httpd, client); /* is this correct???? what if ssl handshaking got stalled because writing failed in SSL_accept()? */
if (x >= 1) client->ready = 1;
else if (x <= -1)
{

View File

@ -1509,31 +1509,35 @@ qse_mbsxncpy (tmp, QSE_COUNTOF(tmp), qse_htre_getqpathptr(req), qse_htre_getqpat
qse_env_insertmbs (env, QSE_MT("REMOTE_PORT"), port);
}
if (client->local_addr.in4.sin_family == AF_INET)
{
qse_mchar_t ipaddr[128];
inet_ntop (client->local_addr.in4.sin_family, &client->local_addr.in4.sin_addr, ipaddr, QSE_COUNTOF(ipaddr));
qse_env_insertmbs (env, QSE_MT("SERVER_ADDR"), ipaddr);
}
else
#if defined(AF_INET6)
if (client->local_addr.in4.sin_family == AF_INET6)
{
qse_mchar_t ipaddr[128];
inet_ntop (client->local_addr.in6.sin6_family, &client->local_addr.in6.sin6_addr, ipaddr, QSE_COUNTOF(ipaddr));
qse_env_insertmbs (env, QSE_MT("SERVER_ADDR"), ipaddr);
}
if (client->remote_addr.in4.sin_family == AF_INET)
else
#endif
{
qse_mchar_t ipaddr[128];
inet_ntop (client->remote_addr.in4.sin_family, &client->remote_addr.in4.sin_addr, ipaddr, QSE_COUNTOF(ipaddr));
qse_env_insertmbs (env, QSE_MT("REMOTE_ADDR"), ipaddr);
inet_ntop (client->local_addr.in4.sin_family, &client->local_addr.in4.sin_addr, ipaddr, QSE_COUNTOF(ipaddr));
qse_env_insertmbs (env, QSE_MT("SERVER_ADDR"), ipaddr);
}
else
#if defined(AF_INET6)
if (client->remote_addr.in4.sin_family == AF_INET6)
{
qse_mchar_t ipaddr[128];
inet_ntop (client->remote_addr.in6.sin6_family, &client->remote_addr.in6.sin6_addr, ipaddr, QSE_COUNTOF(ipaddr));
qse_env_insertmbs (env, QSE_MT("REMOTE_ADDR"), ipaddr);
}
else
#endif
{
qse_mchar_t ipaddr[128];
inet_ntop (client->remote_addr.in4.sin_family, &client->remote_addr.in4.sin_addr, ipaddr, QSE_COUNTOF(ipaddr));
qse_env_insertmbs (env, QSE_MT("REMOTE_ADDR"), ipaddr);
}
{
qse_mchar_t proto[32];

23
qse/tools/gencp.sh Normal file
View File

@ -0,0 +1,23 @@
#
# get the following unicode mapping files
# from unicode.org before executing this script.
# CP932.TXT CP936.TXT CP949.TXT CP950.TXT
#
gencp() {
name="$1"
max_gap="$2"
qseawk -vMAX_GAP="${max_gap}" --extraops=on -f gencp1.awk "`echo $name | tr '[a-z]' '[A-Z]'`.TXT" > "${name}.h" 2>/dev/null
ln -sf "${name}.h" x.h
cc -o testcp testcp.c
qseawk --extraops=on -f gencp0.awk "`echo $name | tr '[a-z]' '[A-Z]'`.TXT" > "${name}.0" 2>/dev/null
./testcp > "${name}.1"
diff -q "${name}.0" "${name}.1" && echo "[$name] OK" || echo "[$name] NOT OK"
}
gencp cp932 64 # ms shift-jis
gencp cp936 96 # ms gbk
gencp cp949 128 # ms euc-kr
gencp cp950 64 # ms big5

54
qse/tools/gencp0.awk Normal file
View File

@ -0,0 +1,54 @@
#global mb_min, mb_max, wc_min, wc_max, mb, wc;
BEGIN {
mb_min = 0xFFFFFFFF;
mb_max = 0;
wc_min = 0xFFFFFFFF;
wc_max = 0;
}
!/^[[:space:]]*#/ {
if (!($1 ~ /^0x/ && $2 ~ /^0x/)) next;
mb = int($1);
wc = int($2);
if (mb < 128)
{
if (mb != wc)
{
print "ERROR: mb != wc where mb < 128. i can't handle this encoding map";
exit 1;
}
next;
}
if (mb < mb_min) mb_min = mb;
if (mb > mb_max) mb_max = mb;
if (wc < wc_min) wc_min = wc;
if (wc > mb_max) wc_max = wc;
# print mb, wc;
#mb_arr[mb] = wc;
#wc_arr[wc] = mb;
if (mb in mb_arr)
printf ("WARNING: 0x%04X already in mb_arr. old value = 0x%04X, this value = 0x%04x\n", mb, mb_arr[mb], wc) > "/dev/stderr";
else
mb_arr[mb] = wc;
if (wc in wc_arr)
printf ("WARNING: 0x%04X already in mb_arr. old value = 0x%04X, this value = 0x%04x\n", wc, wc_arr[wc], mb) > "/dev/stderr";
else
wc_arr[wc] = mb;
}
END {
#for (i = mb_min; i <= mb_max; i++)
for (mb = 0; mb < 0xffff; mb++)
{
#wc = (i in mb_arr)? mb_arr[i]: 0xffff;
if (mb <= 127) wc = mb;
else wc = (mb in mb_arr)? mb_arr[mb]: 0xffff;
printf ("0x%04x 0x%04x\n", mb, wc);
}
}

201
qse/tools/gencp1.awk Normal file
View File

@ -0,0 +1,201 @@
#global mb_min, mb_max, wc_min, wc_max, mb, wc;
BEGIN {
if (ARGC != 2)
{
ERROR_CODE=1
exit 1;
}
mb_min = 0xFFFFFFFF;
mb_max = 0;
wc_min = 0xFFFFFFFF;
wc_max = 0;
if (MAX_GAP <= 0) MAX_GAP=64
}
!/^[[:space:]]*#/ {
if (!($1 ~ /^0x/ && $2 ~ /^0x/)) next;
mb = int($1);
wc = int($2);
if (mb < 128)
{
if (mb != wc)
{
ERROR_CODE = 2;
exit 1;
}
next;
}
if (mb < mb_min) mb_min = mb;
if (mb > mb_max) mb_max = mb;
if (wc < wc_min) wc_min = wc;
if (wc > wc_max) wc_max = wc;
if (mb in mb_arr)
printf ("WARNING: 0x%04X already in mb_arr. old value = 0x%04X, this value = 0x%04x\n", mb, mb_arr[mb], wc) > "/dev/stderr";
else
mb_arr[mb] = wc;
if (wc in wc_arr)
printf ("WARNING: 0x%04X already in wc_arr. old value = 0x%04X, this value = 0x%04x\n", wc, wc_arr[wc], mb) > "/dev/stderr";
else
wc_arr[wc] = mb;
}
function emit_simple (name, min, max, arr) {
printf ("static qse_uint16_t %s_tab[] =\n", name);
printf ("{\n");
for (i = min; i <= max; i++)
{
wc = (i in arr)? arr[i]: 0xffff;
printf ("\t0x%04xu", wc);
if (i < max) printf (",\n");
else printf ("\n");
}
printf ("};\n");
printf ("static qse_uint16_t %s (qse_uint16_t c)\n{\n", name);
#printf ("\tif (c >= 0 && c <= 127) return c;\n");
printf ("\tif (c >= 0x%04xu && c <= 0x%04xu) return %s_tab[c - 0x%04xu];\n", min, max, name, min);
printf ("\treturn 0xffffu;\n");
printf ("};\n");
}
function emit_bsearch (name, min, max, arr) {
prev_in_arr = 0;
prev_no_in_arr = 0;
seg_no = 0;
for (i = min; i <= max; i++)
{
if (i in arr)
{
if (prev_in_arr <= 0)
{
if (prev_not_in_arr > 0 && prev_not_in_arr <= MAX_GAP)
{
# if the segment whole is not large enough
# combine two segments together
for (j = 0; j < prev_not_in_arr; j++)
printf (",\n\t0xffffu");
seg_last[seg_no] = i;
printf (",\n");
}
else
{
if (prev_not_in_arr > 0)
{
printf ("\n}; /* range 0x%x - 0x%x, total %d chars */\n",
seg_first[seg_no], seg_last[seg_no],
seg_last[seg_no] - seg_first[seg_no] + 1);
seg_no++;
}
printf ("static qse_uint16_t %s_seg_%d[] =\n{\n", name, seg_no);
seg_first[seg_no] = i;
seg_last[seg_no] = i;
}
}
else
{
seg_last[seg_no] = i;
printf (",\n");
}
printf ("\t0x%04xu /* 0x%04x */", arr[i], i);
prev_in_arr++;
prev_not_in_arr = 0;
}
else
{
# if (prev_in_arr > 0)
# {
# printf ("\n}; /* range 0x%x - 0x%x, total %d chars */\n",
# seg_first[seg_no], seg_last[seg_no],
# seg_last[seg_no] - seg_first[seg_no] + 1);
# seg_no++;
# }
prev_in_arr = 0;
prev_not_in_arr++;
}
}
if (prev_in_arr > 0)
{
printf ("\n}; /* range 0x%x - 0x%x, total %d chars */\n",
seg_first[seg_no], seg_last[seg_no],
seg_last[seg_no] - seg_first[seg_no] + 1);
}
printf ("static struct %s_range_t\n{\n\tqse_uint16_t first, last;\n\tqse_uint16_t* seg;\n} %s_range[] =\n{\n", name, name);
printf ("\t{ 0x%04xu, 0x%04xu, %s_seg_0 }", seg_first[0], seg_last[0], name);
for (i = 1; i <= seg_no; i++) printf (",\n\t{ 0x%04xu, 0x%04xu, %s_seg_%d }", seg_first[i], seg_last[i], name, i);
printf ("\n};\n");
printf ("static qse_uint16_t %s (qse_uint16_t c)\n{\n", name);
#printf ("\tif (c >= 0 && c <= 127) return c;\n");
printf ("\tif (c >= %s_range[0].first &&\n\t c <= %s_range[QSE_COUNTOF(%s_range)-1].last)\n\t{\n", name, name, name);
printf ("\t\tint left = 0, right = QSE_COUNTOF(%s_range) - 1, mid;
while (left <= right)
{
mid = (left + right) / 2;
if (c >= %s_range[mid].first && c <= %s_range[mid].last)
return %s_range[mid].seg[c - %s_range[mid].first];
else if (c > %s_range[mid].last)
left = mid + 1;
else
right = mid - 1;
}\n", name, name, name, name, name, name);
printf ("\t}\n\treturn 0xffffu;\n");
printf ("}\n");
}
END {
if (ERROR_CODE == 1)
{
print "USAGE: gencp.awk codepage-file" > "/dev/stderr";
exit 1
}
else if (ERROR_CODE == 2)
{
print "ERROR: mb != wc where mb < 128. i can't handle this encoding map" > "/dev/stderr";
exit 1;
}
else
{
"date" | getline date;
printf ("/* This is a privite file automatically generated\n");
printf (" * from %s on %s.\n", ARGV[1], date);
printf (" * Never include this file directly into your source code.\n");
printf (" * mode=%s \n", (SIMPLE_MODE? "simple": "bsearch"));
printf (" * mb_min=0x%04x \n", mb_min);
printf (" * mb_max=0x%04x \n", mb_max);
printf (" * wc_min=0x%04x \n", wc_min);
printf (" * wc_max=0x%04x \n", wc_max);
printf (" */\n\n");
if (SIMPLE_MODE)
{
emit_simple ("mbtowc", mb_min, mb_max, mb_arr);
printf ("\n/* ----------------------------------------- */\n\n");
emit_simple ("wctomb", wc_min, wc_max, wc_arr);
}
else
{
emit_bsearch ("mbtowc", mb_min, mb_max, mb_arr);
printf ("\n/* ----------------------------------------- */\n\n");
emit_bsearch ("wctomb", wc_min, wc_max, wc_arr);
}
}
}

29
qse/tools/testcp.c Normal file
View File

@ -0,0 +1,29 @@
#include <stdio.h>
typedef unsigned short qse_uint16_t;
#define QSE_COUNTOF(x) (sizeof(x) / sizeof(x[0]))
#include "x.h"
int main ()
{
qse_uint16_t mb;
for (mb = 0; mb <= 127; mb++)
{
printf ("0x%04x 0x%04x\n", mb, mb);
}
for (mb = 128; mb < 0xFFFF; mb++)
{
qse_uint16_t wc = mbtowc(mb);
printf ("0x%04x 0x%04x", mb, wc);
if (wc != 0xFFFF)
{
qse_uint16_t xmb = wctomb(wc);
if (xmb != mb) printf (" (ERROR xmb=0x%04x)", xmb);
}
printf ("\n");
}
return 0;
}

View File

@ -42,7 +42,7 @@ WVList
0
10
WPickList
77
79
11
MItem
3
@ -185,8 +185,8 @@ WVList
0
43
MItem
28
../../../../../lib/cmn/dll.c
30
../../../../../lib/cmn/cp949.c
44
WString
4
@ -203,8 +203,8 @@ WVList
0
47
MItem
28
../../../../../lib/cmn/env.c
30
../../../../../lib/cmn/cp950.c
48
WString
4
@ -222,7 +222,7 @@ WVList
51
MItem
28
../../../../../lib/cmn/fio.c
../../../../../lib/cmn/dll.c
52
WString
4
@ -240,7 +240,7 @@ WVList
55
MItem
28
../../../../../lib/cmn/fma.c
../../../../../lib/cmn/env.c
56
WString
4
@ -258,7 +258,7 @@ WVList
59
MItem
28
../../../../../lib/cmn/fmt.c
../../../../../lib/cmn/fio.c
60
WString
4
@ -275,8 +275,8 @@ WVList
0
63
MItem
31
../../../../../lib/cmn/fs-err.c
28
../../../../../lib/cmn/fma.c
64
WString
4
@ -293,8 +293,8 @@ WVList
0
67
MItem
32
../../../../../lib/cmn/fs-move.c
28
../../../../../lib/cmn/fmt.c
68
WString
4
@ -311,8 +311,8 @@ WVList
0
71
MItem
27
../../../../../lib/cmn/fs.c
31
../../../../../lib/cmn/fs-err.c
72
WString
4
@ -329,8 +329,8 @@ WVList
0
75
MItem
28
../../../../../lib/cmn/gdl.c
32
../../../../../lib/cmn/fs-move.c
76
WString
4
@ -347,8 +347,8 @@ WVList
0
79
MItem
28
../../../../../lib/cmn/htb.c
27
../../../../../lib/cmn/fs.c
80
WString
4
@ -366,7 +366,7 @@ WVList
83
MItem
28
../../../../../lib/cmn/lda.c
../../../../../lib/cmn/gdl.c
84
WString
4
@ -383,8 +383,8 @@ WVList
0
87
MItem
29
../../../../../lib/cmn/main.c
28
../../../../../lib/cmn/htb.c
88
WString
4
@ -401,8 +401,8 @@ WVList
0
91
MItem
33
../../../../../lib/cmn/mbwc-str.c
28
../../../../../lib/cmn/lda.c
92
WString
4
@ -420,7 +420,7 @@ WVList
95
MItem
29
../../../../../lib/cmn/mbwc.c
../../../../../lib/cmn/main.c
96
WString
4
@ -437,8 +437,8 @@ WVList
0
99
MItem
28
../../../../../lib/cmn/mem.c
33
../../../../../lib/cmn/mbwc-str.c
100
WString
4
@ -455,8 +455,8 @@ WVList
0
103
MItem
28
../../../../../lib/cmn/oht.c
29
../../../../../lib/cmn/mbwc.c
104
WString
4
@ -474,7 +474,7 @@ WVList
107
MItem
28
../../../../../lib/cmn/opt.c
../../../../../lib/cmn/mem.c
108
WString
4
@ -491,8 +491,8 @@ WVList
0
111
MItem
38
../../../../../lib/cmn/path-basename.c
28
../../../../../lib/cmn/oht.c
112
WString
4
@ -509,8 +509,8 @@ WVList
0
115
MItem
35
../../../../../lib/cmn/path-canon.c
28
../../../../../lib/cmn/opt.c
116
WString
4
@ -527,8 +527,8 @@ WVList
0
119
MItem
28
../../../../../lib/cmn/pio.c
38
../../../../../lib/cmn/path-basename.c
120
WString
4
@ -545,8 +545,8 @@ WVList
0
123
MItem
28
../../../../../lib/cmn/pma.c
35
../../../../../lib/cmn/path-canon.c
124
WString
4
@ -564,7 +564,7 @@ WVList
127
MItem
28
../../../../../lib/cmn/rbt.c
../../../../../lib/cmn/pio.c
128
WString
4
@ -582,7 +582,7 @@ WVList
131
MItem
28
../../../../../lib/cmn/rex.c
../../../../../lib/cmn/pma.c
132
WString
4
@ -600,7 +600,7 @@ WVList
135
MItem
28
../../../../../lib/cmn/sio.c
../../../../../lib/cmn/rbt.c
136
WString
4
@ -618,7 +618,7 @@ WVList
139
MItem
28
../../../../../lib/cmn/sll.c
../../../../../lib/cmn/rex.c
140
WString
4
@ -635,8 +635,8 @@ WVList
0
143
MItem
29
../../../../../lib/cmn/slmb.c
28
../../../../../lib/cmn/sio.c
144
WString
4
@ -653,8 +653,8 @@ WVList
0
147
MItem
30
../../../../../lib/cmn/stdio.c
28
../../../../../lib/cmn/sll.c
148
WString
4
@ -671,8 +671,8 @@ WVList
0
151
MItem
32
../../../../../lib/cmn/str-beg.c
29
../../../../../lib/cmn/slmb.c
152
WString
4
@ -689,8 +689,8 @@ WVList
0
155
MItem
32
../../../../../lib/cmn/str-cat.c
30
../../../../../lib/cmn/stdio.c
156
WString
4
@ -708,7 +708,7 @@ WVList
159
MItem
32
../../../../../lib/cmn/str-chr.c
../../../../../lib/cmn/str-beg.c
160
WString
4
@ -726,7 +726,7 @@ WVList
163
MItem
32
../../../../../lib/cmn/str-cmp.c
../../../../../lib/cmn/str-cat.c
164
WString
4
@ -744,7 +744,7 @@ WVList
167
MItem
32
../../../../../lib/cmn/str-cnv.c
../../../../../lib/cmn/str-chr.c
168
WString
4
@ -762,7 +762,7 @@ WVList
171
MItem
32
../../../../../lib/cmn/str-cpy.c
../../../../../lib/cmn/str-cmp.c
172
WString
4
@ -780,7 +780,7 @@ WVList
175
MItem
32
../../../../../lib/cmn/str-del.c
../../../../../lib/cmn/str-cnv.c
176
WString
4
@ -798,7 +798,7 @@ WVList
179
MItem
32
../../../../../lib/cmn/str-dup.c
../../../../../lib/cmn/str-cpy.c
180
WString
4
@ -815,8 +815,8 @@ WVList
0
183
MItem
33
../../../../../lib/cmn/str-dynm.c
32
../../../../../lib/cmn/str-del.c
184
WString
4
@ -833,8 +833,8 @@ WVList
0
187
MItem
33
../../../../../lib/cmn/str-dynw.c
32
../../../../../lib/cmn/str-dup.c
188
WString
4
@ -851,8 +851,8 @@ WVList
0
191
MItem
32
../../../../../lib/cmn/str-end.c
33
../../../../../lib/cmn/str-dynm.c
192
WString
4
@ -870,7 +870,7 @@ WVList
195
MItem
33
../../../../../lib/cmn/str-excl.c
../../../../../lib/cmn/str-dynw.c
196
WString
4
@ -887,8 +887,8 @@ WVList
0
199
MItem
33
../../../../../lib/cmn/str-fcpy.c
32
../../../../../lib/cmn/str-end.c
200
WString
4
@ -906,7 +906,7 @@ WVList
203
MItem
33
../../../../../lib/cmn/str-incl.c
../../../../../lib/cmn/str-excl.c
204
WString
4
@ -923,8 +923,8 @@ WVList
0
207
MItem
32
../../../../../lib/cmn/str-len.c
33
../../../../../lib/cmn/str-fcpy.c
208
WString
4
@ -941,8 +941,8 @@ WVList
0
211
MItem
32
../../../../../lib/cmn/str-pac.c
33
../../../../../lib/cmn/str-incl.c
212
WString
4
@ -959,8 +959,8 @@ WVList
0
215
MItem
33
../../../../../lib/cmn/str-pbrk.c
32
../../../../../lib/cmn/str-len.c
216
WString
4
@ -978,7 +978,7 @@ WVList
219
MItem
32
../../../../../lib/cmn/str-put.c
../../../../../lib/cmn/str-pac.c
220
WString
4
@ -995,8 +995,8 @@ WVList
0
223
MItem
32
../../../../../lib/cmn/str-rev.c
33
../../../../../lib/cmn/str-pbrk.c
224
WString
4
@ -1014,7 +1014,7 @@ WVList
227
MItem
32
../../../../../lib/cmn/str-rot.c
../../../../../lib/cmn/str-put.c
228
WString
4
@ -1032,7 +1032,7 @@ WVList
231
MItem
32
../../../../../lib/cmn/str-set.c
../../../../../lib/cmn/str-rev.c
232
WString
4
@ -1050,7 +1050,7 @@ WVList
235
MItem
32
../../../../../lib/cmn/str-spl.c
../../../../../lib/cmn/str-rot.c
236
WString
4
@ -1068,7 +1068,7 @@ WVList
239
MItem
32
../../../../../lib/cmn/str-spn.c
../../../../../lib/cmn/str-set.c
240
WString
4
@ -1086,7 +1086,7 @@ WVList
243
MItem
32
../../../../../lib/cmn/str-str.c
../../../../../lib/cmn/str-spl.c
244
WString
4
@ -1103,8 +1103,8 @@ WVList
0
247
MItem
34
../../../../../lib/cmn/str-subst.c
32
../../../../../lib/cmn/str-spn.c
248
WString
4
@ -1122,7 +1122,7 @@ WVList
251
MItem
32
../../../../../lib/cmn/str-tok.c
../../../../../lib/cmn/str-str.c
252
WString
4
@ -1139,8 +1139,8 @@ WVList
0
255
MItem
32
../../../../../lib/cmn/str-trm.c
34
../../../../../lib/cmn/str-subst.c
256
WString
4
@ -1157,8 +1157,8 @@ WVList
0
259
MItem
33
../../../../../lib/cmn/str-word.c
32
../../../../../lib/cmn/str-tok.c
260
WString
4
@ -1175,8 +1175,8 @@ WVList
0
263
MItem
29
../../../../../lib/cmn/time.c
32
../../../../../lib/cmn/str-trm.c
264
WString
4
@ -1193,8 +1193,8 @@ WVList
0
267
MItem
32
../../../../../lib/cmn/tio-get.c
33
../../../../../lib/cmn/str-word.c
268
WString
4
@ -1211,8 +1211,8 @@ WVList
0
271
MItem
32
../../../../../lib/cmn/tio-put.c
29
../../../../../lib/cmn/time.c
272
WString
4
@ -1229,8 +1229,8 @@ WVList
0
275
MItem
28
../../../../../lib/cmn/tio.c
32
../../../../../lib/cmn/tio-get.c
276
WString
4
@ -1248,7 +1248,7 @@ WVList
279
MItem
32
../../../../../lib/cmn/tre-ast.c
../../../../../lib/cmn/tio-put.c
280
WString
4
@ -1265,8 +1265,8 @@ WVList
0
283
MItem
36
../../../../../lib/cmn/tre-compile.c
28
../../../../../lib/cmn/tio.c
284
WString
4
@ -1283,8 +1283,8 @@ WVList
0
287
MItem
44
../../../../../lib/cmn/tre-match-backtrack.c
32
../../../../../lib/cmn/tre-ast.c
288
WString
4
@ -1301,8 +1301,8 @@ WVList
0
291
MItem
43
../../../../../lib/cmn/tre-match-parallel.c
36
../../../../../lib/cmn/tre-compile.c
292
WString
4
@ -1319,8 +1319,8 @@ WVList
0
295
MItem
34
../../../../../lib/cmn/tre-parse.c
44
../../../../../lib/cmn/tre-match-backtrack.c
296
WString
4
@ -1337,8 +1337,8 @@ WVList
0
299
MItem
34
../../../../../lib/cmn/tre-stack.c
43
../../../../../lib/cmn/tre-match-parallel.c
300
WString
4
@ -1355,8 +1355,8 @@ WVList
0
303
MItem
28
../../../../../lib/cmn/tre.c
34
../../../../../lib/cmn/tre-parse.c
304
WString
4
@ -1373,8 +1373,8 @@ WVList
0
307
MItem
29
../../../../../lib/cmn/utf8.c
34
../../../../../lib/cmn/tre-stack.c
308
WString
4
@ -1392,7 +1392,7 @@ WVList
311
MItem
28
../../../../../lib/cmn/xma.c
../../../../../lib/cmn/tre.c
312
WString
4
@ -1409,44 +1409,44 @@ WVList
0
315
MItem
3
*.h
29
../../../../../lib/cmn/utf8.c
316
WString
3
NIL
4
COBJ
317
WVList
0
318
WVList
0
-1
11
1
1
0
319
MItem
28
../../../../../lib/cmn/mem.h
../../../../../lib/cmn/xma.c
320
WString
3
NIL
4
COBJ
321
WVList
0
322
WVList
0
315
11
1
1
0
323
MItem
32
../../../../../lib/cmn/syscall.h
3
*.h
324
WString
3
@ -1457,7 +1457,43 @@ WVList
326
WVList
0
315
-1
1
1
0
327
MItem
28
../../../../../lib/cmn/mem.h
328
WString
3
NIL
329
WVList
0
330
WVList
0
323
1
1
0
331
MItem
32
../../../../../lib/cmn/syscall.h
332
WString
3
NIL
333
WVList
0
334
WVList
0
323
1
1
0

View File

@ -42,7 +42,7 @@ WVList
0
10
WPickList
77
79
11
MItem
3
@ -197,8 +197,8 @@ WVList
0
46
MItem
28
../../../../../lib/cmn/dll.c
30
../../../../../lib/cmn/cp949.c
47
WString
4
@ -215,8 +215,8 @@ WVList
0
50
MItem
28
../../../../../lib/cmn/env.c
30
../../../../../lib/cmn/cp950.c
51
WString
4
@ -234,7 +234,7 @@ WVList
54
MItem
28
../../../../../lib/cmn/fio.c
../../../../../lib/cmn/dll.c
55
WString
4
@ -252,7 +252,7 @@ WVList
58
MItem
28
../../../../../lib/cmn/fma.c
../../../../../lib/cmn/env.c
59
WString
4
@ -270,7 +270,7 @@ WVList
62
MItem
28
../../../../../lib/cmn/fmt.c
../../../../../lib/cmn/fio.c
63
WString
4
@ -287,8 +287,8 @@ WVList
0
66
MItem
31
../../../../../lib/cmn/fs-err.c
28
../../../../../lib/cmn/fma.c
67
WString
4
@ -305,8 +305,8 @@ WVList
0
70
MItem
32
../../../../../lib/cmn/fs-move.c
28
../../../../../lib/cmn/fmt.c
71
WString
4
@ -323,8 +323,8 @@ WVList
0
74
MItem
27
../../../../../lib/cmn/fs.c
31
../../../../../lib/cmn/fs-err.c
75
WString
4
@ -341,8 +341,8 @@ WVList
0
78
MItem
28
../../../../../lib/cmn/gdl.c
32
../../../../../lib/cmn/fs-move.c
79
WString
4
@ -359,8 +359,8 @@ WVList
0
82
MItem
28
../../../../../lib/cmn/htb.c
27
../../../../../lib/cmn/fs.c
83
WString
4
@ -378,7 +378,7 @@ WVList
86
MItem
28
../../../../../lib/cmn/lda.c
../../../../../lib/cmn/gdl.c
87
WString
4
@ -395,8 +395,8 @@ WVList
0
90
MItem
29
../../../../../lib/cmn/main.c
28
../../../../../lib/cmn/htb.c
91
WString
4
@ -413,8 +413,8 @@ WVList
0
94
MItem
33
../../../../../lib/cmn/mbwc-str.c
28
../../../../../lib/cmn/lda.c
95
WString
4
@ -432,7 +432,7 @@ WVList
98
MItem
29
../../../../../lib/cmn/mbwc.c
../../../../../lib/cmn/main.c
99
WString
4
@ -449,8 +449,8 @@ WVList
0
102
MItem
28
../../../../../lib/cmn/mem.c
33
../../../../../lib/cmn/mbwc-str.c
103
WString
4
@ -467,8 +467,8 @@ WVList
0
106
MItem
28
../../../../../lib/cmn/oht.c
29
../../../../../lib/cmn/mbwc.c
107
WString
4
@ -486,7 +486,7 @@ WVList
110
MItem
28
../../../../../lib/cmn/opt.c
../../../../../lib/cmn/mem.c
111
WString
4
@ -503,8 +503,8 @@ WVList
0
114
MItem
38
../../../../../lib/cmn/path-basename.c
28
../../../../../lib/cmn/oht.c
115
WString
4
@ -521,8 +521,8 @@ WVList
0
118
MItem
35
../../../../../lib/cmn/path-canon.c
28
../../../../../lib/cmn/opt.c
119
WString
4
@ -539,8 +539,8 @@ WVList
0
122
MItem
28
../../../../../lib/cmn/pio.c
38
../../../../../lib/cmn/path-basename.c
123
WString
4
@ -557,8 +557,8 @@ WVList
0
126
MItem
28
../../../../../lib/cmn/pma.c
35
../../../../../lib/cmn/path-canon.c
127
WString
4
@ -576,7 +576,7 @@ WVList
130
MItem
28
../../../../../lib/cmn/rbt.c
../../../../../lib/cmn/pio.c
131
WString
4
@ -594,7 +594,7 @@ WVList
134
MItem
28
../../../../../lib/cmn/rex.c
../../../../../lib/cmn/pma.c
135
WString
4
@ -612,7 +612,7 @@ WVList
138
MItem
28
../../../../../lib/cmn/sio.c
../../../../../lib/cmn/rbt.c
139
WString
4
@ -630,7 +630,7 @@ WVList
142
MItem
28
../../../../../lib/cmn/sll.c
../../../../../lib/cmn/rex.c
143
WString
4
@ -647,8 +647,8 @@ WVList
0
146
MItem
29
../../../../../lib/cmn/slmb.c
28
../../../../../lib/cmn/sio.c
147
WString
4
@ -665,8 +665,8 @@ WVList
0
150
MItem
30
../../../../../lib/cmn/stdio.c
28
../../../../../lib/cmn/sll.c
151
WString
4
@ -683,8 +683,8 @@ WVList
0
154
MItem
32
../../../../../lib/cmn/str-beg.c
29
../../../../../lib/cmn/slmb.c
155
WString
4
@ -701,8 +701,8 @@ WVList
0
158
MItem
32
../../../../../lib/cmn/str-cat.c
30
../../../../../lib/cmn/stdio.c
159
WString
4
@ -720,7 +720,7 @@ WVList
162
MItem
32
../../../../../lib/cmn/str-chr.c
../../../../../lib/cmn/str-beg.c
163
WString
4
@ -738,7 +738,7 @@ WVList
166
MItem
32
../../../../../lib/cmn/str-cmp.c
../../../../../lib/cmn/str-cat.c
167
WString
4
@ -756,7 +756,7 @@ WVList
170
MItem
32
../../../../../lib/cmn/str-cnv.c
../../../../../lib/cmn/str-chr.c
171
WString
4
@ -774,7 +774,7 @@ WVList
174
MItem
32
../../../../../lib/cmn/str-cpy.c
../../../../../lib/cmn/str-cmp.c
175
WString
4
@ -792,7 +792,7 @@ WVList
178
MItem
32
../../../../../lib/cmn/str-del.c
../../../../../lib/cmn/str-cnv.c
179
WString
4
@ -810,7 +810,7 @@ WVList
182
MItem
32
../../../../../lib/cmn/str-dup.c
../../../../../lib/cmn/str-cpy.c
183
WString
4
@ -827,8 +827,8 @@ WVList
0
186
MItem
33
../../../../../lib/cmn/str-dynm.c
32
../../../../../lib/cmn/str-del.c
187
WString
4
@ -845,8 +845,8 @@ WVList
0
190
MItem
33
../../../../../lib/cmn/str-dynw.c
32
../../../../../lib/cmn/str-dup.c
191
WString
4
@ -863,8 +863,8 @@ WVList
0
194
MItem
32
../../../../../lib/cmn/str-end.c
33
../../../../../lib/cmn/str-dynm.c
195
WString
4
@ -882,7 +882,7 @@ WVList
198
MItem
33
../../../../../lib/cmn/str-excl.c
../../../../../lib/cmn/str-dynw.c
199
WString
4
@ -899,8 +899,8 @@ WVList
0
202
MItem
33
../../../../../lib/cmn/str-fcpy.c
32
../../../../../lib/cmn/str-end.c
203
WString
4
@ -918,7 +918,7 @@ WVList
206
MItem
33
../../../../../lib/cmn/str-incl.c
../../../../../lib/cmn/str-excl.c
207
WString
4
@ -935,8 +935,8 @@ WVList
0
210
MItem
32
../../../../../lib/cmn/str-len.c
33
../../../../../lib/cmn/str-fcpy.c
211
WString
4
@ -953,8 +953,8 @@ WVList
0
214
MItem
32
../../../../../lib/cmn/str-pac.c
33
../../../../../lib/cmn/str-incl.c
215
WString
4
@ -971,8 +971,8 @@ WVList
0
218
MItem
33
../../../../../lib/cmn/str-pbrk.c
32
../../../../../lib/cmn/str-len.c
219
WString
4
@ -990,7 +990,7 @@ WVList
222
MItem
32
../../../../../lib/cmn/str-put.c
../../../../../lib/cmn/str-pac.c
223
WString
4
@ -1007,8 +1007,8 @@ WVList
0
226
MItem
32
../../../../../lib/cmn/str-rev.c
33
../../../../../lib/cmn/str-pbrk.c
227
WString
4
@ -1026,7 +1026,7 @@ WVList
230
MItem
32
../../../../../lib/cmn/str-rot.c
../../../../../lib/cmn/str-put.c
231
WString
4
@ -1044,7 +1044,7 @@ WVList
234
MItem
32
../../../../../lib/cmn/str-set.c
../../../../../lib/cmn/str-rev.c
235
WString
4
@ -1062,7 +1062,7 @@ WVList
238
MItem
32
../../../../../lib/cmn/str-spl.c
../../../../../lib/cmn/str-rot.c
239
WString
4
@ -1080,7 +1080,7 @@ WVList
242
MItem
32
../../../../../lib/cmn/str-spn.c
../../../../../lib/cmn/str-set.c
243
WString
4
@ -1098,7 +1098,7 @@ WVList
246
MItem
32
../../../../../lib/cmn/str-str.c
../../../../../lib/cmn/str-spl.c
247
WString
4
@ -1115,8 +1115,8 @@ WVList
0
250
MItem
34
../../../../../lib/cmn/str-subst.c
32
../../../../../lib/cmn/str-spn.c
251
WString
4
@ -1134,7 +1134,7 @@ WVList
254
MItem
32
../../../../../lib/cmn/str-tok.c
../../../../../lib/cmn/str-str.c
255
WString
4
@ -1151,8 +1151,8 @@ WVList
0
258
MItem
32
../../../../../lib/cmn/str-trm.c
34
../../../../../lib/cmn/str-subst.c
259
WString
4
@ -1169,8 +1169,8 @@ WVList
0
262
MItem
33
../../../../../lib/cmn/str-word.c
32
../../../../../lib/cmn/str-tok.c
263
WString
4
@ -1187,8 +1187,8 @@ WVList
0
266
MItem
29
../../../../../lib/cmn/time.c
32
../../../../../lib/cmn/str-trm.c
267
WString
4
@ -1205,8 +1205,8 @@ WVList
0
270
MItem
32
../../../../../lib/cmn/tio-get.c
33
../../../../../lib/cmn/str-word.c
271
WString
4
@ -1223,8 +1223,8 @@ WVList
0
274
MItem
32
../../../../../lib/cmn/tio-put.c
29
../../../../../lib/cmn/time.c
275
WString
4
@ -1241,8 +1241,8 @@ WVList
0
278
MItem
28
../../../../../lib/cmn/tio.c
32
../../../../../lib/cmn/tio-get.c
279
WString
4
@ -1260,7 +1260,7 @@ WVList
282
MItem
32
../../../../../lib/cmn/tre-ast.c
../../../../../lib/cmn/tio-put.c
283
WString
4
@ -1277,8 +1277,8 @@ WVList
0
286
MItem
36
../../../../../lib/cmn/tre-compile.c
28
../../../../../lib/cmn/tio.c
287
WString
4
@ -1295,8 +1295,8 @@ WVList
0
290
MItem
44
../../../../../lib/cmn/tre-match-backtrack.c
32
../../../../../lib/cmn/tre-ast.c
291
WString
4
@ -1313,8 +1313,8 @@ WVList
0
294
MItem
43
../../../../../lib/cmn/tre-match-parallel.c
36
../../../../../lib/cmn/tre-compile.c
295
WString
4
@ -1331,8 +1331,8 @@ WVList
0
298
MItem
34
../../../../../lib/cmn/tre-parse.c
44
../../../../../lib/cmn/tre-match-backtrack.c
299
WString
4
@ -1349,8 +1349,8 @@ WVList
0
302
MItem
34
../../../../../lib/cmn/tre-stack.c
43
../../../../../lib/cmn/tre-match-parallel.c
303
WString
4
@ -1367,8 +1367,8 @@ WVList
0
306
MItem
28
../../../../../lib/cmn/tre.c
34
../../../../../lib/cmn/tre-parse.c
307
WString
4
@ -1385,8 +1385,8 @@ WVList
0
310
MItem
29
../../../../../lib/cmn/utf8.c
34
../../../../../lib/cmn/tre-stack.c
311
WString
4
@ -1404,7 +1404,7 @@ WVList
314
MItem
28
../../../../../lib/cmn/xma.c
../../../../../lib/cmn/tre.c
315
WString
4
@ -1421,44 +1421,44 @@ WVList
0
318
MItem
3
*.h
29
../../../../../lib/cmn/utf8.c
319
WString
3
NIL
4
COBJ
320
WVList
0
321
WVList
0
-1
11
1
1
0
322
MItem
28
../../../../../lib/cmn/mem.h
../../../../../lib/cmn/xma.c
323
WString
3
NIL
4
COBJ
324
WVList
0
325
WVList
0
318
11
1
1
0
326
MItem
32
../../../../../lib/cmn/syscall.h
3
*.h
327
WString
3
@ -1469,7 +1469,43 @@ WVList
329
WVList
0
318
-1
1
1
0
330
MItem
28
../../../../../lib/cmn/mem.h
331
WString
3
NIL
332
WVList
0
333
WVList
0
326
1
1
0
334
MItem
32
../../../../../lib/cmn/syscall.h
335
WString
3
NIL
336
WVList
0
337
WVList
0
326
1
1
0

View File

@ -1,145 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
4
NEXE
3
WString
5
nc2eo
1
0
1
4
MCommand
0
5
MCommand
0
6
MItem
10
qseawk.exe
7
WString
4
NEXE
8
WVList
2
9
MVState
10
WString
7
WINLINK
11
WString
28
?????Library directories(;):
1
12
WString
27
../../lib/cmn ../../lib/awk
0
13
MVState
14
WString
7
WINLINK
15
WString
18
?????Libraries(,):
1
16
WString
19
qsecmn qseawk psapi
0
17
WVList
0
-1
1
1
0
18
WPickList
2
19
MItem
3
*.c
20
WString
4
COBJ
21
WVList
2
22
MVState
23
WString
3
WCC
24
WString
25
n????Include directories:
1
25
WString
53
"$(%watcom)/h;$(%watcom)/h/nt;../../../../../include"
0
26
MVState
27
WString
3
WCC
28
WString
23
?????Macro definitions:
1
29
WString
15
QSE_BUILD_DEBUG
0
30
WVList
0
-1
1
1
0
31
MItem
28
../../../../../cmd/awk/awk.c
32
WString
4
COBJ
33
WVList
0
34
WVList
0
19
1
1
0

View File

@ -1,145 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
4
NEXE
3
WString
5
nc2eo
1
0
1
4
MCommand
0
5
MCommand
0
6
MItem
10
qsesed.exe
7
WString
4
NEXE
8
WVList
2
9
MVState
10
WString
7
WINLINK
11
WString
28
?????Library directories(;):
1
12
WString
27
../../lib/cmn ../../lib/sed
0
13
MVState
14
WString
7
WINLINK
15
WString
18
?????Libraries(,):
1
16
WString
19
qsecmn qsesed psapi
0
17
WVList
0
-1
1
1
0
18
WPickList
2
19
MItem
3
*.c
20
WString
4
COBJ
21
WVList
2
22
MVState
23
WString
3
WCC
24
WString
25
n????Include directories:
1
25
WString
53
"$(%watcom)/h;$(%watcom)/h/nt;../../../../../include"
0
26
MVState
27
WString
3
WCC
28
WString
23
?????Macro definitions:
1
29
WString
15
QSE_BUILD_DEBUG
0
30
WVList
0
-1
1
1
0
31
MItem
28
../../../../../cmd/sed/sed.c
32
WString
4
COBJ
33
WVList
0
34
WVList
0
19
1
1
0

View File

@ -1,473 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
3
LIB
3
WString
5
n_2so
1
0
1
4
MCommand
0
5
MCommand
0
6
MItem
10
qseawk.lib
7
WString
3
LIB
8
WVList
0
9
WVList
0
-1
1
1
0
10
WPickList
22
11
MItem
3
*.c
12
WString
4
COBJ
13
WVList
2
14
MVState
15
WString
3
WCC
16
WString
25
n????Include directories:
1
17
WString
53
"$(%watcom)/h;$(%watcom)/h/nt;../../../../../include"
0
18
MVState
19
WString
3
WCC
20
WString
23
?????Macro definitions:
1
21
WString
15
QSE_BUILD_DEBUG
0
22
WVList
0
-1
1
1
0
23
MItem
28
../../../../../lib/awk/awk.c
24
WString
4
COBJ
25
WVList
0
26
WVList
0
11
1
1
0
27
MItem
28
../../../../../lib/awk/err.c
28
WString
4
COBJ
29
WVList
0
30
WVList
0
11
1
1
0
31
MItem
28
../../../../../lib/awk/fnc.c
32
WString
4
COBJ
33
WVList
0
34
WVList
0
11
1
1
0
35
MItem
29
../../../../../lib/awk/misc.c
36
WString
4
COBJ
37
WVList
0
38
WVList
0
11
1
1
0
39
MItem
30
../../../../../lib/awk/parse.c
40
WString
4
COBJ
41
WVList
0
42
WVList
0
11
1
1
0
43
MItem
28
../../../../../lib/awk/rec.c
44
WString
4
COBJ
45
WVList
0
46
WVList
0
11
1
1
0
47
MItem
28
../../../../../lib/awk/rio.c
48
WString
4
COBJ
49
WVList
0
50
WVList
0
11
1
1
0
51
MItem
28
../../../../../lib/awk/run.c
52
WString
4
COBJ
53
WVList
0
54
WVList
0
11
1
1
0
55
MItem
28
../../../../../lib/awk/std.c
56
WString
4
COBJ
57
WVList
0
58
WVList
0
11
1
1
0
59
MItem
29
../../../../../lib/awk/tree.c
60
WString
4
COBJ
61
WVList
0
62
WVList
0
11
1
1
0
63
MItem
28
../../../../../lib/awk/val.c
64
WString
4
COBJ
65
WVList
0
66
WVList
0
11
1
1
0
67
MItem
3
*.h
68
WString
3
NIL
69
WVList
0
70
WVList
0
-1
1
1
0
71
MItem
28
../../../../../lib/awk/awk.h
72
WString
3
NIL
73
WVList
0
74
WVList
0
67
1
1
0
75
MItem
28
../../../../../lib/awk/err.h
76
WString
3
NIL
77
WVList
0
78
WVList
0
67
1
1
0
79
MItem
28
../../../../../lib/awk/fnc.h
80
WString
3
NIL
81
WVList
0
82
WVList
0
67
1
1
0
83
MItem
29
../../../../../lib/awk/misc.h
84
WString
3
NIL
85
WVList
0
86
WVList
0
67
1
1
0
87
MItem
30
../../../../../lib/awk/parse.h
88
WString
3
NIL
89
WVList
0
90
WVList
0
67
1
1
0
91
MItem
28
../../../../../lib/awk/rio.h
92
WString
3
NIL
93
WVList
0
94
WVList
0
67
1
1
0
95
MItem
28
../../../../../lib/awk/run.h
96
WString
3
NIL
97
WVList
0
98
WVList
0
67
1
1
0
99
MItem
29
../../../../../lib/awk/tree.h
100
WString
3
NIL
101
WVList
0
102
WVList
0
67
1
1
0
103
MItem
28
../../../../../lib/awk/val.h
104
WString
3
NIL
105
WVList
0
106
WVList
0
67
1
1
0

File diff suppressed because it is too large Load Diff

View File

@ -1,185 +0,0 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
3
LIB
3
WString
5
n_2so
1
0
1
4
MCommand
0
5
MCommand
0
6
MItem
10
qsesed.lib
7
WString
3
LIB
8
WVList
0
9
WVList
0
-1
1
1
0
10
WPickList
6
11
MItem
3
*.c
12
WString
4
COBJ
13
WVList
2
14
MVState
15
WString
3
WCC
16
WString
25
n????Include directories:
1
17
WString
53
"$(%watcom)/h;$(%watcom)/h/nt;../../../../../include"
0
18
MVState
19
WString
3
WCC
20
WString
23
?????Macro definitions:
1
21
WString
15
QSE_BUILD_DEBUG
0
22
WVList
0
-1
1
1
0
23
MItem
28
../../../../../lib/sed/err.c
24
WString
4
COBJ
25
WVList
0
26
WVList
0
11
1
1
0
27
MItem
28
../../../../../lib/sed/sed.c
28
WString
4
COBJ
29
WVList
0
30
WVList
0
11
1
1
0
31
MItem
28
../../../../../lib/sed/std.c
32
WString
4
COBJ
33
WVList
0
34
WVList
0
11
1
1
0
35
MItem
3
*.h
36
WString
3
NIL
37
WVList
0
38
WVList
0
-1
1
1
0
39
MItem
28
../../../../../lib/sed/sed.h
40
WString
3
NIL
41
WVList
0
42
WVList
0
35
1
1
0

View File

@ -4,8 +4,8 @@ projectIdent
VpeMain
1
WRect
390
26
440
160
9320
9680
2
@ -16,7 +16,7 @@ MCommand
4
MCommand
0
18
13
5
WFileName
30
@ -52,49 +52,29 @@ debug/os2/cmd/sed/qsesed.tgt
13
WFileName
30
debug/win32/lib/cmn/qsecmn.tgt
debug/dos32/lib/cmn/qsecmn.tgt
14
WFileName
30
debug/win32/lib/awk/qseawk.tgt
debug/dos32/lib/awk/qseawk.tgt
15
WFileName
30
debug/win32/lib/sed/qsesed.tgt
debug/dos32/lib/sed/qsesed.tgt
16
WFileName
30
debug/win32/cmd/awk/qseawk.tgt
debug/dos32/cmd/awk/qseawk.tgt
17
WFileName
30
debug/win32/cmd/sed/qsesed.tgt
18
WFileName
30
debug/dos32/lib/cmn/qsecmn.tgt
19
WFileName
30
debug/dos32/lib/awk/qseawk.tgt
20
WFileName
30
debug/dos32/lib/sed/qsesed.tgt
21
WFileName
30
debug/dos32/cmd/awk/qseawk.tgt
22
WFileName
30
debug/dos32/cmd/sed/qsesed.tgt
23
WVList
18
24
WVList
13
19
VComponent
25
20
WRect
1080
2520
@ -102,15 +82,15 @@ WRect
4240
1
0
26
21
WFileName
30
release/os2/lib/cmn/qsecmn.tgt
26
4
27
0
0
22
VComponent
28
23
WRect
90
1240
@ -118,79 +98,63 @@ WRect
4240
1
0
29
24
WFileName
30
release/os2/lib/sed/qsesed.tgt
0
0
30
25
VComponent
31
26
WRect
2100
1400
5700
4240
1
0
32
0
27
WFileName
30
release/os2/cmd/sed/qsesed.tgt
0
1
33
28
VComponent
34
29
WRect
1030
1360
5700
4240
1
0
0
35
30
WFileName
28
debug/os2/lib/cmn/qsecmn.tgt
0
4
36
5
31
VComponent
37
32
WRect
1050
2360
5700
4240
1
0
0
38
33
WFileName
28
debug/os2/lib/sed/qsesed.tgt
0
3
39
34
VComponent
40
WRect
30
120
5700
4240
1
0
41
WFileName
30
debug/win32/lib/cmn/qsecmn.tgt
0
4
42
VComponent
43
35
WRect
2910
2440
@ -198,63 +162,47 @@ WRect
4240
1
0
44
36
WFileName
28
debug/os2/lib/awk/qseawk.tgt
0
0
45
37
VComponent
46
WRect
830
2720
5700
4240
1
0
47
WFileName
30
debug/win32/lib/awk/qseawk.tgt
0
0
48
VComponent
49
38
WRect
330
413
400
5700
4240
1
0
50
39
WFileName
28
debug/os2/cmd/awk/qseawk.tgt
0
1
51
40
VComponent
52
41
WRect
2430
920
2700
1906
5700
4240
1
0
0
53
42
WFileName
30
debug/dos32/lib/cmn/qsecmn.tgt
0
0
54
8
13
43
VComponent
55
44
WRect
1640
1360
@ -262,15 +210,15 @@ WRect
4240
1
0
56
45
WFileName
30
debug/dos32/lib/awk/qseawk.tgt
0
0
57
46
VComponent
58
47
WRect
0
200
@ -278,106 +226,58 @@ WRect
4240
1
0
59
48
WFileName
30
debug/dos32/cmd/awk/qseawk.tgt
0
0
60
49
VComponent
61
50
WRect
1650
1240
0
0
5700
4240
1
0
62
WFileName
30
debug/win32/cmd/awk/qseawk.tgt
0
0
63
VComponent
64
WRect
0
0
5700
4240
0
0
65
51
WFileName
30
debug/dos32/lib/sed/qsesed.tgt
0
5
66
52
VComponent
67
53
WRect
580
560
5700
4240
1
0
0
68
54
WFileName
30
debug/dos32/cmd/sed/qsesed.tgt
0
0
69
55
VComponent
70
56
WRect
0
-10
0
5700
4240
1
0
0
71
57
WFileName
28
debug/os2/cmd/sed/qsesed.tgt
0
0
72
VComponent
73
WRect
2020
400
5700
4240
1
0
74
WFileName
30
debug/win32/cmd/sed/qsesed.tgt
0
0
75
VComponent
76
WRect
580
560
5700
4240
1
0
77
WFileName
30
debug/win32/lib/sed/qsesed.tgt
0
0
51
25

View File

@ -42,7 +42,7 @@ WVList
0
10
WPickList
73
78
11
MItem
3
@ -233,8 +233,8 @@ WVList
0
55
MItem
28
../../../../../lib/cmn/dll.c
30
../../../../../lib/cmn/cp949.c
56
WString
4
@ -251,8 +251,8 @@ WVList
0
59
MItem
28
../../../../../lib/cmn/fio.c
30
../../../../../lib/cmn/cp950.c
60
WString
4
@ -270,7 +270,7 @@ WVList
63
MItem
28
../../../../../lib/cmn/fma.c
../../../../../lib/cmn/dll.c
64
WString
4
@ -288,7 +288,7 @@ WVList
67
MItem
28
../../../../../lib/cmn/fmt.c
../../../../../lib/cmn/fio.c
68
WString
4
@ -306,7 +306,7 @@ WVList
71
MItem
28
../../../../../lib/cmn/gdl.c
../../../../../lib/cmn/fma.c
72
WString
4
@ -324,7 +324,7 @@ WVList
75
MItem
28
../../../../../lib/cmn/htb.c
../../../../../lib/cmn/fmt.c
76
WString
4
@ -341,8 +341,8 @@ WVList
0
79
MItem
28
../../../../../lib/cmn/lda.c
31
../../../../../lib/cmn/fs-err.c
80
WString
4
@ -359,8 +359,8 @@ WVList
0
83
MItem
29
../../../../../lib/cmn/main.c
32
../../../../../lib/cmn/fs-move.c
84
WString
4
@ -377,8 +377,8 @@ WVList
0
87
MItem
33
../../../../../lib/cmn/mbwc-str.c
27
../../../../../lib/cmn/fs.c
88
WString
4
@ -395,8 +395,8 @@ WVList
0
91
MItem
29
../../../../../lib/cmn/mbwc.c
28
../../../../../lib/cmn/gdl.c
92
WString
4
@ -414,7 +414,7 @@ WVList
95
MItem
28
../../../../../lib/cmn/mem.c
../../../../../lib/cmn/htb.c
96
WString
4
@ -432,7 +432,7 @@ WVList
99
MItem
28
../../../../../lib/cmn/oht.c
../../../../../lib/cmn/lda.c
100
WString
4
@ -449,8 +449,8 @@ WVList
0
103
MItem
28
../../../../../lib/cmn/opt.c
29
../../../../../lib/cmn/main.c
104
WString
4
@ -467,8 +467,8 @@ WVList
0
107
MItem
38
../../../../../lib/cmn/path-basename.c
33
../../../../../lib/cmn/mbwc-str.c
108
WString
4
@ -485,8 +485,8 @@ WVList
0
111
MItem
35
../../../../../lib/cmn/path-canon.c
29
../../../../../lib/cmn/mbwc.c
112
WString
4
@ -504,7 +504,7 @@ WVList
115
MItem
28
../../../../../lib/cmn/pio.c
../../../../../lib/cmn/mem.c
116
WString
4
@ -522,7 +522,7 @@ WVList
119
MItem
28
../../../../../lib/cmn/pma.c
../../../../../lib/cmn/oht.c
120
WString
4
@ -540,7 +540,7 @@ WVList
123
MItem
28
../../../../../lib/cmn/rbt.c
../../../../../lib/cmn/opt.c
124
WString
4
@ -557,8 +557,8 @@ WVList
0
127
MItem
28
../../../../../lib/cmn/rex.c
38
../../../../../lib/cmn/path-basename.c
128
WString
4
@ -575,8 +575,8 @@ WVList
0
131
MItem
28
../../../../../lib/cmn/sio.c
35
../../../../../lib/cmn/path-canon.c
132
WString
4
@ -594,7 +594,7 @@ WVList
135
MItem
28
../../../../../lib/cmn/sll.c
../../../../../lib/cmn/pio.c
136
WString
4
@ -611,8 +611,8 @@ WVList
0
139
MItem
29
../../../../../lib/cmn/slmb.c
28
../../../../../lib/cmn/pma.c
140
WString
4
@ -629,8 +629,8 @@ WVList
0
143
MItem
30
../../../../../lib/cmn/stdio.c
28
../../../../../lib/cmn/rbt.c
144
WString
4
@ -647,8 +647,8 @@ WVList
0
147
MItem
32
../../../../../lib/cmn/str-beg.c
28
../../../../../lib/cmn/rex.c
148
WString
4
@ -665,8 +665,8 @@ WVList
0
151
MItem
32
../../../../../lib/cmn/str-cat.c
28
../../../../../lib/cmn/sio.c
152
WString
4
@ -683,8 +683,8 @@ WVList
0
155
MItem
32
../../../../../lib/cmn/str-chr.c
28
../../../../../lib/cmn/sll.c
156
WString
4
@ -701,8 +701,8 @@ WVList
0
159
MItem
32
../../../../../lib/cmn/str-cmp.c
29
../../../../../lib/cmn/slmb.c
160
WString
4
@ -719,8 +719,8 @@ WVList
0
163
MItem
32
../../../../../lib/cmn/str-cnv.c
30
../../../../../lib/cmn/stdio.c
164
WString
4
@ -738,7 +738,7 @@ WVList
167
MItem
32
../../../../../lib/cmn/str-cpy.c
../../../../../lib/cmn/str-beg.c
168
WString
4
@ -756,7 +756,7 @@ WVList
171
MItem
32
../../../../../lib/cmn/str-del.c
../../../../../lib/cmn/str-cat.c
172
WString
4
@ -774,7 +774,7 @@ WVList
175
MItem
32
../../../../../lib/cmn/str-dup.c
../../../../../lib/cmn/str-chr.c
176
WString
4
@ -791,8 +791,8 @@ WVList
0
179
MItem
33
../../../../../lib/cmn/str-dynm.c
32
../../../../../lib/cmn/str-cmp.c
180
WString
4
@ -809,8 +809,8 @@ WVList
0
183
MItem
33
../../../../../lib/cmn/str-dynw.c
32
../../../../../lib/cmn/str-cnv.c
184
WString
4
@ -828,7 +828,7 @@ WVList
187
MItem
32
../../../../../lib/cmn/str-end.c
../../../../../lib/cmn/str-cpy.c
188
WString
4
@ -845,8 +845,8 @@ WVList
0
191
MItem
33
../../../../../lib/cmn/str-excl.c
32
../../../../../lib/cmn/str-del.c
192
WString
4
@ -863,8 +863,8 @@ WVList
0
195
MItem
33
../../../../../lib/cmn/str-fcpy.c
32
../../../../../lib/cmn/str-dup.c
196
WString
4
@ -882,7 +882,7 @@ WVList
199
MItem
33
../../../../../lib/cmn/str-incl.c
../../../../../lib/cmn/str-dynm.c
200
WString
4
@ -899,8 +899,8 @@ WVList
0
203
MItem
32
../../../../../lib/cmn/str-len.c
33
../../../../../lib/cmn/str-dynw.c
204
WString
4
@ -918,7 +918,7 @@ WVList
207
MItem
32
../../../../../lib/cmn/str-pac.c
../../../../../lib/cmn/str-end.c
208
WString
4
@ -936,7 +936,7 @@ WVList
211
MItem
33
../../../../../lib/cmn/str-pbrk.c
../../../../../lib/cmn/str-excl.c
212
WString
4
@ -953,8 +953,8 @@ WVList
0
215
MItem
32
../../../../../lib/cmn/str-put.c
33
../../../../../lib/cmn/str-fcpy.c
216
WString
4
@ -971,8 +971,8 @@ WVList
0
219
MItem
32
../../../../../lib/cmn/str-rev.c
33
../../../../../lib/cmn/str-incl.c
220
WString
4
@ -990,7 +990,7 @@ WVList
223
MItem
32
../../../../../lib/cmn/str-rot.c
../../../../../lib/cmn/str-len.c
224
WString
4
@ -1008,7 +1008,7 @@ WVList
227
MItem
32
../../../../../lib/cmn/str-set.c
../../../../../lib/cmn/str-pac.c
228
WString
4
@ -1025,8 +1025,8 @@ WVList
0
231
MItem
32
../../../../../lib/cmn/str-spl.c
33
../../../../../lib/cmn/str-pbrk.c
232
WString
4
@ -1044,7 +1044,7 @@ WVList
235
MItem
32
../../../../../lib/cmn/str-spn.c
../../../../../lib/cmn/str-put.c
236
WString
4
@ -1062,7 +1062,7 @@ WVList
239
MItem
32
../../../../../lib/cmn/str-str.c
../../../../../lib/cmn/str-rev.c
240
WString
4
@ -1079,8 +1079,8 @@ WVList
0
243
MItem
34
../../../../../lib/cmn/str-subst.c
32
../../../../../lib/cmn/str-rot.c
244
WString
4
@ -1098,7 +1098,7 @@ WVList
247
MItem
32
../../../../../lib/cmn/str-tok.c
../../../../../lib/cmn/str-set.c
248
WString
4
@ -1116,7 +1116,7 @@ WVList
251
MItem
32
../../../../../lib/cmn/str-trm.c
../../../../../lib/cmn/str-spl.c
252
WString
4
@ -1133,8 +1133,8 @@ WVList
0
255
MItem
33
../../../../../lib/cmn/str-word.c
32
../../../../../lib/cmn/str-spn.c
256
WString
4
@ -1151,8 +1151,8 @@ WVList
0
259
MItem
29
../../../../../lib/cmn/time.c
32
../../../../../lib/cmn/str-str.c
260
WString
4
@ -1169,8 +1169,8 @@ WVList
0
263
MItem
32
../../../../../lib/cmn/tio-get.c
34
../../../../../lib/cmn/str-subst.c
264
WString
4
@ -1188,7 +1188,7 @@ WVList
267
MItem
32
../../../../../lib/cmn/tio-put.c
../../../../../lib/cmn/str-tok.c
268
WString
4
@ -1205,8 +1205,8 @@ WVList
0
271
MItem
28
../../../../../lib/cmn/tio.c
32
../../../../../lib/cmn/str-trm.c
272
WString
4
@ -1223,8 +1223,8 @@ WVList
0
275
MItem
32
../../../../../lib/cmn/tre-ast.c
33
../../../../../lib/cmn/str-word.c
276
WString
4
@ -1241,8 +1241,8 @@ WVList
0
279
MItem
36
../../../../../lib/cmn/tre-compile.c
29
../../../../../lib/cmn/time.c
280
WString
4
@ -1259,8 +1259,8 @@ WVList
0
283
MItem
44
../../../../../lib/cmn/tre-match-backtrack.c
32
../../../../../lib/cmn/tio-get.c
284
WString
4
@ -1277,8 +1277,8 @@ WVList
0
287
MItem
43
../../../../../lib/cmn/tre-match-parallel.c
32
../../../../../lib/cmn/tio-put.c
288
WString
4
@ -1295,8 +1295,8 @@ WVList
0
291
MItem
34
../../../../../lib/cmn/tre-parse.c
28
../../../../../lib/cmn/tio.c
292
WString
4
@ -1313,8 +1313,8 @@ WVList
0
295
MItem
34
../../../../../lib/cmn/tre-stack.c
32
../../../../../lib/cmn/tre-ast.c
296
WString
4
@ -1331,8 +1331,8 @@ WVList
0
299
MItem
28
../../../../../lib/cmn/tre.c
36
../../../../../lib/cmn/tre-compile.c
300
WString
4
@ -1349,8 +1349,8 @@ WVList
0
303
MItem
29
../../../../../lib/cmn/utf8.c
44
../../../../../lib/cmn/tre-match-backtrack.c
304
WString
4
@ -1367,8 +1367,8 @@ WVList
0
307
MItem
28
../../../../../lib/cmn/xma.c
43
../../../../../lib/cmn/tre-match-parallel.c
308
WString
4
@ -1385,55 +1385,145 @@ WVList
0
311
MItem
3
*.h
34
../../../../../lib/cmn/tre-parse.c
312
WString
3
NIL
4
COBJ
313
WVList
0
314
WVList
0
-1
11
1
1
0
315
MItem
28
../../../../../lib/cmn/mem.h
34
../../../../../lib/cmn/tre-stack.c
316
WString
3
NIL
4
COBJ
317
WVList
0
318
WVList
0
311
11
1
1
0
319
MItem
32
../../../../../lib/cmn/syscall.h
28
../../../../../lib/cmn/tre.c
320
WString
3
NIL
4
COBJ
321
WVList
0
322
WVList
0
311
11
1
1
0
323
MItem
29
../../../../../lib/cmn/utf8.c
324
WString
4
COBJ
325
WVList
0
326
WVList
0
11
1
1
0
327
MItem
28
../../../../../lib/cmn/xma.c
328
WString
4
COBJ
329
WVList
0
330
WVList
0
11
1
1
0
331
MItem
3
*.h
332
WString
3
NIL
333
WVList
0
334
WVList
0
-1
1
1
0
335
MItem
28
../../../../../lib/cmn/mem.h
336
WString
3
NIL
337
WVList
0
338
WVList
0
331
1
1
0
339
MItem
32
../../../../../lib/cmn/syscall.h
340
WString
3
NIL
341
WVList
0
342
WVList
0
331
1
1
0