touched up qse_task_t
This commit is contained in:
parent
55ee23a255
commit
b907296f4a
@ -17,6 +17,7 @@
|
|||||||
You should have received a copy of the GNU Lesser General Public
|
You should have received a copy of the GNU Lesser General Public
|
||||||
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
|
License along with QSE. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
#if 0
|
||||||
|
|
||||||
#include <qse/sed/std.h>
|
#include <qse/sed/std.h>
|
||||||
#include <qse/cmn/str.h>
|
#include <qse/cmn/str.h>
|
||||||
@ -1037,3 +1038,6 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
|
|
||||||
return qse_runmain (argc, argv, sed_main);
|
return qse_runmain (argc, argv, sed_main);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "../../samples/cmn/task01.c"
|
||||||
|
8
qse/configure
vendored
8
qse/configure
vendored
@ -18587,13 +18587,13 @@ fi
|
|||||||
|
|
||||||
if test "$enable_debug_is" = "yes"
|
if test "$enable_debug_is" = "yes"
|
||||||
then
|
then
|
||||||
CFLAGS="$CFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG"
|
CFLAGS="$CFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG -U_FORTIFY_SOURCE"
|
||||||
CXXFLAGS="$CXXFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG"
|
CXXFLAGS="$CXXFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG -U_FORTIFY_SOURCE"
|
||||||
BUILD_MODE="debug"
|
BUILD_MODE="debug"
|
||||||
|
|
||||||
else
|
else
|
||||||
CFLAGS="$CFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE"
|
CFLAGS="$CFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE -U_FORTIFY_SOURCE"
|
||||||
CXXFLAGS="$CXXFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE"
|
CXXFLAGS="$CXXFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE -U_FORTIFY_SOURCE"
|
||||||
BUILD_MODE="release"
|
BUILD_MODE="release"
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -332,12 +332,12 @@ AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug],[build the library in th
|
|||||||
enable_debug_is=$enableval,enable_debug_is=no)
|
enable_debug_is=$enableval,enable_debug_is=no)
|
||||||
if test "$enable_debug_is" = "yes"
|
if test "$enable_debug_is" = "yes"
|
||||||
then
|
then
|
||||||
[CFLAGS="$CFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG"]
|
[CFLAGS="$CFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG -U_FORTIFY_SOURCE"]
|
||||||
[CXXFLAGS="$CXXFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG"]
|
[CXXFLAGS="$CXXFLAGS -g -D_DEBUG -UNDEBUG -DQSE_BUILD_DEBUG -U_FORTIFY_SOURCE"]
|
||||||
AC_SUBST(BUILD_MODE, "debug")
|
AC_SUBST(BUILD_MODE, "debug")
|
||||||
else
|
else
|
||||||
[CFLAGS="$CFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE"]
|
[CFLAGS="$CFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE -U_FORTIFY_SOURCE"]
|
||||||
[CXXFLAGS="$CXXFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE"]
|
[CXXFLAGS="$CXXFLAGS -DNDEBUG -U_DEBUG -DQSE_BUILD_RELEASE -U_FORTIFY_SOURCE"]
|
||||||
AC_SUBST(BUILD_MODE, "release")
|
AC_SUBST(BUILD_MODE, "release")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -24,28 +24,55 @@
|
|||||||
#include <qse/types.h>
|
#include <qse/types.h>
|
||||||
#include <qse/macros.h>
|
#include <qse/macros.h>
|
||||||
|
|
||||||
typedef void (*qse_task_fnc_t) (void* ctx);
|
|
||||||
|
|
||||||
typedef struct qse_task_t qse_task_t;
|
typedef struct qse_task_t qse_task_t;
|
||||||
|
typedef struct qse_task_slice_t qse_task_slice_t;
|
||||||
|
|
||||||
|
typedef qse_task_slice_t* (*qse_task_fnc_t) (
|
||||||
|
qse_task_t* task,
|
||||||
|
qse_task_slice_t* slice,
|
||||||
|
void* ctx
|
||||||
|
);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int qse_gettaskid (
|
qse_task_t* qse_task_open (
|
||||||
|
qse_mmgr_t* mmgr,
|
||||||
|
qse_size_t xtnsize
|
||||||
|
);
|
||||||
|
|
||||||
|
void qse_task_close (
|
||||||
qse_task_t* task
|
qse_task_t* task
|
||||||
);
|
);
|
||||||
|
|
||||||
qse_task_t* qse_maketask (
|
qse_mmgr_t* qse_task_getmmgr (
|
||||||
|
qse_task_t* task
|
||||||
|
);
|
||||||
|
|
||||||
|
void* qse_task_getxtn (
|
||||||
|
qse_task_t* task
|
||||||
|
);
|
||||||
|
|
||||||
|
qse_task_slice_t* qse_task_create (
|
||||||
|
qse_task_t* task,
|
||||||
qse_task_fnc_t fnc,
|
qse_task_fnc_t fnc,
|
||||||
void* ctx,
|
void* ctx,
|
||||||
qse_size_t stsize
|
qse_size_t stksize
|
||||||
);
|
);
|
||||||
|
|
||||||
int qse_task_boot (
|
int qse_task_boot (
|
||||||
void
|
qse_task_t* task,
|
||||||
|
qse_task_slice_t* to
|
||||||
);
|
);
|
||||||
|
|
||||||
|
void qse_task_schedule (
|
||||||
|
qse_task_t* task,
|
||||||
|
qse_task_slice_t* from,
|
||||||
|
qse_task_slice_t* to
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -105,15 +105,14 @@
|
|||||||
* The QSE_OFFSETOF() macro returns the offset of a field from the beginning
|
* The QSE_OFFSETOF() macro returns the offset of a field from the beginning
|
||||||
* of a structure.
|
* of a structure.
|
||||||
*/
|
*/
|
||||||
#define QSE_OFFSETOF(type,member) \
|
#define QSE_OFFSETOF(type,member) ((qse_size_t)&((type*)0)->member)
|
||||||
((qse_size_t)&((type*)0)->member)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The QSE_ALIGNOF() macro returns the alignment size of a structure.
|
* The QSE_ALIGNOF() macro returns the alignment size of a structure.
|
||||||
* Note that this macro may not work reliably depending on the type given.
|
* Note that this macro may not work reliably depending on the type given.
|
||||||
*/
|
*/
|
||||||
#define QSE_ALIGNOF(type) QSE_OFFSETOF(struct { qse_uint8_t d1; type d2 }, d2)
|
#define QSE_ALIGNOF(type) QSE_OFFSETOF(struct { qse_uint8_t d1; type d2; }, d2)
|
||||||
/*(sizeof(struct { qse_uint8_t d1; type d2 }) - sizeof(type))*/
|
/*(sizeof(struct { qse_uint8_t d1; type d2; }) - sizeof(type))*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The QSE_TYPE_IS_SIGNED() macro determines if a type is signed.
|
* The QSE_TYPE_IS_SIGNED() macro determines if a type is signed.
|
||||||
|
@ -1244,15 +1244,21 @@ qse_long_t qse_awk_rtx_hashval (qse_awk_rtx_t* rtx, qse_awk_val_t* v)
|
|||||||
|
|
||||||
case QSE_AWK_VAL_INT:
|
case QSE_AWK_VAL_INT:
|
||||||
/*hv = ((qse_awk_val_int_t*)v)->val;*/
|
/*hv = ((qse_awk_val_int_t*)v)->val;*/
|
||||||
hv = (qse_long_t)hash (&((qse_awk_val_int_t*)v)->val, QSE_SIZEOF(((qse_awk_val_int_t*)v)->val));
|
hv = (qse_long_t)hash (
|
||||||
|
(qse_uint8_t*)&((qse_awk_val_int_t*)v)->val,
|
||||||
|
QSE_SIZEOF(((qse_awk_val_int_t*)v)->val));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QSE_AWK_VAL_FLT:
|
case QSE_AWK_VAL_FLT:
|
||||||
hv = (qse_long_t)hash (&((qse_awk_val_flt_t*)v)->val, QSE_SIZEOF(((qse_awk_val_flt_t*)v)->val));
|
hv = (qse_long_t)hash (
|
||||||
|
(qse_uint8_t*)&((qse_awk_val_flt_t*)v)->val,
|
||||||
|
QSE_SIZEOF(((qse_awk_val_flt_t*)v)->val));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case QSE_AWK_VAL_STR:
|
case QSE_AWK_VAL_STR:
|
||||||
hv = (qse_long_t)hash (((qse_awk_val_str_t*)v)->val.ptr, ((qse_awk_val_str_t*)v)->val.len * QSE_SIZEOF(qse_char_t));
|
hv = (qse_long_t)hash (
|
||||||
|
(qse_uint8_t*)((qse_awk_val_str_t*)v)->val.ptr,
|
||||||
|
((qse_awk_val_str_t*)v)->val.len * QSE_SIZEOF(qse_char_t));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -31,38 +31,36 @@ int qse_runmain (
|
|||||||
return handler (argc, (qse_char_t**)argv);
|
return handler (argc, (qse_char_t**)argv);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
int i, ret;
|
||||||
|
qse_char_t** v;
|
||||||
|
qse_mmgr_t* mmgr = QSE_MMGR_GETDFL ();
|
||||||
|
|
||||||
|
v = (qse_char_t**) QSE_MMGR_ALLOC (
|
||||||
|
mmgr, (argc + 1) * QSE_SIZEOF(qse_char_t*));
|
||||||
|
if (v == QSE_NULL) return -1;
|
||||||
|
|
||||||
|
for (i = 0; i < argc + 1; i++) v[i] = QSE_NULL;
|
||||||
|
|
||||||
|
for (i = 0; i < argc; i++)
|
||||||
{
|
{
|
||||||
int i, ret;
|
v[i]= qse_mbstowcsalldup (argv[i], mmgr);
|
||||||
qse_char_t** v;
|
if (v[i] == QSE_NULL)
|
||||||
qse_mmgr_t* mmgr = QSE_MMGR_GETDFL ();
|
|
||||||
|
|
||||||
v = (qse_char_t**) QSE_MMGR_ALLOC (
|
|
||||||
mmgr, (argc + 1) * QSE_SIZEOF(qse_char_t*));
|
|
||||||
if (v == QSE_NULL) return -1;
|
|
||||||
|
|
||||||
for (i = 0; i < argc + 1; i++) v[i] = QSE_NULL;
|
|
||||||
|
|
||||||
for (i = 0; i < argc; i++)
|
|
||||||
{
|
{
|
||||||
v[i]= qse_mbstowcsalldup (argv[i], mmgr);
|
ret = -1;
|
||||||
if (v[i] == QSE_NULL)
|
goto oops;
|
||||||
{
|
|
||||||
ret = -1;
|
|
||||||
goto oops;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = handler (argc, v);
|
|
||||||
|
|
||||||
oops:
|
|
||||||
for (i = 0; i < argc + 1; i++)
|
|
||||||
{
|
|
||||||
if (v[i] != QSE_NULL) QSE_MMGR_FREE (mmgr, v[i]);
|
|
||||||
}
|
|
||||||
QSE_MMGR_FREE (mmgr, v);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = handler (argc, v);
|
||||||
|
|
||||||
|
oops:
|
||||||
|
for (i = 0; i < argc + 1; i++)
|
||||||
|
{
|
||||||
|
if (v[i] != QSE_NULL) QSE_MMGR_FREE (mmgr, v[i]);
|
||||||
|
}
|
||||||
|
QSE_MMGR_FREE (mmgr, v);
|
||||||
|
|
||||||
|
return ret;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -72,50 +70,47 @@ int qse_runmainwithenv (
|
|||||||
{
|
{
|
||||||
#if (defined(QSE_ACHAR_IS_MCHAR) && defined(QSE_CHAR_IS_MCHAR)) || \
|
#if (defined(QSE_ACHAR_IS_MCHAR) && defined(QSE_CHAR_IS_MCHAR)) || \
|
||||||
(defined(QSE_ACHAR_IS_WCHAR) && defined(QSE_CHAR_IS_WCHAR))
|
(defined(QSE_ACHAR_IS_WCHAR) && defined(QSE_CHAR_IS_WCHAR))
|
||||||
{
|
return handler (argc, (qse_char_t**)argv, (qse_char_t**)envp);
|
||||||
return handler (argc, (qse_char_t**)argv, (qse_char_t**)envp);
|
|
||||||
}
|
|
||||||
#else
|
#else
|
||||||
|
int i, ret, envc;
|
||||||
|
qse_char_t** v;
|
||||||
|
qse_mmgr_t* mmgr = QSE_MMGR_GETDFL ();
|
||||||
|
|
||||||
|
if (envp) for (envc = 0; envp[envc]; envc++) ; /* count the number of env items */
|
||||||
|
else envc = 0;
|
||||||
|
|
||||||
|
v = (qse_char_t**) QSE_MMGR_ALLOC (
|
||||||
|
mmgr, (argc + 1 + envc + 1) * QSE_SIZEOF(qse_char_t*));
|
||||||
|
if (v == QSE_NULL) return -1;
|
||||||
|
|
||||||
|
for (i = 0; i < argc + 1 + envc + 1; i++) v[i] = QSE_NULL;
|
||||||
|
|
||||||
|
for (i = 0; i < argc + 1 + envc; i++)
|
||||||
{
|
{
|
||||||
int i, ret, envc;
|
qse_achar_t* x;
|
||||||
qse_char_t** v;
|
|
||||||
qse_mmgr_t* mmgr = QSE_MMGR_GETDFL ();
|
|
||||||
|
|
||||||
for (envc = 0; envp[envc]; envc++) ; /* count the number of env items */
|
if (i < argc) x = argv[i];
|
||||||
|
else if (i == argc) continue;
|
||||||
|
else x = envp[i - argc - 1];
|
||||||
|
|
||||||
v = (qse_char_t**) QSE_MMGR_ALLOC (
|
v[i]= qse_mbstowcsalldup (x, mmgr);
|
||||||
mmgr, (argc + 1 + envc + 1) * QSE_SIZEOF(qse_char_t*));
|
if (v[i] == QSE_NULL)
|
||||||
if (v == QSE_NULL) return -1;
|
|
||||||
|
|
||||||
for (i = 0; i < argc + 1 + envc + 1; i++) v[i] = QSE_NULL;
|
|
||||||
|
|
||||||
for (i = 0; i < argc + 1 + envc; i++)
|
|
||||||
{
|
{
|
||||||
qse_achar_t* x;
|
ret = -1;
|
||||||
|
goto oops;
|
||||||
if (i < argc) x = argv[i];
|
|
||||||
else if (i == argc) continue;
|
|
||||||
else x = envp[i - argc - 1];
|
|
||||||
|
|
||||||
v[i]= qse_mbstowcsalldup (x, mmgr);
|
|
||||||
if (v[i] == QSE_NULL)
|
|
||||||
{
|
|
||||||
ret = -1;
|
|
||||||
goto oops;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = handler (argc, v, &v[argc + 1]);
|
|
||||||
|
|
||||||
oops:
|
|
||||||
for (i = 0; i < argc + 1 + envc + 1; i++)
|
|
||||||
{
|
|
||||||
if (v[i] != QSE_NULL) QSE_MMGR_FREE (mmgr, v[i]);
|
|
||||||
}
|
|
||||||
QSE_MMGR_FREE (mmgr, v);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ret = handler (argc, v, &v[argc + 1]);
|
||||||
|
|
||||||
|
oops:
|
||||||
|
for (i = 0; i < argc + 1 + envc + 1; i++)
|
||||||
|
{
|
||||||
|
if (v[i] != QSE_NULL) QSE_MMGR_FREE (mmgr, v[i]);
|
||||||
|
}
|
||||||
|
QSE_MMGR_FREE (mmgr, v);
|
||||||
|
|
||||||
|
return ret;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,250 +19,254 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <qse/cmn/task.h>
|
#include <qse/cmn/task.h>
|
||||||
|
#include "mem.h"
|
||||||
|
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
# include <windows.h>
|
# include <windows.h>
|
||||||
#else
|
#else
|
||||||
|
# include <setjmp.h>
|
||||||
# if defined(HAVE_UCONTEXT_H)
|
# if defined(HAVE_UCONTEXT_H)
|
||||||
# include <ucontext.h>
|
# include <ucontext.h>
|
||||||
# endif
|
# endif
|
||||||
# include <setjmp.h>
|
# if defined(HAVE_MAKECONTEXT) && defined(HAVE_SWAPCONTEXT) && \
|
||||||
|
defined(HAVE_GETCONTEXT) && defined(HAVE_SETCONTEXT)
|
||||||
|
# define USE_UCONTEXT
|
||||||
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct tmgr_t tmgr_t;
|
struct qse_task_t
|
||||||
struct tmgr_t
|
|
||||||
{
|
{
|
||||||
int count;
|
qse_mmgr_t* mmgr;
|
||||||
int idinc;
|
|
||||||
|
|
||||||
qse_task_t* dead;
|
qse_task_slice_t* dead;
|
||||||
qse_task_t* current;
|
qse_task_slice_t* current;
|
||||||
qse_task_t* head;
|
|
||||||
qse_task_t* tail;
|
qse_size_t count;
|
||||||
|
qse_task_slice_t* head;
|
||||||
|
qse_task_slice_t* tail;
|
||||||
|
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
void* fiber;
|
void* fiber;
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
#elif defined(USE_UCONTEXT)
|
||||||
ucontext_t uctx;
|
ucontext_t uctx;
|
||||||
#else
|
#else
|
||||||
jmp_buf backjmp;
|
jmp_buf backjmp;
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct qse_task_t
|
struct qse_task_slice_t
|
||||||
{
|
{
|
||||||
/* queue */
|
|
||||||
tmgr_t* tmgr;
|
|
||||||
|
|
||||||
int id;
|
|
||||||
|
|
||||||
qse_task_fnc_t fnc;
|
|
||||||
void* ctx;
|
|
||||||
qse_size_t stsize;
|
|
||||||
|
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
void* fiber;
|
void* fiber;
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
#elif defined(USE_UCONTEXT)
|
||||||
ucontext_t uctx;
|
ucontext_t uctx;
|
||||||
#else
|
#else
|
||||||
jmp_buf jmpbuf;
|
jmp_buf jmpbuf;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
qse_task_t* prev;
|
qse_task_t* task;
|
||||||
qse_task_t* next;
|
|
||||||
|
int id;
|
||||||
|
qse_task_fnc_t fnc;
|
||||||
|
void* ctx;
|
||||||
|
qse_size_t stksize;
|
||||||
|
|
||||||
|
qse_task_slice_t* prev;
|
||||||
|
qse_task_slice_t* next;
|
||||||
};
|
};
|
||||||
|
|
||||||
static tmgr_t* tmgr;
|
int qse_task_init (qse_task_t* task, qse_mmgr_t* mmgr);
|
||||||
|
void qse_task_fini (qse_task_t* task);
|
||||||
|
|
||||||
qse_task_t* qse_task_alloc (qse_task_fnc_t fnc, void* ctx, qse_size_t stsize)
|
static void purge_slice (qse_task_t* task, qse_task_slice_t* slice);
|
||||||
|
static void purge_dead_slices (qse_task_t* task);
|
||||||
|
static void purge_current_slice (qse_task_slice_t* slice, qse_task_slice_t* to);
|
||||||
|
|
||||||
|
qse_task_t* qse_task_open (qse_mmgr_t* mmgr, qse_size_t xtnsize)
|
||||||
{
|
{
|
||||||
qse_task_t* task;
|
qse_task_t* task;
|
||||||
|
|
||||||
task = malloc (QSE_SIZEOF(*task) + stsize);
|
task = QSE_MMGR_ALLOC (mmgr, QSE_SIZEOF(*task) + xtnsize);
|
||||||
if (task == QSE_NULL) return QSE_NULL;
|
if (task == QSE_NULL) return QSE_NULL;
|
||||||
|
|
||||||
//QSE_MEMSET (task, 0, QSE_SIZEOF(*task));
|
if (qse_task_init (task, mmgr) <= -1)
|
||||||
QSE_MEMSET (task, 0, QSE_SIZEOF(*task) + stsize);
|
|
||||||
task->tmgr = tmgr;
|
|
||||||
task->fnc = fnc;
|
|
||||||
task->ctx = ctx;
|
|
||||||
task->stsize = stsize;
|
|
||||||
|
|
||||||
if (tmgr->head)
|
|
||||||
{
|
{
|
||||||
task->next= tmgr->head;
|
QSE_MMGR_FREE (task->mmgr, task);
|
||||||
tmgr->head->prev = task;
|
return QSE_NULL;
|
||||||
tmgr->head = task;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
tmgr->head = task;
|
|
||||||
tmgr->tail = task;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task->id = tmgr->idinc;
|
QSE_MEMSET (task + 1, 0, xtnsize);
|
||||||
tmgr->count++;
|
|
||||||
tmgr->idinc++;
|
|
||||||
|
|
||||||
return task;
|
return task;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void purge_dead_tasks (void)
|
void qse_task_close (qse_task_t* task)
|
||||||
{
|
{
|
||||||
qse_task_t* x;
|
qse_task_fini (task);
|
||||||
|
QSE_MMGR_FREE (task->mmgr, task);
|
||||||
|
}
|
||||||
|
|
||||||
while (tmgr->dead)
|
int qse_task_init (qse_task_t* task, qse_mmgr_t* mmgr)
|
||||||
|
{
|
||||||
|
QSE_MEMSET (task, 0, QSE_SIZEOF(*task));
|
||||||
|
task->mmgr = mmgr;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void qse_task_fini (qse_task_t* task)
|
||||||
|
{
|
||||||
|
QSE_ASSERT (task->dead == QSE_NULL);
|
||||||
|
QSE_ASSERT (task->current == QSE_NULL);
|
||||||
|
|
||||||
|
if (task->count > 0)
|
||||||
{
|
{
|
||||||
x = tmgr->dead;
|
/* am i closing after boot failure? */
|
||||||
tmgr->dead = x->next;
|
qse_task_slice_t* slice, * next;
|
||||||
#if defined(_WIN64)
|
|
||||||
DeleteFiber (x->fiber);
|
slice = task->head;
|
||||||
#endif
|
while (slice)
|
||||||
free (x);
|
{
|
||||||
|
next = slice->next;
|
||||||
|
purge_slice (task, slice);
|
||||||
|
slice = next;
|
||||||
|
}
|
||||||
|
|
||||||
|
task->count = 0;
|
||||||
|
task->head = QSE_NULL;
|
||||||
|
task->tail = QSE_NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void qse_task_schedule (void)
|
qse_mmgr_t* qse_task_getmmgr (qse_task_t* task)
|
||||||
{
|
{
|
||||||
qse_task_t* current;
|
return task->mmgr;
|
||||||
|
}
|
||||||
|
|
||||||
current = tmgr->current; /* old current */
|
void* qse_task_getxtn (qse_task_t* task)
|
||||||
tmgr->current = current->next? current->next: tmgr->head;
|
{
|
||||||
|
return (void*)(task + 1);
|
||||||
#if defined(_WIN64)
|
}
|
||||||
/* current->fiber is handled by SwitchToFiber() implicitly */
|
|
||||||
SwitchToFiber (tmgr->current->fiber);
|
static qse_task_slice_t* alloc_slice (
|
||||||
purge_dead_tasks ();
|
qse_task_t* task, qse_task_fnc_t fnc,
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
void* ctx, qse_size_t stksize)
|
||||||
swapcontext (¤t->uctx, &tmgr->current->uctx);
|
{
|
||||||
purge_dead_tasks ();
|
qse_task_slice_t* slice;
|
||||||
#else
|
|
||||||
//printf ("switch from %d to %d\n", current->id, tmgr->current->id);
|
slice = QSE_MMGR_ALLOC (task->mmgr, QSE_SIZEOF(*slice) + stksize);
|
||||||
if (setjmp (current->jmpbuf) != 0)
|
if (slice == QSE_NULL) return QSE_NULL;
|
||||||
|
|
||||||
|
QSE_MEMSET (slice, 0, QSE_SIZEOF(*slice));
|
||||||
|
slice->task = task;
|
||||||
|
slice->fnc = fnc;
|
||||||
|
slice->ctx = ctx;
|
||||||
|
slice->stksize = stksize;
|
||||||
|
|
||||||
|
return slice;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void link_task (qse_task_t* task, qse_task_slice_t* slice)
|
||||||
|
{
|
||||||
|
if (task->head)
|
||||||
{
|
{
|
||||||
purge_dead_tasks ();
|
slice->next = task->head;
|
||||||
return;
|
task->head->prev = slice;
|
||||||
|
task->head = slice;
|
||||||
}
|
}
|
||||||
longjmp (tmgr->current->jmpbuf, 1);
|
else
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
static void purge_current_task (void)
|
|
||||||
{
|
|
||||||
qse_task_t* current;
|
|
||||||
|
|
||||||
if (tmgr->count == 1)
|
|
||||||
{
|
{
|
||||||
/* to purge later */
|
task->head = slice;
|
||||||
tmgr->current->next = tmgr->dead;
|
task->tail = slice;
|
||||||
tmgr->dead = tmgr->current;
|
|
||||||
|
|
||||||
tmgr->current = QSE_NULL;
|
|
||||||
tmgr->head = QSE_NULL;
|
|
||||||
tmgr->tail = QSE_NULL;
|
|
||||||
tmgr->count = 0;
|
|
||||||
tmgr->idinc = 0;
|
|
||||||
|
|
||||||
#if defined(_WIN64)
|
|
||||||
SwitchToFiber (tmgr->fiber);
|
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
|
||||||
setcontext (&tmgr->uctx);
|
|
||||||
#else
|
|
||||||
longjmp (tmgr->backjmp, 1);
|
|
||||||
#endif
|
|
||||||
assert (!"must not reach here....");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
current = tmgr->current;
|
|
||||||
tmgr->current = current->next? current->next: tmgr->head;
|
|
||||||
|
|
||||||
if (current->prev) current->prev->next = current->next;
|
task->count++;
|
||||||
if (current->next) current->next->prev = current->prev;
|
}
|
||||||
if (current == tmgr->head) tmgr->head = current->next;
|
|
||||||
if (current == tmgr->tail) tmgr->tail = current->prev;
|
|
||||||
tmgr->count--;
|
|
||||||
|
|
||||||
/* to purge later */
|
|
||||||
current->next = tmgr->dead;
|
|
||||||
tmgr->dead = current;
|
|
||||||
|
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
SwitchToFiber (tmgr->current->fiber);
|
# define __CALL_BACK__ __stdcall
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
|
||||||
setcontext (&tmgr->current->uctx);
|
|
||||||
#else
|
#else
|
||||||
longjmp (tmgr->current->jmpbuf, 1);
|
# define __CALL_BACK__
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
|
|
||||||
#if defined(_WIN64)
|
static void __CALL_BACK__ execute_current_slice (qse_task_slice_t* slice)
|
||||||
static void __stdcall execute_current_task (void* task)
|
|
||||||
{
|
{
|
||||||
assert (tmgr->current != QSE_NULL);
|
qse_task_slice_t* to;
|
||||||
tmgr->current->fnc (tmgr->current->ctx);
|
|
||||||
purge_current_task ();
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
|
|
||||||
static void execute_current_task (void)
|
QSE_ASSERT (slice->task->current == slice);
|
||||||
{
|
to = slice->fnc (slice->task, slice, slice->ctx);
|
||||||
assert (tmgr->current != QSE_NULL);
|
|
||||||
|
|
||||||
tmgr->current->fnc (tmgr->current->ctx);
|
|
||||||
|
|
||||||
/* the task function is now terminated. we need to
|
/* the task function is now terminated. we need to
|
||||||
* purge it from the task list */
|
* purge it from the slice list and switch to the next
|
||||||
purge_current_task ();
|
* slice. */
|
||||||
|
purge_current_slice (slice, to);
|
||||||
|
QSE_ASSERT (!"must never reach here...");
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
static qse_task_t* xxtask;
|
|
||||||
static void* xxoldsp;
|
|
||||||
|
|
||||||
#if defined(__WATCOMC__)
|
#if defined(__WATCOMC__)
|
||||||
/* for watcom, i support i386/32bit only */
|
/* for watcom, i support i386/32bit only */
|
||||||
extern void* set_sp (void*);
|
|
||||||
#pragma aux set_sp = \
|
extern void* prepare_sp (void*);
|
||||||
"xchg eax, esp" \
|
#pragma aux prepare_sp = \
|
||||||
|
"mov dword ptr[eax+4], esp" \
|
||||||
|
"mov esp, eax" \
|
||||||
|
"mov eax, dword ptr[esp+0]" \
|
||||||
parm [eax] value [eax] modify [esp]
|
parm [eax] value [eax] modify [esp]
|
||||||
|
|
||||||
|
extern void* restore_sp (void);
|
||||||
|
#pragma aux restore_sp = \
|
||||||
|
"mov esp, dword ptr[esp+4]" \
|
||||||
|
modify [esp]
|
||||||
|
|
||||||
|
extern void* get_slice (void);
|
||||||
|
#pragma aux get_slice = \
|
||||||
|
"mov eax, dword ptr[esp+0]" \
|
||||||
|
value [eax]
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
qse_task_t* qse_maketask (qse_task_fnc_t fnc, void* ctx, qse_size_t stsize)
|
qse_task_slice_t* qse_task_create (
|
||||||
|
qse_task_t* task, qse_task_fnc_t fnc,
|
||||||
|
void* ctx, qse_size_t stksize)
|
||||||
{
|
{
|
||||||
qse_task_t* task;
|
qse_task_slice_t* slice;
|
||||||
void* newsp;
|
register void* tmp;
|
||||||
|
|
||||||
|
stksize = ((stksize + QSE_SIZEOF(void*) - 1) / QSE_SIZEOF(void*)) * QSE_SIZEOF(void*);
|
||||||
|
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
task = qse_task_alloc (fnc, ctx, 0);
|
slice = alloc_slice (task, fnc, ctx, 0);
|
||||||
if (task == QSE_NULL) return QSE_NULL;
|
if (slice == QSE_NULL) return QSE_NULL;
|
||||||
|
|
||||||
task->fiber = CreateFiberEx (stsize, stsize, FIBER_FLAG_FLOAT_SWITCH, execute_current_task, QSE_NULL);
|
slice->fiber = CreateFiberEx (
|
||||||
if (task->fiber == QSE_NULL)
|
stksize, stksize, FIBER_FLAG_FLOAT_SWITCH,
|
||||||
|
execute_current_slice, slice);
|
||||||
|
if (slice->fiber == QSE_NULL)
|
||||||
{
|
{
|
||||||
/* TODO: delete task */
|
QSE_MMGR_FREE (task->mmgr, slice);
|
||||||
return QSE_NULL;
|
return QSE_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
#elif defined(USE_UCONTEXT)
|
||||||
|
|
||||||
task = qse_task_alloc (fnc, ctx, stsize);
|
slice = alloc_slice (task, fnc, ctx, stksize);
|
||||||
if (task == QSE_NULL) return QSE_NULL;
|
if (slice == QSE_NULL) return QSE_NULL;
|
||||||
|
|
||||||
if (getcontext (&task->uctx) <= -1)
|
if (getcontext (&slice->uctx) <= -1)
|
||||||
{
|
{
|
||||||
/* TODO: delete task */
|
QSE_MMGR_FREE (task->mmgr, slice);
|
||||||
return QSE_NULL;
|
return QSE_NULL;
|
||||||
}
|
}
|
||||||
task->uctx.uc_stack.ss_sp = task + 1;
|
slice->uctx.uc_stack.ss_sp = slice + 1;
|
||||||
task->uctx.uc_stack.ss_size = stsize;
|
slice->uctx.uc_stack.ss_size = stksize;
|
||||||
task->uctx.uc_link = QSE_NULL;
|
slice->uctx.uc_link = QSE_NULL;
|
||||||
makecontext (&task->uctx, execute_current_task, 0);
|
makecontext (&slice->uctx, execute_current_slice, 1, slice);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
task = qse_task_alloc (fnc, ctx, stsize);
|
if (stksize < QSE_SIZEOF(void*) * 3)
|
||||||
if (task == QSE_NULL) return QSE_NULL;
|
stksize = QSE_SIZEOF(void*) * 3; /* for t1 & t2 */
|
||||||
|
|
||||||
|
slice = alloc_slice (task, fnc, ctx, stksize);
|
||||||
|
if (slice == QSE_NULL) return QSE_NULL;
|
||||||
|
|
||||||
/* setjmp() doesn't allow different stacks for
|
/* setjmp() doesn't allow different stacks for
|
||||||
* each execution content. let me use some assembly
|
* each execution content. let me use some assembly
|
||||||
@ -271,71 +275,65 @@ qse_task_t* qse_maketask (qse_task_fnc_t fnc, void* ctx, qse_size_t stsize)
|
|||||||
*
|
*
|
||||||
* this stack is used for the task function when
|
* this stack is used for the task function when
|
||||||
* longjmp() is made. */
|
* longjmp() is made. */
|
||||||
xxtask = task;
|
tmp = ((qse_uint8_t*)(slice + 1)) + stksize - QSE_SIZEOF(void*);
|
||||||
newsp = ((qse_uint8_t*)(task + 1)) + stsize - QSE_SIZEOF(void*);
|
|
||||||
|
tmp = (qse_uint8_t*)tmp - QSE_SIZEOF(void*);
|
||||||
|
*(void**)tmp = NULL; /* t1 */
|
||||||
|
|
||||||
|
tmp = (qse_uint8_t*)tmp - QSE_SIZEOF(void*);
|
||||||
|
*(void**)tmp = slice; /* t2 */
|
||||||
|
|
||||||
#if defined(__WATCOMC__)
|
#if defined(__WATCOMC__)
|
||||||
|
|
||||||
xxoldsp = set_sp (newsp);
|
tmp = prepare_sp (tmp);
|
||||||
|
|
||||||
#elif defined(__GNUC__) && (defined(__x86_64) || defined(__amd64))
|
#elif defined(__GNUC__) && (defined(__x86_64) || defined(__amd64))
|
||||||
|
|
||||||
/*
|
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"xchgq %0, %%rsp\n"
|
"movq %%rsp, 8(%1)\n\t" /* t1 = %rsp */
|
||||||
: "=r"(xxoldsp)
|
"movq %1, %%rsp\n\t" /* %rsp = tmp */
|
||||||
: "0"(newsp)
|
"movq 0(%%rsp), %0\n" /* tmp = t2 */
|
||||||
: "%rsp"
|
: "=r"(tmp)
|
||||||
);
|
: "0"(tmp)
|
||||||
*/
|
|
||||||
|
|
||||||
__asm__ volatile (
|
|
||||||
"movq %%rsp, %0\n\t"
|
|
||||||
"movq %1, %%rsp\n"
|
|
||||||
: "=m"(xxoldsp)
|
|
||||||
: "r"(newsp)
|
|
||||||
: "%rsp", "memory"
|
: "%rsp", "memory"
|
||||||
);
|
);
|
||||||
|
|
||||||
#elif defined(__GNUC__) && (defined(__i386) || defined(i386))
|
#elif defined(__GNUC__) && (defined(__i386) || defined(i386))
|
||||||
|
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"xchgl %0, %%esp\n"
|
"movl %%esp, 4(%1)\n\t" /* t1 = %esp */
|
||||||
: "=r"(xxoldsp)
|
"movl %1, %%esp\n\t" /* %esp = tmp */
|
||||||
: "0"(newsp)
|
"movl 0(%%esp), %0\n" /* tmp = t2 */
|
||||||
: "%esp"
|
: "=r"(tmp)
|
||||||
|
: "0"(tmp)
|
||||||
|
: "%esp", "memory"
|
||||||
);
|
);
|
||||||
|
|
||||||
#elif defined(__GNUC__) && (defined(__mips) || defined(mips))
|
#elif defined(__GNUC__) && (defined(__mips) || defined(mips))
|
||||||
|
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"sw $sp, %0\n\t" /* store $sp to xxoldsp */
|
"sw $sp, 4(%1)\n\t" /* t1 = $sp */
|
||||||
"move $sp, %1\n" /* move the register content for newsp to $sp */
|
"move $sp, %1\n\t" /* %sp = tmp */
|
||||||
: "=m"(xxoldsp)
|
"lw %0, 0($sp)\n" /* tmp = t2 */
|
||||||
: "r"(newsp)
|
: "=r"(tmp)
|
||||||
|
: "0"(tmp)
|
||||||
: "$sp", "memory"
|
: "$sp", "memory"
|
||||||
);
|
);
|
||||||
/*
|
|
||||||
__asm__ volatile (
|
|
||||||
"move %0, $sp\n\t"
|
|
||||||
"move $sp, %1\n"
|
|
||||||
: "=&r"(xxoldsp)
|
|
||||||
: "r"(newsp)
|
|
||||||
: "$sp", "memory"
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
|
|
||||||
#elif defined(__GNUC__) && defined(__arm__)
|
#elif defined(__GNUC__) && defined(__arm__)
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"str sp, %0\n\t"
|
"str sp, [%1, #4]\n\t" /* t1 = sp */
|
||||||
"mov sp, %1\n"
|
"mov sp, %1\n" /* sp = tmp */
|
||||||
: "=m"(xxoldsp)
|
"ldr %0, [sp, #0]\n" /* tmp = t2 */
|
||||||
: "r"(newsp)
|
: "=r"(tmp)
|
||||||
|
: "0"(tmp)
|
||||||
: "sp", "memory"
|
: "sp", "memory"
|
||||||
);
|
);
|
||||||
|
|
||||||
/* TODO: support more architecture */
|
|
||||||
#else
|
#else
|
||||||
|
/* TODO: support more architecture */
|
||||||
|
|
||||||
/* TODO: destroy task */
|
QSE_MMGR_FREE (task->mmgr, task);
|
||||||
//tmgr->errnum = QSE_TMGR_ENOIMPL;
|
|
||||||
return QSE_NULL;
|
return QSE_NULL;
|
||||||
|
|
||||||
#endif /* __WATCOMC__ */
|
#endif /* __WATCOMC__ */
|
||||||
@ -349,112 +347,254 @@ qse_task_t* qse_maketask (qse_task_fnc_t fnc, void* ctx, qse_size_t stsize)
|
|||||||
* this approach makes this function thread-unsafe.
|
* this approach makes this function thread-unsafe.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* when qse_maketask() is called,
|
/* when qse_task_task_create() is called,
|
||||||
* setjmp() saves the context and return 0.
|
* setjmp() saves the context and return 0.
|
||||||
*
|
*
|
||||||
* subsequently, when longjmp() is made
|
* subsequently, when longjmp() is made
|
||||||
* for this saved context, setjmp() returns
|
* for this saved context, setjmp() returns
|
||||||
* a non-zero value.
|
* a non-zero value.
|
||||||
*/
|
*/
|
||||||
if (setjmp (xxtask->jmpbuf) != 0)
|
if (setjmp (((qse_task_slice_t*)tmp)->jmpbuf) != 0)
|
||||||
{
|
{
|
||||||
/* longjmp() is made to here. */
|
/* longjmp() is made to here. */
|
||||||
execute_current_task ();
|
#if defined(__WATCOMC__)
|
||||||
assert (!"must never reach here....\n");
|
tmp = get_slice ();
|
||||||
|
|
||||||
|
#elif defined(__GNUC__) && (defined(__x86_64) || defined(__amd64))
|
||||||
|
__asm__ volatile (
|
||||||
|
"movq 0(%%rsp), %0\n" /* tmp = t2 */
|
||||||
|
: "=r"(tmp)
|
||||||
|
);
|
||||||
|
#elif defined(__GNUC__) && (defined(__i386) || defined(i386))
|
||||||
|
__asm__ volatile (
|
||||||
|
"movl 0(%%esp), %0\n" /* tmp = t2 */
|
||||||
|
: "=r"(tmp)
|
||||||
|
);
|
||||||
|
#elif defined(__GNUC__) && (defined(__mips) || defined(mips))
|
||||||
|
__asm__ volatile (
|
||||||
|
"lw %0, 0($sp)\n" /* tmp = t2 */
|
||||||
|
: "=r"(tmp)
|
||||||
|
);
|
||||||
|
#elif defined(__GNUC__) && defined(__arm__)
|
||||||
|
__asm__ volatile (
|
||||||
|
"ldr %0, [sp, #0]\n" /* tmp = t2 */
|
||||||
|
: "=r"(tmp)
|
||||||
|
);
|
||||||
|
#endif /* __WATCOMC__ */
|
||||||
|
|
||||||
|
execute_current_slice ((qse_task_slice_t*)tmp);
|
||||||
|
QSE_ASSERT (!"must never reach here....\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* restore the stack pointer once i finish saving the longjmp() context.
|
/* restore the stack pointer once i finish saving the longjmp() context.
|
||||||
* this part is reached only when qse_maketask() is invoked. */
|
* this part is reached only when qse_task_task_create() is invoked. */
|
||||||
#if defined(__WATCOMC__)
|
#if defined(__WATCOMC__)
|
||||||
|
|
||||||
set_sp (xxoldsp);
|
restore_sp ();
|
||||||
|
|
||||||
#elif defined(__GNUC__) && (defined(__x86_64) || defined(__amd64))
|
#elif defined(__GNUC__) && (defined(__x86_64) || defined(__amd64))
|
||||||
|
/* i assume that %rsp didn't change after the call to setjmp() */
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"movq %0, %%rsp\n"
|
"movq 8(%%rsp), %%rsp\n" /* %rsp = t1 */
|
||||||
:
|
:
|
||||||
: "m"(xxoldsp) /*"r"(xxoldsp)*/
|
:
|
||||||
: "%rsp"
|
: "%rsp"
|
||||||
);
|
);
|
||||||
|
|
||||||
#elif defined(__GNUC__) && (defined(__i386) || defined(i386))
|
#elif defined(__GNUC__) && (defined(__i386) || defined(i386))
|
||||||
|
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"movl %0, %%esp\n"
|
"movl 4(%%esp), %%esp\n" /* %esp = t1 */
|
||||||
:
|
:
|
||||||
: "r"(xxoldsp)
|
:
|
||||||
: "%esp"
|
: "%esp"
|
||||||
);
|
);
|
||||||
|
|
||||||
#elif defined(__GNUC__) && (defined(__mips) || defined(mips))
|
#elif defined(__GNUC__) && (defined(__mips) || defined(mips))
|
||||||
|
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"lw $sp, %0\n" /*"move $sp, %0\n" */
|
"lw $sp, 4($sp)\n" /* $sp = t1 */
|
||||||
:
|
:
|
||||||
: "m"(xxoldsp) /* "r"(xxoldsp) */
|
:
|
||||||
: "$sp"
|
: "$sp"
|
||||||
);
|
);
|
||||||
|
|
||||||
#elif defined(__GNUC__) && defined(__arm__)
|
#elif defined(__GNUC__) && defined(__arm__)
|
||||||
__asm__ volatile (
|
__asm__ volatile (
|
||||||
"ldr sp, %0\n"
|
"ldr sp, [sp, #4]\n" /* sp = t1 */
|
||||||
:
|
:
|
||||||
: "m"(xxoldsp)
|
:
|
||||||
: "sp"
|
: "sp"
|
||||||
);
|
);
|
||||||
|
|
||||||
#endif /* __WATCOMC__ */
|
#endif /* __WATCOMC__ */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return task;
|
link_task (task, slice);
|
||||||
|
return slice;
|
||||||
}
|
}
|
||||||
|
|
||||||
int qse_gettaskid (qse_task_t* task)
|
int qse_task_boot (qse_task_t* task, qse_task_slice_t* to)
|
||||||
{
|
{
|
||||||
return task->id;
|
QSE_ASSERT (task->current == QSE_NULL);
|
||||||
}
|
|
||||||
|
|
||||||
int qse_task_boot (void)
|
if (to == QSE_NULL) to = task->head;
|
||||||
{
|
|
||||||
if (tmgr->count <= 0) return -1;
|
|
||||||
|
|
||||||
#if defined(_WIN64)
|
#if defined(_WIN64)
|
||||||
tmgr->fiber = ConvertThreadToFiberEx (QSE_NULL, FIBER_FLAG_FLOAT_SWITCH);
|
task->fiber = ConvertThreadToFiberEx (QSE_NULL, FIBER_FLAG_FLOAT_SWITCH);
|
||||||
if (tmgr->fiber == QSE_NULL)
|
if (task->fiber == QSE_NULL) return -1;
|
||||||
{
|
|
||||||
/*TODO: destroy all the tasks created */
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
tmgr->current = tmgr->tail;
|
task->current = to;
|
||||||
SwitchToFiber (tmgr->current->fiber);
|
SwitchToFiber (task->current->fiber);
|
||||||
ConvertFiberToThread ();
|
ConvertFiberToThread ();
|
||||||
|
|
||||||
#elif defined(HAVE_SWAPCONTEXT)
|
#elif defined(USE_UCONTEXT)
|
||||||
|
|
||||||
tmgr->current = tmgr->tail;
|
task->current = to;
|
||||||
if (swapcontext (&tmgr->uctx, &tmgr->current->uctx) <= -1)
|
if (swapcontext (&task->uctx, &task->current->uctx) <= -1)
|
||||||
{
|
{
|
||||||
/*TODO: destroy all the tasks created */
|
task->current = QSE_NULL;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
if (setjmp (tmgr->backjmp) != 0)
|
if (setjmp (task->backjmp) != 0)
|
||||||
{
|
{
|
||||||
/* longjmp() back */
|
/* longjmp() back */
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
tmgr->current = tmgr->tail;
|
task->current = to;
|
||||||
longjmp (tmgr->current->jmpbuf, 1);
|
longjmp (task->current->jmpbuf, 1);
|
||||||
assert (!"must never reach here");
|
QSE_ASSERT (!"must never reach here");
|
||||||
|
|
||||||
done:
|
done:
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
assert (tmgr->current == QSE_NULL);
|
QSE_ASSERT (task->current == QSE_NULL);
|
||||||
assert (tmgr->count == 0);
|
QSE_ASSERT (task->count == 0);
|
||||||
|
|
||||||
purge_dead_tasks ();
|
if (task->dead) purge_dead_slices (task);
|
||||||
printf ("END OF TASK_BOOT...\n");
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* NOTE for __WATCOMC__.
|
||||||
|
when the number of parameters are more than 2 for qse_task_schedule(),
|
||||||
|
this setjmp()/longjmp() based tasking didn't work.
|
||||||
|
|
||||||
|
if i change this to
|
||||||
|
void qse_task_schedule (qse_task_slice_t* from, qse_task_slice_t* to)
|
||||||
|
{
|
||||||
|
qse_task_t* task = from->task
|
||||||
|
....
|
||||||
|
}
|
||||||
|
|
||||||
|
it worked. i stopped investigating this problem. so i don't know the
|
||||||
|
real cause of this problem. let me get back to this later when i have
|
||||||
|
time for this.
|
||||||
|
*/
|
||||||
|
|
||||||
|
void qse_task_schedule (
|
||||||
|
qse_task_t* task, qse_task_slice_t* from, qse_task_slice_t* to)
|
||||||
|
{
|
||||||
|
QSE_ASSERT (from != QSE_NULL);
|
||||||
|
|
||||||
|
if (to == QSE_NULL)
|
||||||
|
{
|
||||||
|
/* round-robin if the target is not specified */
|
||||||
|
to = from->next? from->next: task->head;
|
||||||
|
}
|
||||||
|
|
||||||
|
QSE_ASSERT (task == to->task);
|
||||||
|
QSE_ASSERT (task == from->task);
|
||||||
|
QSE_ASSERT (task->current == from);
|
||||||
|
|
||||||
|
if (to == from) return;
|
||||||
|
task->current = to;
|
||||||
|
|
||||||
|
#if defined(_WIN64)
|
||||||
|
/* current->fiber is handled by SwitchToFiber() implicitly */
|
||||||
|
SwitchToFiber (to->fiber);
|
||||||
|
if (task->dead) purge_dead_slices (task);
|
||||||
|
#elif defined(USE_UCONTEXT)
|
||||||
|
swapcontext (&from->uctx, &to->uctx);
|
||||||
|
if (task->dead) purge_dead_slices (task);
|
||||||
|
#else
|
||||||
|
if (setjmp (from->jmpbuf) != 0)
|
||||||
|
{
|
||||||
|
if (task->dead) purge_dead_slices (task);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
longjmp (to->jmpbuf, 1);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static void purge_dead_slices (qse_task_t* task)
|
||||||
|
{
|
||||||
|
qse_task_slice_t* slice;
|
||||||
|
|
||||||
|
while (task->dead)
|
||||||
|
{
|
||||||
|
slice = task->dead;
|
||||||
|
task->dead = slice->next;
|
||||||
|
purge_slice (task, slice);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void purge_slice (qse_task_t* task, qse_task_slice_t* slice)
|
||||||
|
{
|
||||||
|
#if defined(_WIN64)
|
||||||
|
if (slice->fiber) DeleteFiber (slice->fiber);
|
||||||
|
#endif
|
||||||
|
QSE_MMGR_FREE (task->mmgr, slice);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void purge_current_slice (qse_task_slice_t* slice, qse_task_slice_t* to)
|
||||||
|
{
|
||||||
|
qse_task_t* task = slice->task;
|
||||||
|
|
||||||
|
QSE_ASSERT (task->current == slice);
|
||||||
|
|
||||||
|
if (task->count == 1)
|
||||||
|
{
|
||||||
|
/* to purge later */
|
||||||
|
slice->next = task->dead;
|
||||||
|
task->dead = slice;
|
||||||
|
|
||||||
|
task->current = QSE_NULL;
|
||||||
|
task->head = QSE_NULL;
|
||||||
|
task->tail = QSE_NULL;
|
||||||
|
task->count = 0;
|
||||||
|
|
||||||
|
#if defined(_WIN64)
|
||||||
|
SwitchToFiber (task->fiber);
|
||||||
|
#elif defined(USE_UCONTEXT)
|
||||||
|
setcontext (&task->uctx);
|
||||||
|
#else
|
||||||
|
longjmp (task->backjmp, 1);
|
||||||
|
#endif
|
||||||
|
QSE_ASSERT (!"must not reach here....");
|
||||||
|
}
|
||||||
|
|
||||||
|
task->current = (to && to != slice)? to: (slice->next? slice->next: task->head);
|
||||||
|
|
||||||
|
if (slice->prev) slice->prev->next = slice->next;
|
||||||
|
if (slice->next) slice->next->prev = slice->prev;
|
||||||
|
if (slice == task->head) task->head = slice->next;
|
||||||
|
if (slice == task->tail) task->tail = slice->prev;
|
||||||
|
task->count--;
|
||||||
|
|
||||||
|
/* to purge later */
|
||||||
|
slice->next = task->dead;
|
||||||
|
task->dead = slice;
|
||||||
|
|
||||||
|
#if defined(_WIN64)
|
||||||
|
SwitchToFiber (task->current->fiber);
|
||||||
|
#elif defined(USE_UCONTEXT)
|
||||||
|
setcontext (&task->current->uctx);
|
||||||
|
#else
|
||||||
|
longjmp (task->current->jmpbuf, 1);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -281,10 +281,9 @@ typedef enum { STR_WIDE, STR_BYTE, STR_MBS, STR_USER } tre_str_type_t;
|
|||||||
|
|
||||||
/* Returns number of bytes to add to (char *)ptr to make it
|
/* Returns number of bytes to add to (char *)ptr to make it
|
||||||
properly aligned for the type. */
|
properly aligned for the type. */
|
||||||
#define ALIGN(ptr, type) \
|
#define ALIGN(ptr,type) \
|
||||||
((((qse_uintptr_t)ptr) % QSE_SIZEOF(type)) \
|
((((qse_uintptr_t)ptr) % QSE_SIZEOF(type))? \
|
||||||
? (QSE_SIZEOF(type) - (((qse_uintptr_t)ptr) % QSE_SIZEOF(type))) \
|
(QSE_SIZEOF(type) - (((qse_uintptr_t)ptr) % QSE_SIZEOF(type))): 0)
|
||||||
: 0)
|
|
||||||
|
|
||||||
#undef MAX
|
#undef MAX
|
||||||
#undef MIN
|
#undef MIN
|
||||||
|
@ -88,7 +88,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -115,7 +115,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -160,7 +160,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -449,7 +449,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -199,7 +199,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -219,7 +219,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -223,7 +223,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -37,6 +37,7 @@ bin_PROGRAMS = \
|
|||||||
sll \
|
sll \
|
||||||
slmb01 \
|
slmb01 \
|
||||||
str01 \
|
str01 \
|
||||||
|
task01 \
|
||||||
time \
|
time \
|
||||||
tre01 \
|
tre01 \
|
||||||
uri01 \
|
uri01 \
|
||||||
|
@ -41,8 +41,8 @@ bin_PROGRAMS = chr01$(EXEEXT) env$(EXEEXT) dll$(EXEEXT) fio01$(EXEEXT) \
|
|||||||
mbwc02$(EXEEXT) nwad01$(EXEEXT) oht$(EXEEXT) path01$(EXEEXT) \
|
mbwc02$(EXEEXT) nwad01$(EXEEXT) oht$(EXEEXT) path01$(EXEEXT) \
|
||||||
pio$(EXEEXT) pma$(EXEEXT) rex01$(EXEEXT) rbt$(EXEEXT) \
|
pio$(EXEEXT) pma$(EXEEXT) rex01$(EXEEXT) rbt$(EXEEXT) \
|
||||||
sio01$(EXEEXT) sio02$(EXEEXT) sio03$(EXEEXT) sll$(EXEEXT) \
|
sio01$(EXEEXT) sio02$(EXEEXT) sio03$(EXEEXT) sll$(EXEEXT) \
|
||||||
slmb01$(EXEEXT) str01$(EXEEXT) time$(EXEEXT) tre01$(EXEEXT) \
|
slmb01$(EXEEXT) str01$(EXEEXT) task01$(EXEEXT) time$(EXEEXT) \
|
||||||
uri01$(EXEEXT) xma$(EXEEXT)
|
tre01$(EXEEXT) uri01$(EXEEXT) xma$(EXEEXT)
|
||||||
@WCHAR_TRUE@@WIN32_TRUE@am__append_1 = $(UNICOWS_LIBS)
|
@WCHAR_TRUE@@WIN32_TRUE@am__append_1 = $(UNICOWS_LIBS)
|
||||||
subdir = samples/cmn
|
subdir = samples/cmn
|
||||||
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
|
||||||
@ -182,6 +182,10 @@ am_str01_OBJECTS = str01.$(OBJEXT)
|
|||||||
str01_OBJECTS = $(am_str01_OBJECTS)
|
str01_OBJECTS = $(am_str01_OBJECTS)
|
||||||
str01_LDADD = $(LDADD)
|
str01_LDADD = $(LDADD)
|
||||||
str01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
str01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||||
|
task01_SOURCES = task01.c
|
||||||
|
task01_OBJECTS = task01.$(OBJEXT)
|
||||||
|
task01_LDADD = $(LDADD)
|
||||||
|
task01_DEPENDENCIES = $(am__DEPENDENCIES_2)
|
||||||
am_time_OBJECTS = time.$(OBJEXT)
|
am_time_OBJECTS = time.$(OBJEXT)
|
||||||
time_OBJECTS = $(am_time_OBJECTS)
|
time_OBJECTS = $(am_time_OBJECTS)
|
||||||
time_LDADD = $(LDADD)
|
time_LDADD = $(LDADD)
|
||||||
@ -220,7 +224,7 @@ SOURCES = $(chr01_SOURCES) $(dll_SOURCES) $(env_SOURCES) \
|
|||||||
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
||||||
$(rbt_SOURCES) $(rex01_SOURCES) $(sio01_SOURCES) \
|
$(rbt_SOURCES) $(rex01_SOURCES) $(sio01_SOURCES) \
|
||||||
$(sio02_SOURCES) $(sio03_SOURCES) $(sll_SOURCES) \
|
$(sio02_SOURCES) $(sio03_SOURCES) $(sll_SOURCES) \
|
||||||
$(slmb01_SOURCES) $(str01_SOURCES) $(time_SOURCES) \
|
$(slmb01_SOURCES) $(str01_SOURCES) task01.c $(time_SOURCES) \
|
||||||
$(tre01_SOURCES) uri01.c $(xma_SOURCES)
|
$(tre01_SOURCES) uri01.c $(xma_SOURCES)
|
||||||
DIST_SOURCES = $(chr01_SOURCES) $(dll_SOURCES) $(env_SOURCES) \
|
DIST_SOURCES = $(chr01_SOURCES) $(dll_SOURCES) $(env_SOURCES) \
|
||||||
$(fio01_SOURCES) $(fio02_SOURCES) $(fma_SOURCES) \
|
$(fio01_SOURCES) $(fio02_SOURCES) $(fma_SOURCES) \
|
||||||
@ -231,7 +235,7 @@ DIST_SOURCES = $(chr01_SOURCES) $(dll_SOURCES) $(env_SOURCES) \
|
|||||||
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
$(oht_SOURCES) $(path01_SOURCES) $(pio_SOURCES) $(pma_SOURCES) \
|
||||||
$(rbt_SOURCES) $(rex01_SOURCES) $(sio01_SOURCES) \
|
$(rbt_SOURCES) $(rex01_SOURCES) $(sio01_SOURCES) \
|
||||||
$(sio02_SOURCES) $(sio03_SOURCES) $(sll_SOURCES) \
|
$(sio02_SOURCES) $(sio03_SOURCES) $(sll_SOURCES) \
|
||||||
$(slmb01_SOURCES) $(str01_SOURCES) $(time_SOURCES) \
|
$(slmb01_SOURCES) $(str01_SOURCES) task01.c $(time_SOURCES) \
|
||||||
$(tre01_SOURCES) uri01.c $(xma_SOURCES)
|
$(tre01_SOURCES) uri01.c $(xma_SOURCES)
|
||||||
ETAGS = etags
|
ETAGS = etags
|
||||||
CTAGS = ctags
|
CTAGS = ctags
|
||||||
@ -596,6 +600,9 @@ slmb01$(EXEEXT): $(slmb01_OBJECTS) $(slmb01_DEPENDENCIES) $(EXTRA_slmb01_DEPENDE
|
|||||||
str01$(EXEEXT): $(str01_OBJECTS) $(str01_DEPENDENCIES) $(EXTRA_str01_DEPENDENCIES)
|
str01$(EXEEXT): $(str01_OBJECTS) $(str01_DEPENDENCIES) $(EXTRA_str01_DEPENDENCIES)
|
||||||
@rm -f str01$(EXEEXT)
|
@rm -f str01$(EXEEXT)
|
||||||
$(LINK) $(str01_OBJECTS) $(str01_LDADD) $(LIBS)
|
$(LINK) $(str01_OBJECTS) $(str01_LDADD) $(LIBS)
|
||||||
|
task01$(EXEEXT): $(task01_OBJECTS) $(task01_DEPENDENCIES) $(EXTRA_task01_DEPENDENCIES)
|
||||||
|
@rm -f task01$(EXEEXT)
|
||||||
|
$(LINK) $(task01_OBJECTS) $(task01_LDADD) $(LIBS)
|
||||||
time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES)
|
time$(EXEEXT): $(time_OBJECTS) $(time_DEPENDENCIES) $(EXTRA_time_DEPENDENCIES)
|
||||||
@rm -f time$(EXEEXT)
|
@rm -f time$(EXEEXT)
|
||||||
$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
|
$(LINK) $(time_OBJECTS) $(time_LDADD) $(LIBS)
|
||||||
@ -645,6 +652,7 @@ distclean-compile:
|
|||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sll.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sll.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slmb01.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slmb01.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/str01.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/str01.Po@am__quote@
|
||||||
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/task01.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tre01.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tre01.Po@am__quote@
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri01.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri01.Po@am__quote@
|
||||||
|
@ -34,7 +34,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -62,7 +62,7 @@ int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -82,7 +82,7 @@ int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -81,7 +81,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -44,7 +44,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -194,7 +194,7 @@ int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -28,7 +28,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -33,7 +33,7 @@ int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -219,7 +219,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -299,7 +299,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -155,12 +155,12 @@ static int test_main (int argc, qse_char_t* argv[], qse_char_t* envp[])
|
|||||||
int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
char locale[100];
|
char locale[100];
|
||||||
UINT codepage = GetConsoleOutputCP();
|
UINT codepage = GetConsoleOutputCP();
|
||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -71,7 +71,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -98,7 +98,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -151,7 +151,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOutputCP (CP_UTF8);*/
|
/*SetConsoleOutputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -139,7 +139,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -200,7 +200,7 @@ int main ()
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
104
qse/samples/cmn/task01.c
Normal file
104
qse/samples/cmn/task01.c
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
#include <qse/cmn/task.h>
|
||||||
|
#include <qse/cmn/main.h>
|
||||||
|
#include <qse/cmn/mbwc.h>
|
||||||
|
#include <qse/cmn/mem.h>
|
||||||
|
#include <qse/cmn/stdio.h>
|
||||||
|
|
||||||
|
#include <locale.h>
|
||||||
|
#if defined(_WIN32)
|
||||||
|
# include <windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static qse_task_slice_t* print (
|
||||||
|
qse_task_t* task, qse_task_slice_t* slice, void* ctx)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int num = (int)ctx;
|
||||||
|
|
||||||
|
qse_printf (QSE_T("task[%03d] => starting\n"), num);
|
||||||
|
for (i = 0; i < 5; i++)
|
||||||
|
{
|
||||||
|
qse_printf (QSE_T("task[%03d] => %03d\n"), num, i);
|
||||||
|
|
||||||
|
qse_task_schedule (task, slice, QSE_NULL);
|
||||||
|
|
||||||
|
if (i == 2 && num == 1)
|
||||||
|
{
|
||||||
|
qse_task_create (task, print, (void*)99, 40000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
qse_printf (QSE_T("task[%03d] => exiting\n"), num);
|
||||||
|
return QSE_NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int start_task (qse_task_fnc_t fnc)
|
||||||
|
{
|
||||||
|
qse_task_t* task;
|
||||||
|
qse_task_slice_t* slice;
|
||||||
|
|
||||||
|
task = qse_task_open (QSE_MMGR_GETDFL(), 0);
|
||||||
|
if (task == NULL)
|
||||||
|
{
|
||||||
|
qse_printf (QSE_T("cannot initialize tasking system\n"));
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
qse_printf (QSE_T("== END ==\n"));
|
||||||
|
|
||||||
|
if (qse_task_create (task, fnc, (void*)1, 40000) == QSE_NULL ||
|
||||||
|
(slice = qse_task_create (task, fnc, (void*)2, 40000)) == QSE_NULL ||
|
||||||
|
qse_task_create (task, fnc, (void*)3, 40000) == QSE_NULL ||
|
||||||
|
qse_task_create (task, fnc, (void*)4, 40000) == QSE_NULL)
|
||||||
|
{
|
||||||
|
qse_printf (QSE_T("cannot create task slice\n"));
|
||||||
|
qse_task_close (task);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (qse_task_boot (task, slice) <= -1)
|
||||||
|
{
|
||||||
|
qse_printf (QSE_T("cannot start task\n"));
|
||||||
|
qse_task_close (task);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
qse_printf (QSE_T("== END ==\n"));
|
||||||
|
|
||||||
|
qse_task_close (task);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int test_main (int argc, qse_char_t* argv[])
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = start_task (print);
|
||||||
|
qse_printf (QSE_T("== END ==\n"));
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
int qse_main (int argc, qse_achar_t* argv[])
|
||||||
|
{
|
||||||
|
#if defined(_WIN32)
|
||||||
|
char locale[100];
|
||||||
|
UINT codepage = GetConsoleOutputCP();
|
||||||
|
if (codepage == CP_UTF8)
|
||||||
|
{
|
||||||
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sprintf (locale, ".%u", (unsigned int)codepage);
|
||||||
|
setlocale (LC_ALL, locale);
|
||||||
|
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
setlocale (LC_ALL, "");
|
||||||
|
qse_setdflcmgrbyid (QSE_CMGR_SLMB);
|
||||||
|
#endif
|
||||||
|
return qse_runmain (argc, argv, test_main);
|
||||||
|
}
|
||||||
|
|
@ -83,7 +83,7 @@ int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -122,7 +122,7 @@ int qse_main (int argc, qse_achar_t* argv[], qse_achar_t* envp[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -98,7 +98,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -226,7 +226,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -879,7 +879,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -76,7 +76,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -85,7 +85,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -100,7 +100,7 @@ int qse_main (int argc, qse_achar_t* argv[])
|
|||||||
if (codepage == CP_UTF8)
|
if (codepage == CP_UTF8)
|
||||||
{
|
{
|
||||||
/*SetConsoleOUtputCP (CP_UTF8);*/
|
/*SetConsoleOUtputCP (CP_UTF8);*/
|
||||||
qse_setdflcmgr (qse_utf8cmgr);
|
qse_setdflcmgrbyid (QSE_CMGR_UTF8);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -42,7 +42,7 @@ WVList
|
|||||||
0
|
0
|
||||||
10
|
10
|
||||||
WPickList
|
WPickList
|
||||||
83
|
85
|
||||||
11
|
11
|
||||||
MItem
|
MItem
|
||||||
3
|
3
|
||||||
@ -564,7 +564,7 @@ WVList
|
|||||||
127
|
127
|
||||||
MItem
|
MItem
|
||||||
29
|
29
|
||||||
../../../../../lib/cmn/nwio.c
|
../../../../../lib/cmn/nwif.c
|
||||||
128
|
128
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -581,8 +581,8 @@ WVList
|
|||||||
0
|
0
|
||||||
131
|
131
|
||||||
MItem
|
MItem
|
||||||
28
|
29
|
||||||
../../../../../lib/cmn/oht.c
|
../../../../../lib/cmn/nwio.c
|
||||||
132
|
132
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -600,7 +600,7 @@ WVList
|
|||||||
135
|
135
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/opt.c
|
../../../../../lib/cmn/oht.c
|
||||||
136
|
136
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -617,8 +617,8 @@ WVList
|
|||||||
0
|
0
|
||||||
139
|
139
|
||||||
MItem
|
MItem
|
||||||
38
|
28
|
||||||
../../../../../lib/cmn/path-basename.c
|
../../../../../lib/cmn/opt.c
|
||||||
140
|
140
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -635,8 +635,8 @@ WVList
|
|||||||
0
|
0
|
||||||
143
|
143
|
||||||
MItem
|
MItem
|
||||||
35
|
38
|
||||||
../../../../../lib/cmn/path-canon.c
|
../../../../../lib/cmn/path-basename.c
|
||||||
144
|
144
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -653,8 +653,8 @@ WVList
|
|||||||
0
|
0
|
||||||
147
|
147
|
||||||
MItem
|
MItem
|
||||||
28
|
35
|
||||||
../../../../../lib/cmn/pio.c
|
../../../../../lib/cmn/path-canon.c
|
||||||
148
|
148
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -672,7 +672,7 @@ WVList
|
|||||||
151
|
151
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/pma.c
|
../../../../../lib/cmn/pio.c
|
||||||
152
|
152
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -690,7 +690,7 @@ WVList
|
|||||||
155
|
155
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/rbt.c
|
../../../../../lib/cmn/pma.c
|
||||||
156
|
156
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -708,7 +708,7 @@ WVList
|
|||||||
159
|
159
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/rex.c
|
../../../../../lib/cmn/rbt.c
|
||||||
160
|
160
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -726,7 +726,7 @@ WVList
|
|||||||
163
|
163
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/sio.c
|
../../../../../lib/cmn/rex.c
|
||||||
164
|
164
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -744,7 +744,7 @@ WVList
|
|||||||
167
|
167
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/sll.c
|
../../../../../lib/cmn/sio.c
|
||||||
168
|
168
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -761,8 +761,8 @@ WVList
|
|||||||
0
|
0
|
||||||
171
|
171
|
||||||
MItem
|
MItem
|
||||||
29
|
28
|
||||||
../../../../../lib/cmn/slmb.c
|
../../../../../lib/cmn/sll.c
|
||||||
172
|
172
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -779,8 +779,8 @@ WVList
|
|||||||
0
|
0
|
||||||
175
|
175
|
||||||
MItem
|
MItem
|
||||||
30
|
29
|
||||||
../../../../../lib/cmn/stdio.c
|
../../../../../lib/cmn/slmb.c
|
||||||
176
|
176
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -797,8 +797,8 @@ WVList
|
|||||||
0
|
0
|
||||||
179
|
179
|
||||||
MItem
|
MItem
|
||||||
32
|
30
|
||||||
../../../../../lib/cmn/str-beg.c
|
../../../../../lib/cmn/stdio.c
|
||||||
180
|
180
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -816,7 +816,7 @@ WVList
|
|||||||
183
|
183
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cat.c
|
../../../../../lib/cmn/str-beg.c
|
||||||
184
|
184
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -834,7 +834,7 @@ WVList
|
|||||||
187
|
187
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-chr.c
|
../../../../../lib/cmn/str-cat.c
|
||||||
188
|
188
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -852,7 +852,7 @@ WVList
|
|||||||
191
|
191
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cmp.c
|
../../../../../lib/cmn/str-chr.c
|
||||||
192
|
192
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -870,7 +870,7 @@ WVList
|
|||||||
195
|
195
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cnv.c
|
../../../../../lib/cmn/str-cmp.c
|
||||||
196
|
196
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -888,7 +888,7 @@ WVList
|
|||||||
199
|
199
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cpy.c
|
../../../../../lib/cmn/str-cnv.c
|
||||||
200
|
200
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -906,7 +906,7 @@ WVList
|
|||||||
203
|
203
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-del.c
|
../../../../../lib/cmn/str-cpy.c
|
||||||
204
|
204
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -924,7 +924,7 @@ WVList
|
|||||||
207
|
207
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-dup.c
|
../../../../../lib/cmn/str-del.c
|
||||||
208
|
208
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -941,8 +941,8 @@ WVList
|
|||||||
0
|
0
|
||||||
211
|
211
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-dynm.c
|
../../../../../lib/cmn/str-dup.c
|
||||||
212
|
212
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -960,7 +960,7 @@ WVList
|
|||||||
215
|
215
|
||||||
MItem
|
MItem
|
||||||
33
|
33
|
||||||
../../../../../lib/cmn/str-dynw.c
|
../../../../../lib/cmn/str-dynm.c
|
||||||
216
|
216
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -977,8 +977,8 @@ WVList
|
|||||||
0
|
0
|
||||||
219
|
219
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-end.c
|
../../../../../lib/cmn/str-dynw.c
|
||||||
220
|
220
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -995,8 +995,8 @@ WVList
|
|||||||
0
|
0
|
||||||
223
|
223
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-excl.c
|
../../../../../lib/cmn/str-end.c
|
||||||
224
|
224
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1014,7 +1014,7 @@ WVList
|
|||||||
227
|
227
|
||||||
MItem
|
MItem
|
||||||
33
|
33
|
||||||
../../../../../lib/cmn/str-fcpy.c
|
../../../../../lib/cmn/str-excl.c
|
||||||
228
|
228
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1031,8 +1031,8 @@ WVList
|
|||||||
0
|
0
|
||||||
231
|
231
|
||||||
MItem
|
MItem
|
||||||
34
|
33
|
||||||
../../../../../lib/cmn/str-fnmat.c
|
../../../../../lib/cmn/str-fcpy.c
|
||||||
232
|
232
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1049,8 +1049,8 @@ WVList
|
|||||||
0
|
0
|
||||||
235
|
235
|
||||||
MItem
|
MItem
|
||||||
33
|
34
|
||||||
../../../../../lib/cmn/str-incl.c
|
../../../../../lib/cmn/str-fnmat.c
|
||||||
236
|
236
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1067,8 +1067,8 @@ WVList
|
|||||||
0
|
0
|
||||||
239
|
239
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-len.c
|
../../../../../lib/cmn/str-incl.c
|
||||||
240
|
240
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1086,7 +1086,7 @@ WVList
|
|||||||
243
|
243
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-pac.c
|
../../../../../lib/cmn/str-len.c
|
||||||
244
|
244
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1103,8 +1103,8 @@ WVList
|
|||||||
0
|
0
|
||||||
247
|
247
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-pbrk.c
|
../../../../../lib/cmn/str-pac.c
|
||||||
248
|
248
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1121,8 +1121,8 @@ WVList
|
|||||||
0
|
0
|
||||||
251
|
251
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-put.c
|
../../../../../lib/cmn/str-pbrk.c
|
||||||
252
|
252
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1140,7 +1140,7 @@ WVList
|
|||||||
255
|
255
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-rev.c
|
../../../../../lib/cmn/str-put.c
|
||||||
256
|
256
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1158,7 +1158,7 @@ WVList
|
|||||||
259
|
259
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-rot.c
|
../../../../../lib/cmn/str-rev.c
|
||||||
260
|
260
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1176,7 +1176,7 @@ WVList
|
|||||||
263
|
263
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-set.c
|
../../../../../lib/cmn/str-rot.c
|
||||||
264
|
264
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1194,7 +1194,7 @@ WVList
|
|||||||
267
|
267
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-spl.c
|
../../../../../lib/cmn/str-set.c
|
||||||
268
|
268
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1212,7 +1212,7 @@ WVList
|
|||||||
271
|
271
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-spn.c
|
../../../../../lib/cmn/str-spl.c
|
||||||
272
|
272
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1230,7 +1230,7 @@ WVList
|
|||||||
275
|
275
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-str.c
|
../../../../../lib/cmn/str-spn.c
|
||||||
276
|
276
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1247,8 +1247,8 @@ WVList
|
|||||||
0
|
0
|
||||||
279
|
279
|
||||||
MItem
|
MItem
|
||||||
34
|
32
|
||||||
../../../../../lib/cmn/str-subst.c
|
../../../../../lib/cmn/str-str.c
|
||||||
280
|
280
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1265,8 +1265,8 @@ WVList
|
|||||||
0
|
0
|
||||||
283
|
283
|
||||||
MItem
|
MItem
|
||||||
32
|
34
|
||||||
../../../../../lib/cmn/str-tok.c
|
../../../../../lib/cmn/str-subst.c
|
||||||
284
|
284
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1284,7 +1284,7 @@ WVList
|
|||||||
287
|
287
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-trm.c
|
../../../../../lib/cmn/str-tok.c
|
||||||
288
|
288
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1301,8 +1301,8 @@ WVList
|
|||||||
0
|
0
|
||||||
291
|
291
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-word.c
|
../../../../../lib/cmn/str-trm.c
|
||||||
292
|
292
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1319,8 +1319,8 @@ WVList
|
|||||||
0
|
0
|
||||||
295
|
295
|
||||||
MItem
|
MItem
|
||||||
29
|
33
|
||||||
../../../../../lib/cmn/time.c
|
../../../../../lib/cmn/str-word.c
|
||||||
296
|
296
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1337,8 +1337,8 @@ WVList
|
|||||||
0
|
0
|
||||||
299
|
299
|
||||||
MItem
|
MItem
|
||||||
28
|
29
|
||||||
../../../../../lib/cmn/tio.c
|
../../../../../lib/cmn/task.c
|
||||||
300
|
300
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1355,8 +1355,8 @@ WVList
|
|||||||
0
|
0
|
||||||
303
|
303
|
||||||
MItem
|
MItem
|
||||||
32
|
29
|
||||||
../../../../../lib/cmn/tre-ast.c
|
../../../../../lib/cmn/time.c
|
||||||
304
|
304
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1373,8 +1373,8 @@ WVList
|
|||||||
0
|
0
|
||||||
307
|
307
|
||||||
MItem
|
MItem
|
||||||
36
|
28
|
||||||
../../../../../lib/cmn/tre-compile.c
|
../../../../../lib/cmn/tio.c
|
||||||
308
|
308
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1391,8 +1391,8 @@ WVList
|
|||||||
0
|
0
|
||||||
311
|
311
|
||||||
MItem
|
MItem
|
||||||
44
|
32
|
||||||
../../../../../lib/cmn/tre-match-backtrack.c
|
../../../../../lib/cmn/tre-ast.c
|
||||||
312
|
312
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1409,8 +1409,8 @@ WVList
|
|||||||
0
|
0
|
||||||
315
|
315
|
||||||
MItem
|
MItem
|
||||||
43
|
36
|
||||||
../../../../../lib/cmn/tre-match-parallel.c
|
../../../../../lib/cmn/tre-compile.c
|
||||||
316
|
316
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1427,8 +1427,8 @@ WVList
|
|||||||
0
|
0
|
||||||
319
|
319
|
||||||
MItem
|
MItem
|
||||||
34
|
44
|
||||||
../../../../../lib/cmn/tre-parse.c
|
../../../../../lib/cmn/tre-match-backtrack.c
|
||||||
320
|
320
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1445,8 +1445,8 @@ WVList
|
|||||||
0
|
0
|
||||||
323
|
323
|
||||||
MItem
|
MItem
|
||||||
34
|
43
|
||||||
../../../../../lib/cmn/tre-stack.c
|
../../../../../lib/cmn/tre-match-parallel.c
|
||||||
324
|
324
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1463,8 +1463,8 @@ WVList
|
|||||||
0
|
0
|
||||||
327
|
327
|
||||||
MItem
|
MItem
|
||||||
28
|
34
|
||||||
../../../../../lib/cmn/tre.c
|
../../../../../lib/cmn/tre-parse.c
|
||||||
328
|
328
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1481,8 +1481,8 @@ WVList
|
|||||||
0
|
0
|
||||||
331
|
331
|
||||||
MItem
|
MItem
|
||||||
29
|
34
|
||||||
../../../../../lib/cmn/utf8.c
|
../../../../../lib/cmn/tre-stack.c
|
||||||
332
|
332
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1500,7 +1500,7 @@ WVList
|
|||||||
335
|
335
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/xma.c
|
../../../../../lib/cmn/tre.c
|
||||||
336
|
336
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1517,44 +1517,44 @@ WVList
|
|||||||
0
|
0
|
||||||
339
|
339
|
||||||
MItem
|
MItem
|
||||||
3
|
29
|
||||||
*.h
|
../../../../../lib/cmn/utf8.c
|
||||||
340
|
340
|
||||||
WString
|
WString
|
||||||
3
|
4
|
||||||
NIL
|
COBJ
|
||||||
341
|
341
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
342
|
342
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
-1
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
343
|
343
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/mem.h
|
../../../../../lib/cmn/xma.c
|
||||||
344
|
344
|
||||||
WString
|
WString
|
||||||
3
|
4
|
||||||
NIL
|
COBJ
|
||||||
345
|
345
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
346
|
346
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
339
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
347
|
347
|
||||||
MItem
|
MItem
|
||||||
32
|
3
|
||||||
../../../../../lib/cmn/syscall.h
|
*.h
|
||||||
348
|
348
|
||||||
WString
|
WString
|
||||||
3
|
3
|
||||||
@ -1565,7 +1565,43 @@ WVList
|
|||||||
350
|
350
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
339
|
-1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
0
|
||||||
|
351
|
||||||
|
MItem
|
||||||
|
28
|
||||||
|
../../../../../lib/cmn/mem.h
|
||||||
|
352
|
||||||
|
WString
|
||||||
|
3
|
||||||
|
NIL
|
||||||
|
353
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
354
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
347
|
||||||
|
1
|
||||||
|
1
|
||||||
|
0
|
||||||
|
355
|
||||||
|
MItem
|
||||||
|
32
|
||||||
|
../../../../../lib/cmn/syscall.h
|
||||||
|
356
|
||||||
|
WString
|
||||||
|
3
|
||||||
|
NIL
|
||||||
|
357
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
358
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
347
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
|
@ -42,7 +42,7 @@ WVList
|
|||||||
0
|
0
|
||||||
10
|
10
|
||||||
WPickList
|
WPickList
|
||||||
83
|
85
|
||||||
11
|
11
|
||||||
MItem
|
MItem
|
||||||
3
|
3
|
||||||
@ -576,7 +576,7 @@ WVList
|
|||||||
130
|
130
|
||||||
MItem
|
MItem
|
||||||
29
|
29
|
||||||
../../../../../lib/cmn/nwio.c
|
../../../../../lib/cmn/nwif.c
|
||||||
131
|
131
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -593,8 +593,8 @@ WVList
|
|||||||
0
|
0
|
||||||
134
|
134
|
||||||
MItem
|
MItem
|
||||||
28
|
29
|
||||||
../../../../../lib/cmn/oht.c
|
../../../../../lib/cmn/nwio.c
|
||||||
135
|
135
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -612,7 +612,7 @@ WVList
|
|||||||
138
|
138
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/opt.c
|
../../../../../lib/cmn/oht.c
|
||||||
139
|
139
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -629,8 +629,8 @@ WVList
|
|||||||
0
|
0
|
||||||
142
|
142
|
||||||
MItem
|
MItem
|
||||||
38
|
28
|
||||||
../../../../../lib/cmn/path-basename.c
|
../../../../../lib/cmn/opt.c
|
||||||
143
|
143
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -647,8 +647,8 @@ WVList
|
|||||||
0
|
0
|
||||||
146
|
146
|
||||||
MItem
|
MItem
|
||||||
35
|
38
|
||||||
../../../../../lib/cmn/path-canon.c
|
../../../../../lib/cmn/path-basename.c
|
||||||
147
|
147
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -665,8 +665,8 @@ WVList
|
|||||||
0
|
0
|
||||||
150
|
150
|
||||||
MItem
|
MItem
|
||||||
28
|
35
|
||||||
../../../../../lib/cmn/pio.c
|
../../../../../lib/cmn/path-canon.c
|
||||||
151
|
151
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -684,7 +684,7 @@ WVList
|
|||||||
154
|
154
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/pma.c
|
../../../../../lib/cmn/pio.c
|
||||||
155
|
155
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -702,7 +702,7 @@ WVList
|
|||||||
158
|
158
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/rbt.c
|
../../../../../lib/cmn/pma.c
|
||||||
159
|
159
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -720,7 +720,7 @@ WVList
|
|||||||
162
|
162
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/rex.c
|
../../../../../lib/cmn/rbt.c
|
||||||
163
|
163
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -738,7 +738,7 @@ WVList
|
|||||||
166
|
166
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/sio.c
|
../../../../../lib/cmn/rex.c
|
||||||
167
|
167
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -756,7 +756,7 @@ WVList
|
|||||||
170
|
170
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/sll.c
|
../../../../../lib/cmn/sio.c
|
||||||
171
|
171
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -773,8 +773,8 @@ WVList
|
|||||||
0
|
0
|
||||||
174
|
174
|
||||||
MItem
|
MItem
|
||||||
29
|
28
|
||||||
../../../../../lib/cmn/slmb.c
|
../../../../../lib/cmn/sll.c
|
||||||
175
|
175
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -791,8 +791,8 @@ WVList
|
|||||||
0
|
0
|
||||||
178
|
178
|
||||||
MItem
|
MItem
|
||||||
30
|
29
|
||||||
../../../../../lib/cmn/stdio.c
|
../../../../../lib/cmn/slmb.c
|
||||||
179
|
179
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -809,8 +809,8 @@ WVList
|
|||||||
0
|
0
|
||||||
182
|
182
|
||||||
MItem
|
MItem
|
||||||
32
|
30
|
||||||
../../../../../lib/cmn/str-beg.c
|
../../../../../lib/cmn/stdio.c
|
||||||
183
|
183
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -828,7 +828,7 @@ WVList
|
|||||||
186
|
186
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cat.c
|
../../../../../lib/cmn/str-beg.c
|
||||||
187
|
187
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -846,7 +846,7 @@ WVList
|
|||||||
190
|
190
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-chr.c
|
../../../../../lib/cmn/str-cat.c
|
||||||
191
|
191
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -864,7 +864,7 @@ WVList
|
|||||||
194
|
194
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cmp.c
|
../../../../../lib/cmn/str-chr.c
|
||||||
195
|
195
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -882,7 +882,7 @@ WVList
|
|||||||
198
|
198
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cnv.c
|
../../../../../lib/cmn/str-cmp.c
|
||||||
199
|
199
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -900,7 +900,7 @@ WVList
|
|||||||
202
|
202
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cpy.c
|
../../../../../lib/cmn/str-cnv.c
|
||||||
203
|
203
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -918,7 +918,7 @@ WVList
|
|||||||
206
|
206
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-del.c
|
../../../../../lib/cmn/str-cpy.c
|
||||||
207
|
207
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -936,7 +936,7 @@ WVList
|
|||||||
210
|
210
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-dup.c
|
../../../../../lib/cmn/str-del.c
|
||||||
211
|
211
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -953,8 +953,8 @@ WVList
|
|||||||
0
|
0
|
||||||
214
|
214
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-dynm.c
|
../../../../../lib/cmn/str-dup.c
|
||||||
215
|
215
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -972,7 +972,7 @@ WVList
|
|||||||
218
|
218
|
||||||
MItem
|
MItem
|
||||||
33
|
33
|
||||||
../../../../../lib/cmn/str-dynw.c
|
../../../../../lib/cmn/str-dynm.c
|
||||||
219
|
219
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -989,8 +989,8 @@ WVList
|
|||||||
0
|
0
|
||||||
222
|
222
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-end.c
|
../../../../../lib/cmn/str-dynw.c
|
||||||
223
|
223
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1007,8 +1007,8 @@ WVList
|
|||||||
0
|
0
|
||||||
226
|
226
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-excl.c
|
../../../../../lib/cmn/str-end.c
|
||||||
227
|
227
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1026,7 +1026,7 @@ WVList
|
|||||||
230
|
230
|
||||||
MItem
|
MItem
|
||||||
33
|
33
|
||||||
../../../../../lib/cmn/str-fcpy.c
|
../../../../../lib/cmn/str-excl.c
|
||||||
231
|
231
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1043,8 +1043,8 @@ WVList
|
|||||||
0
|
0
|
||||||
234
|
234
|
||||||
MItem
|
MItem
|
||||||
34
|
33
|
||||||
../../../../../lib/cmn/str-fnmat.c
|
../../../../../lib/cmn/str-fcpy.c
|
||||||
235
|
235
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1061,8 +1061,8 @@ WVList
|
|||||||
0
|
0
|
||||||
238
|
238
|
||||||
MItem
|
MItem
|
||||||
33
|
34
|
||||||
../../../../../lib/cmn/str-incl.c
|
../../../../../lib/cmn/str-fnmat.c
|
||||||
239
|
239
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1079,8 +1079,8 @@ WVList
|
|||||||
0
|
0
|
||||||
242
|
242
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-len.c
|
../../../../../lib/cmn/str-incl.c
|
||||||
243
|
243
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1098,7 +1098,7 @@ WVList
|
|||||||
246
|
246
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-pac.c
|
../../../../../lib/cmn/str-len.c
|
||||||
247
|
247
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1115,8 +1115,8 @@ WVList
|
|||||||
0
|
0
|
||||||
250
|
250
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-pbrk.c
|
../../../../../lib/cmn/str-pac.c
|
||||||
251
|
251
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1133,8 +1133,8 @@ WVList
|
|||||||
0
|
0
|
||||||
254
|
254
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-put.c
|
../../../../../lib/cmn/str-pbrk.c
|
||||||
255
|
255
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1152,7 +1152,7 @@ WVList
|
|||||||
258
|
258
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-rev.c
|
../../../../../lib/cmn/str-put.c
|
||||||
259
|
259
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1170,7 +1170,7 @@ WVList
|
|||||||
262
|
262
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-rot.c
|
../../../../../lib/cmn/str-rev.c
|
||||||
263
|
263
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1188,7 +1188,7 @@ WVList
|
|||||||
266
|
266
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-set.c
|
../../../../../lib/cmn/str-rot.c
|
||||||
267
|
267
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1206,7 +1206,7 @@ WVList
|
|||||||
270
|
270
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-spl.c
|
../../../../../lib/cmn/str-set.c
|
||||||
271
|
271
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1224,7 +1224,7 @@ WVList
|
|||||||
274
|
274
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-spn.c
|
../../../../../lib/cmn/str-spl.c
|
||||||
275
|
275
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1242,7 +1242,7 @@ WVList
|
|||||||
278
|
278
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-str.c
|
../../../../../lib/cmn/str-spn.c
|
||||||
279
|
279
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1259,8 +1259,8 @@ WVList
|
|||||||
0
|
0
|
||||||
282
|
282
|
||||||
MItem
|
MItem
|
||||||
34
|
32
|
||||||
../../../../../lib/cmn/str-subst.c
|
../../../../../lib/cmn/str-str.c
|
||||||
283
|
283
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1277,8 +1277,8 @@ WVList
|
|||||||
0
|
0
|
||||||
286
|
286
|
||||||
MItem
|
MItem
|
||||||
32
|
34
|
||||||
../../../../../lib/cmn/str-tok.c
|
../../../../../lib/cmn/str-subst.c
|
||||||
287
|
287
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1296,7 +1296,7 @@ WVList
|
|||||||
290
|
290
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-trm.c
|
../../../../../lib/cmn/str-tok.c
|
||||||
291
|
291
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1313,8 +1313,8 @@ WVList
|
|||||||
0
|
0
|
||||||
294
|
294
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-word.c
|
../../../../../lib/cmn/str-trm.c
|
||||||
295
|
295
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1331,8 +1331,8 @@ WVList
|
|||||||
0
|
0
|
||||||
298
|
298
|
||||||
MItem
|
MItem
|
||||||
29
|
33
|
||||||
../../../../../lib/cmn/time.c
|
../../../../../lib/cmn/str-word.c
|
||||||
299
|
299
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1349,8 +1349,8 @@ WVList
|
|||||||
0
|
0
|
||||||
302
|
302
|
||||||
MItem
|
MItem
|
||||||
28
|
29
|
||||||
../../../../../lib/cmn/tio.c
|
../../../../../lib/cmn/task.c
|
||||||
303
|
303
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1367,8 +1367,8 @@ WVList
|
|||||||
0
|
0
|
||||||
306
|
306
|
||||||
MItem
|
MItem
|
||||||
32
|
29
|
||||||
../../../../../lib/cmn/tre-ast.c
|
../../../../../lib/cmn/time.c
|
||||||
307
|
307
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1385,8 +1385,8 @@ WVList
|
|||||||
0
|
0
|
||||||
310
|
310
|
||||||
MItem
|
MItem
|
||||||
36
|
28
|
||||||
../../../../../lib/cmn/tre-compile.c
|
../../../../../lib/cmn/tio.c
|
||||||
311
|
311
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1403,8 +1403,8 @@ WVList
|
|||||||
0
|
0
|
||||||
314
|
314
|
||||||
MItem
|
MItem
|
||||||
44
|
32
|
||||||
../../../../../lib/cmn/tre-match-backtrack.c
|
../../../../../lib/cmn/tre-ast.c
|
||||||
315
|
315
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1421,8 +1421,8 @@ WVList
|
|||||||
0
|
0
|
||||||
318
|
318
|
||||||
MItem
|
MItem
|
||||||
43
|
36
|
||||||
../../../../../lib/cmn/tre-match-parallel.c
|
../../../../../lib/cmn/tre-compile.c
|
||||||
319
|
319
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1439,8 +1439,8 @@ WVList
|
|||||||
0
|
0
|
||||||
322
|
322
|
||||||
MItem
|
MItem
|
||||||
34
|
44
|
||||||
../../../../../lib/cmn/tre-parse.c
|
../../../../../lib/cmn/tre-match-backtrack.c
|
||||||
323
|
323
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1457,8 +1457,8 @@ WVList
|
|||||||
0
|
0
|
||||||
326
|
326
|
||||||
MItem
|
MItem
|
||||||
34
|
43
|
||||||
../../../../../lib/cmn/tre-stack.c
|
../../../../../lib/cmn/tre-match-parallel.c
|
||||||
327
|
327
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1475,8 +1475,8 @@ WVList
|
|||||||
0
|
0
|
||||||
330
|
330
|
||||||
MItem
|
MItem
|
||||||
28
|
34
|
||||||
../../../../../lib/cmn/tre.c
|
../../../../../lib/cmn/tre-parse.c
|
||||||
331
|
331
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1493,8 +1493,8 @@ WVList
|
|||||||
0
|
0
|
||||||
334
|
334
|
||||||
MItem
|
MItem
|
||||||
29
|
34
|
||||||
../../../../../lib/cmn/utf8.c
|
../../../../../lib/cmn/tre-stack.c
|
||||||
335
|
335
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1512,7 +1512,7 @@ WVList
|
|||||||
338
|
338
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/xma.c
|
../../../../../lib/cmn/tre.c
|
||||||
339
|
339
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1529,44 +1529,44 @@ WVList
|
|||||||
0
|
0
|
||||||
342
|
342
|
||||||
MItem
|
MItem
|
||||||
3
|
29
|
||||||
*.h
|
../../../../../lib/cmn/utf8.c
|
||||||
343
|
343
|
||||||
WString
|
WString
|
||||||
3
|
4
|
||||||
NIL
|
COBJ
|
||||||
344
|
344
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
345
|
345
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
-1
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
346
|
346
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/mem.h
|
../../../../../lib/cmn/xma.c
|
||||||
347
|
347
|
||||||
WString
|
WString
|
||||||
3
|
4
|
||||||
NIL
|
COBJ
|
||||||
348
|
348
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
349
|
349
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
342
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
350
|
350
|
||||||
MItem
|
MItem
|
||||||
32
|
3
|
||||||
../../../../../lib/cmn/syscall.h
|
*.h
|
||||||
351
|
351
|
||||||
WString
|
WString
|
||||||
3
|
3
|
||||||
@ -1577,7 +1577,43 @@ WVList
|
|||||||
353
|
353
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
342
|
-1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
0
|
||||||
|
354
|
||||||
|
MItem
|
||||||
|
28
|
||||||
|
../../../../../lib/cmn/mem.h
|
||||||
|
355
|
||||||
|
WString
|
||||||
|
3
|
||||||
|
NIL
|
||||||
|
356
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
357
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
350
|
||||||
|
1
|
||||||
|
1
|
||||||
|
0
|
||||||
|
358
|
||||||
|
MItem
|
||||||
|
32
|
||||||
|
../../../../../lib/cmn/syscall.h
|
||||||
|
359
|
||||||
|
WString
|
||||||
|
3
|
||||||
|
NIL
|
||||||
|
360
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
361
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
350
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
|
@ -4,8 +4,8 @@ projectIdent
|
|||||||
VpeMain
|
VpeMain
|
||||||
1
|
1
|
||||||
WRect
|
WRect
|
||||||
440
|
790
|
||||||
160
|
200
|
||||||
9320
|
9320
|
||||||
9680
|
9680
|
||||||
2
|
2
|
||||||
@ -76,11 +76,11 @@ WVList
|
|||||||
VComponent
|
VComponent
|
||||||
20
|
20
|
||||||
WRect
|
WRect
|
||||||
1080
|
1070
|
||||||
2520
|
2520
|
||||||
5700
|
5700
|
||||||
4240
|
4240
|
||||||
0
|
1
|
||||||
0
|
0
|
||||||
21
|
21
|
||||||
WFileName
|
WFileName
|
||||||
@ -128,14 +128,14 @@ WRect
|
|||||||
480
|
480
|
||||||
5700
|
5700
|
||||||
4240
|
4240
|
||||||
0
|
1
|
||||||
0
|
0
|
||||||
30
|
30
|
||||||
WFileName
|
WFileName
|
||||||
28
|
28
|
||||||
debug/os2/lib/cmn/qsecmn.tgt
|
debug/os2/lib/cmn/qsecmn.tgt
|
||||||
45
|
45
|
||||||
45
|
48
|
||||||
31
|
31
|
||||||
VComponent
|
VComponent
|
||||||
32
|
32
|
||||||
@ -189,10 +189,10 @@ VComponent
|
|||||||
41
|
41
|
||||||
WRect
|
WRect
|
||||||
2660
|
2660
|
||||||
66
|
40
|
||||||
5700
|
5700
|
||||||
4240
|
4240
|
||||||
0
|
1
|
||||||
0
|
0
|
||||||
42
|
42
|
||||||
WFileName
|
WFileName
|
||||||
@ -256,14 +256,14 @@ WRect
|
|||||||
560
|
560
|
||||||
5700
|
5700
|
||||||
4240
|
4240
|
||||||
1
|
0
|
||||||
0
|
0
|
||||||
54
|
54
|
||||||
WFileName
|
WFileName
|
||||||
30
|
30
|
||||||
debug/dos32/cmd/sed/qsesed.tgt
|
debug/dos32/cmd/sed/qsesed.tgt
|
||||||
0
|
0
|
||||||
0
|
1
|
||||||
55
|
55
|
||||||
VComponent
|
VComponent
|
||||||
56
|
56
|
||||||
|
@ -42,7 +42,7 @@ WVList
|
|||||||
0
|
0
|
||||||
10
|
10
|
||||||
WPickList
|
WPickList
|
||||||
81
|
83
|
||||||
11
|
11
|
||||||
MItem
|
MItem
|
||||||
3
|
3
|
||||||
@ -576,7 +576,7 @@ WVList
|
|||||||
131
|
131
|
||||||
MItem
|
MItem
|
||||||
29
|
29
|
||||||
../../../../../lib/cmn/nwio.c
|
../../../../../lib/cmn/nwif.c
|
||||||
132
|
132
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -593,8 +593,8 @@ WVList
|
|||||||
0
|
0
|
||||||
135
|
135
|
||||||
MItem
|
MItem
|
||||||
28
|
29
|
||||||
../../../../../lib/cmn/oht.c
|
../../../../../lib/cmn/nwio.c
|
||||||
136
|
136
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -612,7 +612,7 @@ WVList
|
|||||||
139
|
139
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/opt.c
|
../../../../../lib/cmn/oht.c
|
||||||
140
|
140
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -629,8 +629,8 @@ WVList
|
|||||||
0
|
0
|
||||||
143
|
143
|
||||||
MItem
|
MItem
|
||||||
38
|
28
|
||||||
../../../../../lib/cmn/path-basename.c
|
../../../../../lib/cmn/opt.c
|
||||||
144
|
144
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -647,8 +647,8 @@ WVList
|
|||||||
0
|
0
|
||||||
147
|
147
|
||||||
MItem
|
MItem
|
||||||
35
|
38
|
||||||
../../../../../lib/cmn/path-canon.c
|
../../../../../lib/cmn/path-basename.c
|
||||||
148
|
148
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -665,8 +665,8 @@ WVList
|
|||||||
0
|
0
|
||||||
151
|
151
|
||||||
MItem
|
MItem
|
||||||
28
|
35
|
||||||
../../../../../lib/cmn/pio.c
|
../../../../../lib/cmn/path-canon.c
|
||||||
152
|
152
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -684,7 +684,7 @@ WVList
|
|||||||
155
|
155
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/pma.c
|
../../../../../lib/cmn/pio.c
|
||||||
156
|
156
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -702,7 +702,7 @@ WVList
|
|||||||
159
|
159
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/rbt.c
|
../../../../../lib/cmn/pma.c
|
||||||
160
|
160
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -720,7 +720,7 @@ WVList
|
|||||||
163
|
163
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/rex.c
|
../../../../../lib/cmn/rbt.c
|
||||||
164
|
164
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -738,7 +738,7 @@ WVList
|
|||||||
167
|
167
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/sio.c
|
../../../../../lib/cmn/rex.c
|
||||||
168
|
168
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -756,7 +756,7 @@ WVList
|
|||||||
171
|
171
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/sll.c
|
../../../../../lib/cmn/sio.c
|
||||||
172
|
172
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -773,8 +773,8 @@ WVList
|
|||||||
0
|
0
|
||||||
175
|
175
|
||||||
MItem
|
MItem
|
||||||
29
|
28
|
||||||
../../../../../lib/cmn/slmb.c
|
../../../../../lib/cmn/sll.c
|
||||||
176
|
176
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -791,8 +791,8 @@ WVList
|
|||||||
0
|
0
|
||||||
179
|
179
|
||||||
MItem
|
MItem
|
||||||
30
|
29
|
||||||
../../../../../lib/cmn/stdio.c
|
../../../../../lib/cmn/slmb.c
|
||||||
180
|
180
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -809,8 +809,8 @@ WVList
|
|||||||
0
|
0
|
||||||
183
|
183
|
||||||
MItem
|
MItem
|
||||||
32
|
30
|
||||||
../../../../../lib/cmn/str-beg.c
|
../../../../../lib/cmn/stdio.c
|
||||||
184
|
184
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -828,7 +828,7 @@ WVList
|
|||||||
187
|
187
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cat.c
|
../../../../../lib/cmn/str-beg.c
|
||||||
188
|
188
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -846,7 +846,7 @@ WVList
|
|||||||
191
|
191
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-chr.c
|
../../../../../lib/cmn/str-cat.c
|
||||||
192
|
192
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -864,7 +864,7 @@ WVList
|
|||||||
195
|
195
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cmp.c
|
../../../../../lib/cmn/str-chr.c
|
||||||
196
|
196
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -882,7 +882,7 @@ WVList
|
|||||||
199
|
199
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cnv.c
|
../../../../../lib/cmn/str-cmp.c
|
||||||
200
|
200
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -900,7 +900,7 @@ WVList
|
|||||||
203
|
203
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-cpy.c
|
../../../../../lib/cmn/str-cnv.c
|
||||||
204
|
204
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -918,7 +918,7 @@ WVList
|
|||||||
207
|
207
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-del.c
|
../../../../../lib/cmn/str-cpy.c
|
||||||
208
|
208
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -936,7 +936,7 @@ WVList
|
|||||||
211
|
211
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-dup.c
|
../../../../../lib/cmn/str-del.c
|
||||||
212
|
212
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -953,8 +953,8 @@ WVList
|
|||||||
0
|
0
|
||||||
215
|
215
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-dynm.c
|
../../../../../lib/cmn/str-dup.c
|
||||||
216
|
216
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -972,7 +972,7 @@ WVList
|
|||||||
219
|
219
|
||||||
MItem
|
MItem
|
||||||
33
|
33
|
||||||
../../../../../lib/cmn/str-dynw.c
|
../../../../../lib/cmn/str-dynm.c
|
||||||
220
|
220
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -989,8 +989,8 @@ WVList
|
|||||||
0
|
0
|
||||||
223
|
223
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-end.c
|
../../../../../lib/cmn/str-dynw.c
|
||||||
224
|
224
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1007,8 +1007,8 @@ WVList
|
|||||||
0
|
0
|
||||||
227
|
227
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-excl.c
|
../../../../../lib/cmn/str-end.c
|
||||||
228
|
228
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1026,7 +1026,7 @@ WVList
|
|||||||
231
|
231
|
||||||
MItem
|
MItem
|
||||||
33
|
33
|
||||||
../../../../../lib/cmn/str-fcpy.c
|
../../../../../lib/cmn/str-excl.c
|
||||||
232
|
232
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1043,8 +1043,8 @@ WVList
|
|||||||
0
|
0
|
||||||
235
|
235
|
||||||
MItem
|
MItem
|
||||||
34
|
33
|
||||||
../../../../../lib/cmn/str-fnmat.c
|
../../../../../lib/cmn/str-fcpy.c
|
||||||
236
|
236
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1061,8 +1061,8 @@ WVList
|
|||||||
0
|
0
|
||||||
239
|
239
|
||||||
MItem
|
MItem
|
||||||
33
|
34
|
||||||
../../../../../lib/cmn/str-incl.c
|
../../../../../lib/cmn/str-fnmat.c
|
||||||
240
|
240
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1079,8 +1079,8 @@ WVList
|
|||||||
0
|
0
|
||||||
243
|
243
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-len.c
|
../../../../../lib/cmn/str-incl.c
|
||||||
244
|
244
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1098,7 +1098,7 @@ WVList
|
|||||||
247
|
247
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-pac.c
|
../../../../../lib/cmn/str-len.c
|
||||||
248
|
248
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1115,8 +1115,8 @@ WVList
|
|||||||
0
|
0
|
||||||
251
|
251
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-pbrk.c
|
../../../../../lib/cmn/str-pac.c
|
||||||
252
|
252
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1133,8 +1133,8 @@ WVList
|
|||||||
0
|
0
|
||||||
255
|
255
|
||||||
MItem
|
MItem
|
||||||
32
|
33
|
||||||
../../../../../lib/cmn/str-put.c
|
../../../../../lib/cmn/str-pbrk.c
|
||||||
256
|
256
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1152,7 +1152,7 @@ WVList
|
|||||||
259
|
259
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-rev.c
|
../../../../../lib/cmn/str-put.c
|
||||||
260
|
260
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1170,7 +1170,7 @@ WVList
|
|||||||
263
|
263
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-rot.c
|
../../../../../lib/cmn/str-rev.c
|
||||||
264
|
264
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1188,7 +1188,7 @@ WVList
|
|||||||
267
|
267
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-set.c
|
../../../../../lib/cmn/str-rot.c
|
||||||
268
|
268
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1206,7 +1206,7 @@ WVList
|
|||||||
271
|
271
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-spl.c
|
../../../../../lib/cmn/str-set.c
|
||||||
272
|
272
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1224,7 +1224,7 @@ WVList
|
|||||||
275
|
275
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-spn.c
|
../../../../../lib/cmn/str-spl.c
|
||||||
276
|
276
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1242,7 +1242,7 @@ WVList
|
|||||||
279
|
279
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-str.c
|
../../../../../lib/cmn/str-spn.c
|
||||||
280
|
280
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1259,8 +1259,8 @@ WVList
|
|||||||
0
|
0
|
||||||
283
|
283
|
||||||
MItem
|
MItem
|
||||||
34
|
32
|
||||||
../../../../../lib/cmn/str-subst.c
|
../../../../../lib/cmn/str-str.c
|
||||||
284
|
284
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1277,8 +1277,8 @@ WVList
|
|||||||
0
|
0
|
||||||
287
|
287
|
||||||
MItem
|
MItem
|
||||||
32
|
34
|
||||||
../../../../../lib/cmn/str-tok.c
|
../../../../../lib/cmn/str-subst.c
|
||||||
288
|
288
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1296,7 +1296,7 @@ WVList
|
|||||||
291
|
291
|
||||||
MItem
|
MItem
|
||||||
32
|
32
|
||||||
../../../../../lib/cmn/str-trm.c
|
../../../../../lib/cmn/str-tok.c
|
||||||
292
|
292
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1313,8 +1313,8 @@ WVList
|
|||||||
0
|
0
|
||||||
295
|
295
|
||||||
MItem
|
MItem
|
||||||
33
|
32
|
||||||
../../../../../lib/cmn/str-word.c
|
../../../../../lib/cmn/str-trm.c
|
||||||
296
|
296
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1331,8 +1331,8 @@ WVList
|
|||||||
0
|
0
|
||||||
299
|
299
|
||||||
MItem
|
MItem
|
||||||
29
|
33
|
||||||
../../../../../lib/cmn/time.c
|
../../../../../lib/cmn/str-word.c
|
||||||
300
|
300
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1349,8 +1349,8 @@ WVList
|
|||||||
0
|
0
|
||||||
303
|
303
|
||||||
MItem
|
MItem
|
||||||
28
|
29
|
||||||
../../../../../lib/cmn/tio.c
|
../../../../../lib/cmn/task.c
|
||||||
304
|
304
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1367,8 +1367,8 @@ WVList
|
|||||||
0
|
0
|
||||||
307
|
307
|
||||||
MItem
|
MItem
|
||||||
32
|
29
|
||||||
../../../../../lib/cmn/tre-ast.c
|
../../../../../lib/cmn/time.c
|
||||||
308
|
308
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1385,8 +1385,8 @@ WVList
|
|||||||
0
|
0
|
||||||
311
|
311
|
||||||
MItem
|
MItem
|
||||||
36
|
28
|
||||||
../../../../../lib/cmn/tre-compile.c
|
../../../../../lib/cmn/tio.c
|
||||||
312
|
312
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1403,8 +1403,8 @@ WVList
|
|||||||
0
|
0
|
||||||
315
|
315
|
||||||
MItem
|
MItem
|
||||||
44
|
32
|
||||||
../../../../../lib/cmn/tre-match-backtrack.c
|
../../../../../lib/cmn/tre-ast.c
|
||||||
316
|
316
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1421,8 +1421,8 @@ WVList
|
|||||||
0
|
0
|
||||||
319
|
319
|
||||||
MItem
|
MItem
|
||||||
43
|
36
|
||||||
../../../../../lib/cmn/tre-match-parallel.c
|
../../../../../lib/cmn/tre-compile.c
|
||||||
320
|
320
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1439,8 +1439,8 @@ WVList
|
|||||||
0
|
0
|
||||||
323
|
323
|
||||||
MItem
|
MItem
|
||||||
34
|
44
|
||||||
../../../../../lib/cmn/tre-parse.c
|
../../../../../lib/cmn/tre-match-backtrack.c
|
||||||
324
|
324
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1457,8 +1457,8 @@ WVList
|
|||||||
0
|
0
|
||||||
327
|
327
|
||||||
MItem
|
MItem
|
||||||
34
|
43
|
||||||
../../../../../lib/cmn/tre-stack.c
|
../../../../../lib/cmn/tre-match-parallel.c
|
||||||
328
|
328
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1475,8 +1475,8 @@ WVList
|
|||||||
0
|
0
|
||||||
331
|
331
|
||||||
MItem
|
MItem
|
||||||
28
|
34
|
||||||
../../../../../lib/cmn/tre.c
|
../../../../../lib/cmn/tre-parse.c
|
||||||
332
|
332
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1493,8 +1493,8 @@ WVList
|
|||||||
0
|
0
|
||||||
335
|
335
|
||||||
MItem
|
MItem
|
||||||
29
|
34
|
||||||
../../../../../lib/cmn/utf8.c
|
../../../../../lib/cmn/tre-stack.c
|
||||||
336
|
336
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1512,7 +1512,7 @@ WVList
|
|||||||
339
|
339
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/xma.c
|
../../../../../lib/cmn/tre.c
|
||||||
340
|
340
|
||||||
WString
|
WString
|
||||||
4
|
4
|
||||||
@ -1529,44 +1529,44 @@ WVList
|
|||||||
0
|
0
|
||||||
343
|
343
|
||||||
MItem
|
MItem
|
||||||
3
|
29
|
||||||
*.h
|
../../../../../lib/cmn/utf8.c
|
||||||
344
|
344
|
||||||
WString
|
WString
|
||||||
3
|
4
|
||||||
NIL
|
COBJ
|
||||||
345
|
345
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
346
|
346
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
-1
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
347
|
347
|
||||||
MItem
|
MItem
|
||||||
28
|
28
|
||||||
../../../../../lib/cmn/mem.h
|
../../../../../lib/cmn/xma.c
|
||||||
348
|
348
|
||||||
WString
|
WString
|
||||||
3
|
4
|
||||||
NIL
|
COBJ
|
||||||
349
|
349
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
350
|
350
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
343
|
11
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
351
|
351
|
||||||
MItem
|
MItem
|
||||||
32
|
3
|
||||||
../../../../../lib/cmn/syscall.h
|
*.h
|
||||||
352
|
352
|
||||||
WString
|
WString
|
||||||
3
|
3
|
||||||
@ -1577,7 +1577,43 @@ WVList
|
|||||||
354
|
354
|
||||||
WVList
|
WVList
|
||||||
0
|
0
|
||||||
343
|
-1
|
||||||
|
1
|
||||||
|
1
|
||||||
|
0
|
||||||
|
355
|
||||||
|
MItem
|
||||||
|
28
|
||||||
|
../../../../../lib/cmn/mem.h
|
||||||
|
356
|
||||||
|
WString
|
||||||
|
3
|
||||||
|
NIL
|
||||||
|
357
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
358
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
351
|
||||||
|
1
|
||||||
|
1
|
||||||
|
0
|
||||||
|
359
|
||||||
|
MItem
|
||||||
|
32
|
||||||
|
../../../../../lib/cmn/syscall.h
|
||||||
|
360
|
||||||
|
WString
|
||||||
|
3
|
||||||
|
NIL
|
||||||
|
361
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
362
|
||||||
|
WVList
|
||||||
|
0
|
||||||
|
351
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
0
|
0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user