changed qse_awk_parsestd_t and related code.
changed to use windows API for WIN32 in slmb.c
This commit is contained in:
@ -37,7 +37,7 @@ int main ()
|
||||
qse_awk_t* awk = QSE_NULL;
|
||||
qse_awk_rtx_t* rtx = QSE_NULL;
|
||||
qse_awk_val_t* retv;
|
||||
qse_awk_parsestd_in_t psin;
|
||||
qse_awk_parsestd_t psin;
|
||||
int ret = -1;
|
||||
|
||||
awk = qse_awk_openstd (0);
|
||||
@ -47,8 +47,9 @@ int main ()
|
||||
goto oops;
|
||||
}
|
||||
|
||||
psin.type = QSE_AWK_PARSESTD_CP;
|
||||
psin.u.cp = src;
|
||||
psin.type = QSE_AWK_PARSESTD_STR;
|
||||
psin.u.str.ptr = src;
|
||||
psin.u.str.len = qse_strlen(src);
|
||||
|
||||
if (qse_awk_parsestd (awk, &psin, QSE_NULL) <= -1)
|
||||
{
|
||||
|
@ -34,16 +34,14 @@ static const qse_char_t* src = QSE_T(
|
||||
"}"
|
||||
);
|
||||
|
||||
static qse_char_t srcout[5000];
|
||||
|
||||
int main ()
|
||||
{
|
||||
qse_awk_t* awk = QSE_NULL;
|
||||
qse_awk_rtx_t* rtx = QSE_NULL;
|
||||
qse_awk_val_t* retv;
|
||||
|
||||
qse_awk_parsestd_in_t psin;
|
||||
qse_awk_parsestd_out_t psout;
|
||||
qse_awk_parsestd_t psin;
|
||||
qse_awk_parsestd_t psout;
|
||||
|
||||
int ret;
|
||||
|
||||
@ -54,13 +52,13 @@ int main ()
|
||||
ret = -1; goto oops;
|
||||
}
|
||||
|
||||
qse_memset (srcout, QSE_T(' '), QSE_COUNTOF(srcout)-1);
|
||||
srcout[QSE_COUNTOF(srcout)-1] = QSE_T('\0');
|
||||
psin.type = QSE_AWK_PARSESTD_STR;
|
||||
psin.u.str.ptr = src;
|
||||
psin.u.str.len = qse_strlen(src);
|
||||
|
||||
psin.type = QSE_AWK_PARSESTD_CP;
|
||||
psin.u.cp = src;
|
||||
psout.type = QSE_AWK_PARSESTD_CP;
|
||||
psout.u.cp = srcout;
|
||||
psout.type = QSE_AWK_PARSESTD_STR;
|
||||
/* ps.out.u.str.ptr and ps.out.u.str.len are set when qse_awk_parsestd()
|
||||
* returns success */
|
||||
|
||||
ret = qse_awk_parsestd (awk, &psin, &psout);
|
||||
if (ret <= -1)
|
||||
@ -70,10 +68,12 @@ int main ()
|
||||
ret = -1; goto oops;
|
||||
}
|
||||
|
||||
qse_printf (QSE_T("DEPARSED SOURCE:\n%s\n"), srcout);
|
||||
qse_printf (QSE_T("DEPARSED SOURCE:\n%s\n"), psout.u.str.ptr);
|
||||
qse_printf (QSE_T("=================================\n"));
|
||||
qse_fflush (QSE_STDOUT);
|
||||
|
||||
QSE_MMGR_FREE (qse_awk_getmmgr(awk), psout.u.str.ptr);
|
||||
|
||||
rtx = qse_awk_rtx_openstd (
|
||||
awk,
|
||||
0,
|
||||
|
@ -43,7 +43,7 @@ int main ()
|
||||
qse_awk_t* awk = QSE_NULL;
|
||||
qse_awk_rtx_t* rtx = QSE_NULL;
|
||||
|
||||
qse_awk_parsestd_in_t psin;
|
||||
qse_awk_parsestd_t psin;
|
||||
|
||||
int ret, i;
|
||||
|
||||
@ -58,8 +58,9 @@ int main ()
|
||||
/* don't allow BEGIN, END, pattern-action blocks */
|
||||
qse_awk_setoption (awk, qse_awk_getoption(awk) & ~QSE_AWK_PABLOCK);
|
||||
|
||||
psin.type = QSE_AWK_PARSESTD_CP;
|
||||
psin.u.cp = src;
|
||||
psin.type = QSE_AWK_PARSESTD_STR;
|
||||
psin.u.str.ptr = src;
|
||||
psin.u.str.len = qse_strlen(src);
|
||||
|
||||
ret = qse_awk_parsestd (awk, &psin, QSE_NULL);
|
||||
if (ret == -1)
|
||||
|
@ -30,7 +30,7 @@ int main ()
|
||||
{
|
||||
qse_awk_t* awk = QSE_NULL;
|
||||
qse_awk_rtx_t* rtx = QSE_NULL;
|
||||
qse_awk_parsestd_in_t psin;
|
||||
qse_awk_parsestd_t psin;
|
||||
qse_char_t* str;
|
||||
qse_size_t len;
|
||||
qse_awk_val_t* rtv = QSE_NULL;
|
||||
@ -58,8 +58,9 @@ int main ()
|
||||
|
||||
qse_awk_setoption (awk, opt);
|
||||
|
||||
psin.type = QSE_AWK_PARSESTD_CP;
|
||||
psin.u.cp = src;
|
||||
psin.type = QSE_AWK_PARSESTD_STR;
|
||||
psin.u.str.ptr = src;
|
||||
psin.u.str.len = qse_strlen(src);
|
||||
|
||||
ret = qse_awk_parsestd (awk, &psin, QSE_NULL);
|
||||
if (ret == -1)
|
||||
|
@ -40,7 +40,7 @@ int main ()
|
||||
qse_awk_t* awk = QSE_NULL;
|
||||
qse_awk_rtx_t* rtx = QSE_NULL;
|
||||
qse_awk_val_t* retv;
|
||||
qse_awk_parsestd_in_t psin;
|
||||
qse_awk_parsestd_t psin;
|
||||
int ret = -1;
|
||||
|
||||
const qse_char_t* output_files[] =
|
||||
@ -65,8 +65,9 @@ int main ()
|
||||
|
||||
qse_awk_setoption (awk, qse_awk_getoption(awk) | QSE_AWK_NEXTOFILE);
|
||||
|
||||
psin.type = QSE_AWK_PARSESTD_CP;
|
||||
psin.u.cp = src;
|
||||
psin.type = QSE_AWK_PARSESTD_STR;
|
||||
psin.u.str.ptr = src;
|
||||
psin.u.str.len = qse_strlen(src);
|
||||
|
||||
if (qse_awk_parsestd (awk, &psin, QSE_NULL) <= -1)
|
||||
{
|
||||
|
@ -30,7 +30,7 @@ int main ()
|
||||
{
|
||||
qse_awk_t* awk = QSE_NULL;
|
||||
qse_awk_rtx_t* rtx = QSE_NULL;
|
||||
qse_awk_parsestd_in_t psin;
|
||||
qse_awk_parsestd_t psin;
|
||||
qse_awk_val_t* rtv = QSE_NULL;
|
||||
qse_awk_val_t* arg = QSE_NULL;
|
||||
int ret, i, opt;
|
||||
@ -65,8 +65,9 @@ int main ()
|
||||
|
||||
qse_awk_setoption (awk, opt);
|
||||
|
||||
psin.type = QSE_AWK_PARSESTD_CP;
|
||||
psin.u.cp = src;
|
||||
psin.type = QSE_AWK_PARSESTD_STR;
|
||||
psin.u.str.ptr = src;
|
||||
psin.u.str.len = qse_strlen(src);
|
||||
|
||||
ret = qse_awk_parsestd (awk, &psin, QSE_NULL);
|
||||
if (ret == -1)
|
||||
|
@ -17,6 +17,12 @@
|
||||
} while (0)
|
||||
|
||||
static int test1 (void)
|
||||
{
|
||||
qse_printf (QSE_T("slmblenmax=%d\n"), (int)qse_slmblenmax());
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int test2 (void)
|
||||
{
|
||||
int i;
|
||||
const qse_mchar_t* x[] =
|
||||
@ -80,9 +86,9 @@ static int test1 (void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int test2 (void)
|
||||
static int test3 (void)
|
||||
{
|
||||
const qse_wchar_t unistr[] =
|
||||
const qse_wchar_t unistr_kr[] =
|
||||
{
|
||||
/*L"\uB108 \uBB50\uAC00 \uC798\uB0AC\uC5B4!",*/
|
||||
0xB108,
|
||||
@ -97,16 +103,31 @@ static int test2 (void)
|
||||
L'\0'
|
||||
};
|
||||
|
||||
const qse_wchar_t unistr_cn[] =
|
||||
{
|
||||
/* 智慧手機帶頭 */
|
||||
/* \u667A\u6167\u624B\u6A5F\u5E36\u982D */
|
||||
0x667A,
|
||||
0x6167,
|
||||
0x624B,
|
||||
0x6A5F,
|
||||
0x5E36,
|
||||
0x982D,
|
||||
L'\0'
|
||||
};
|
||||
|
||||
const qse_wchar_t* x[] =
|
||||
{
|
||||
L"\0",
|
||||
L"",
|
||||
L"",
|
||||
L"Fly to the universe"
|
||||
};
|
||||
char buf[100];
|
||||
int i, j;
|
||||
|
||||
x[1] = unistr;
|
||||
x[1] = unistr_kr;
|
||||
x[2] = unistr_cn;
|
||||
|
||||
for (i = 0; i < QSE_COUNTOF(x); i++)
|
||||
{
|
||||
@ -162,6 +183,15 @@ int main ()
|
||||
setlocale (LC_ALL, locale);
|
||||
qse_setdflcmgr (qse_slmbcmgr);
|
||||
}
|
||||
|
||||
#if 0
|
||||
{
|
||||
WORD LangID = MAKELANGID(LANG_CHINESE, SUBLANG_DEFAULT);
|
||||
SetThreadLocale(MAKELCID(LangID, SORT_DEFAULT));
|
||||
/* SetThreadUILanguage(), SetThreadPreferredUILanguage(). */
|
||||
}
|
||||
#endif
|
||||
|
||||
#else
|
||||
setlocale (LC_ALL, "");
|
||||
qse_setdflcmgr (qse_slmbcmgr);
|
||||
@ -169,6 +199,7 @@ int main ()
|
||||
|
||||
R (test1);
|
||||
R (test2);
|
||||
R (test3);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ int sed_main (int argc, qse_char_t* argv[])
|
||||
goto oops;
|
||||
}
|
||||
|
||||
if (qse_sed_compstdmem (sed, argv[1]) <= -1)
|
||||
if (qse_sed_compstdstr (sed, argv[1]) <= -1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("ERROR: %s\n"), qse_sed_geterrmsg(sed));
|
||||
goto oops;
|
||||
@ -57,7 +57,7 @@ int sed_main (int argc, qse_char_t* argv[])
|
||||
infile = (argc >= 3)? argv[2]: QSE_NULL;
|
||||
outfile = (argc >= 4)? argv[3]: QSE_NULL;
|
||||
|
||||
if (qse_sed_execstdfile (sed, infile, outfile) <= -1)
|
||||
if (qse_sed_execstdfile (sed, infile, outfile, QSE_NULL) <= -1)
|
||||
{
|
||||
qse_fprintf (QSE_STDERR, QSE_T("ERROR: %s\n"), qse_sed_geterrmsg(sed));
|
||||
goto oops;
|
||||
|
Reference in New Issue
Block a user