enhanced qse_fs_move() for dos build

This commit is contained in:
hyung-hwan 2012-02-21 09:23:51 +00:00
parent a48c498dc8
commit f2d767064e
16 changed files with 643 additions and 373 deletions

View File

@ -57,7 +57,7 @@ int fs_main (int argc, qse_char_t* argv[])
if (qse_fs_move (fs, argv[1], argv[2]) <= -1) if (qse_fs_move (fs, argv[1], argv[2]) <= -1)
{ {
qse_fprintf (QSE_STDERR, QSE_T("ERROR: cannot move %s to %s - %s\n"), argv[1], argv[2], qse_fs_geterrmsg(fs)); qse_fprintf (QSE_STDERR, QSE_T("ERROR: cannot move %s to %s - code %s\n"), argv[1], argv[2], (int)qse_fs_geterrnum(fs));
qse_fs_close (fs); qse_fs_close (fs);
return -1; return -1;
} }

View File

@ -566,9 +566,7 @@ int sed_main (int argc, qse_char_t* argv[])
if (qse_fs_chdir (fs, QSE_T(".")) <= -1) if (qse_fs_chdir (fs, QSE_T(".")) <= -1)
{ {
qse_fprintf (QSE_STDERR, qse_fprintf (QSE_STDERR,
QSE_T("ERROR: cannot change direcotry in file system handler - %s\n"), QSE_T("ERROR: cannot change direcotry in file system handler\n"));
qse_fs_geterrmsg(fs)
);
goto oops; goto oops;
} }
} }
@ -673,6 +671,8 @@ int sed_main (int argc, qse_char_t* argv[])
tmpl_tmpfile = QSE_NULL; tmpl_tmpfile = QSE_NULL;
if (g_inplace && in[0].u.file.path) if (g_inplace && in[0].u.file.path)
{ {
int retried = 0;
tmpl_tmpfile = qse_strdup2 (in[0].u.file.path, QSE_T(".XXXX"), qse_sed_getmmgr(sed)); tmpl_tmpfile = qse_strdup2 (in[0].u.file.path, QSE_T(".XXXX"), qse_sed_getmmgr(sed));
if (tmpl_tmpfile == QSE_NULL) if (tmpl_tmpfile == QSE_NULL)
{ {
@ -680,6 +680,7 @@ int sed_main (int argc, qse_char_t* argv[])
goto oops; goto oops;
} }
open_temp:
out_inplace.type = QSE_SED_IOSTD_SIO; out_inplace.type = QSE_SED_IOSTD_SIO;
out_inplace.u.sio = qse_sio_open ( out_inplace.u.sio = qse_sio_open (
qse_sed_getmmgr(sed), qse_sed_getmmgr(sed),
@ -693,9 +694,25 @@ int sed_main (int argc, qse_char_t* argv[])
); );
if (out_inplace.u.sio == QSE_NULL) if (out_inplace.u.sio == QSE_NULL)
{ {
qse_fprintf (QSE_STDERR, QSE_T("ERROR: cannot open %s\n"), tmpl_tmpfile); if (retried)
QSE_MMGR_FREE (qse_sed_getmmgr(sed), tmpl_tmpfile); {
goto oops; qse_fprintf (QSE_STDERR, QSE_T("ERROR: cannot open %s\n"), tmpl_tmpfile);
QSE_MMGR_FREE (qse_sed_getmmgr(sed), tmpl_tmpfile);
goto oops;
}
else
{
/* retry to open the file with shorter names */
QSE_MMGR_FREE (qse_sed_getmmgr(sed), tmpl_tmpfile);
tmpl_tmpfile = qse_strdup (QSE_T("TMP-XXXX"), qse_sed_getmmgr(sed));
if (tmpl_tmpfile == QSE_NULL)
{
qse_fprintf (QSE_STDERR, QSE_T("ERROR: out of memory\n"));
goto oops;
}
retried = 1;
goto open_temp;
}
} }
output = &out_inplace; output = &out_inplace;
@ -725,8 +742,8 @@ TODO:
if (qse_fs_move (fs, tmpl_tmpfile, in[0].u.file.path) <= -1) if (qse_fs_move (fs, tmpl_tmpfile, in[0].u.file.path) <= -1)
{ {
qse_fprintf (QSE_STDERR, QSE_T("ERROR: cannot rename %s to %s. not deleting %s - %s\n"), qse_fprintf (QSE_STDERR, QSE_T("ERROR: cannot rename %s to %s. not deleting %s\n"),
tmpl_tmpfile, in[0].u.file.path, tmpl_tmpfile, qse_fs_geterrmsg(fs)); tmpl_tmpfile, in[0].u.file.path, tmpl_tmpfile);
QSE_MMGR_FREE (qse_sed_getmmgr(sed), tmpl_tmpfile); QSE_MMGR_FREE (qse_sed_getmmgr(sed), tmpl_tmpfile);
goto oops; goto oops;
} }

View File

@ -77,7 +77,7 @@ enum qse_fio_errnum_t
QSE_FIO_ENOENT, /**< no such file */ QSE_FIO_ENOENT, /**< no such file */
QSE_FIO_EEXIST, /**< already exist */ QSE_FIO_EEXIST, /**< already exist */
QSE_FIO_EINTR, /**< interrupted */ QSE_FIO_EINTR, /**< interrupted */
QSE_FIO_ESUBSYS, /**< subsystem(system call) error */ QSE_FIO_ESYSERR, /**< subsystem(system call) error */
QSE_FIO_ENOIMPL, /**< not implemented */ QSE_FIO_ENOIMPL, /**< not implemented */
QSE_FIO_EOTHER /**< other error */ QSE_FIO_EOTHER /**< other error */

View File

@ -28,18 +28,21 @@
enum qse_fs_errnum_t enum qse_fs_errnum_t
{ {
QSE_FS_ENOERR = 0, QSE_FS_ENOERR = 0,
QSE_FS_EINTERN,
QSE_FS_ENOMEM, QSE_FS_ENOMEM, /**< out of memory */
QSE_FS_EINVAL, QSE_FS_EINVAL, /**< invalid parameter */
QSE_FS_EACCES, QSE_FS_EACCES, /**< access denied */
QSE_FS_EPERM, QSE_FS_ENOENT, /**< no such file */
QSE_FS_ENOENT, QSE_FS_EEXIST, /**< already exist */
QSE_FS_EINTR, /**< interrupted */
QSE_FS_ENODIR, QSE_FS_ENODIR,
QSE_FS_EISDIR, QSE_FS_EISDIR,
QSE_FS_EEXIST,
QSE_FS_EXDEV, QSE_FS_EXDEV,
QSE_FS_ESYSTEM
QSE_FS_ESYSERR, /**< subsystem error */
QSE_FS_ENOIMPL, /**< not implemented */
QSE_FS_EOTHER
}; };
typedef enum qse_fs_errnum_t qse_fs_errnum_t; typedef enum qse_fs_errnum_t qse_fs_errnum_t;
@ -135,10 +138,6 @@ qse_fs_errnum_t qse_fs_geterrnum (
qse_fs_t* fs qse_fs_t* fs
); );
const qse_char_t* qse_fs_geterrmsg (
qse_fs_t* fs
);
qse_fs_ent_t* qse_fs_read ( qse_fs_ent_t* qse_fs_read (
qse_fs_t* fs, qse_fs_t* fs,
int flags int flags

View File

@ -139,7 +139,7 @@ enum qse_pio_errnum_t
QSE_PIO_EILSEQ, /**< illegal sequence */ QSE_PIO_EILSEQ, /**< illegal sequence */
QSE_PIO_EICSEQ, /**< incomplete sequence */ QSE_PIO_EICSEQ, /**< incomplete sequence */
QSE_PIO_EILCHR, /**< illegal character */ QSE_PIO_EILCHR, /**< illegal character */
QSE_PIO_ESUBSYS, /**< subsystem error */ QSE_PIO_ESYSERR, /**< subsystem error */
QSE_PIO_ENOIMPL, /**< not implemented */ QSE_PIO_ENOIMPL, /**< not implemented */
QSE_PIO_EOTHER /**< unknown error */ QSE_PIO_EOTHER /**< unknown error */

View File

@ -69,11 +69,11 @@ enum qse_sio_errnum_t
QSE_SIO_EACCES, /**< access denied */ QSE_SIO_EACCES, /**< access denied */
QSE_SIO_ENOENT, /**< no such file */ QSE_SIO_ENOENT, /**< no such file */
QSE_SIO_EEXIST, /**< already exist */ QSE_SIO_EEXIST, /**< already exist */
QSE_SIO_EINTR, /**< already exist */ QSE_SIO_EINTR, /**< interrupted */
QSE_SIO_EILSEQ, /**< illegal sequence */ QSE_SIO_EILSEQ, /**< illegal sequence */
QSE_SIO_EICSEQ, /**< incomplete sequence */ QSE_SIO_EICSEQ, /**< incomplete sequence */
QSE_SIO_EILCHR, /**< illegal character */ QSE_SIO_EILCHR, /**< illegal character */
QSE_SIO_ESUBSYS, /**< subsystem(system call) error */ QSE_SIO_ESYSERR, /**< subsystem(system call) error */
QSE_SIO_ENOIMPL, /**< not implemented */ QSE_SIO_ENOIMPL, /**< not implemented */
QSE_SIO_EOTHER /**< other error */ QSE_SIO_EOTHER /**< other error */

View File

@ -57,28 +57,28 @@ static qse_fio_errnum_t syserr_to_errnum (DWORD e)
switch (e) switch (e)
{ {
case ERROR_NOT_ENOUGH_MEMORY:
case ERROR_OUTOFMEMORY:
return QSE_FIO_ENOMEM;
case ERROR_INVALID_PARAMETER: case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE: case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME: case ERROR_INVALID_NAME:
return QSE_FIO_EINVAL; return QSE_FIO_EINVAL;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
return QSE_FIO_ENOENT;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
return QSE_FIO_EACCES; return QSE_FIO_EACCES;
case ERROR_NOT_ENOUGH_MEMORY: case ERROR_FILE_NOT_FOUND:
case ERROR_OUTOFMEMORY: case ERROR_PATH_NOT_FOUND:
return QSE_FIO_ENOMEM; return QSE_FIO_ENOENT;
case ERROR_ALREADY_EXISTS: case ERROR_ALREADY_EXISTS:
case ERROR_FILE_EXISTS: case ERROR_FILE_EXISTS:
return QSE_FIO_EEXIST; return QSE_FIO_EEXIST;
default: default:
return QSE_FIO_ESUBSYS; return QSE_FIO_ESYSERR;
} }
} }
#elif defined(__OS2__) #elif defined(__OS2__)
@ -86,26 +86,26 @@ static qse_fio_errnum_t syserr_to_errnum (APIRET e)
{ {
switch (e) switch (e)
{ {
case ERROR_NOT_ENOUGH_MEMORY:
return QSE_FIO_ENOMEM;
case ERROR_INVALID_PARAMETER: case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE: case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME: case ERROR_INVALID_NAME:
return QSE_FIO_EINVAL; return QSE_FIO_EINVAL;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
return QSE_FIO_ENOENT;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
return QSE_FIO_EACCES; return QSE_FIO_EACCES;
case ERROR_NOT_ENOUGH_MEMORY: case ERROR_FILE_NOT_FOUND:
return QSE_FIO_ENOMEM; case ERROR_PATH_NOT_FOUND:
return QSE_FIO_ENOENT;
case ERROR_ALREADY_EXISTS: case ERROR_ALREADY_EXISTS:
return QSE_FIO_EEXIST; return QSE_FIO_EEXIST;
default: default:
return QSE_FIO_ESUBSYS; return QSE_FIO_ESYSERR;
} }
} }
#elif defined(__DOS__) #elif defined(__DOS__)
@ -119,17 +119,17 @@ static qse_fio_errnum_t syserr_to_errnum (int e)
case EINVAL: case EINVAL:
return QSE_FIO_EINVAL; return QSE_FIO_EINVAL;
case ENOENT:
return QSE_FIO_ENOENT;
case EACCES: case EACCES:
return QSE_FIO_EACCES; return QSE_FIO_EACCES;
case ENOENT:
return QSE_FIO_ENOENT;
case EEXIST: case EEXIST:
return QSE_FIO_EEXIST; return QSE_FIO_EEXIST;
default: default:
return QSE_FIO_ESUBSYS; return QSE_FIO_ESYSERR;
} }
} }
#else #else
@ -156,7 +156,7 @@ static qse_fio_errnum_t syserr_to_errnum (int e)
return QSE_FIO_EINTR; return QSE_FIO_EINTR;
default: default:
return QSE_FIO_ESUBSYS; return QSE_FIO_ESYSERR;
} }
} }
#endif #endif

View File

@ -25,34 +25,17 @@ qse_fs_errnum_t qse_fs_geterrnum (qse_fs_t* fs)
return fs->errnum; return fs->errnum;
} }
const qse_char_t* qse_fs_geterrmsg (qse_fs_t* fs)
{
static const qse_char_t* errstr[] =
{
QSE_T("no error"),
QSE_T("internal error that should never have happened"),
QSE_T("insufficient memory"),
QSE_T("invalid parameter or data"),
QSE_T("access denied"),
QSE_T("operation not permitted"),
QSE_T("no such entry"),
QSE_T("no working directory set"),
QSE_T("operation not permitted on directory"),
QSE_T("entry already exists"),
QSE_T("cross-device operation not allowed"),
QSE_T("system error")
};
return (fs->errnum >= 0 && fs->errnum < QSE_COUNTOF(errstr))?
errstr[fs->errnum]: QSE_T("unknown error");
}
qse_fs_errnum_t qse_fs_syserrtoerrnum (qse_fs_t* fs, qse_fs_syserr_t e) qse_fs_errnum_t qse_fs_syserrtoerrnum (qse_fs_t* fs, qse_fs_syserr_t e)
{ {
#if defined(_WIN32) #if defined(_WIN32)
switch (e) switch (e)
{ {
case ERROR_NOT_ENOUGH_MEMORY:
case ERROR_OUTOFMEMORY:
return QSE_FS_ENOMEM;
case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME: case ERROR_INVALID_NAME:
case ERROR_DIRECTORY: case ERROR_DIRECTORY:
return QSE_FS_EINVAL; return QSE_FS_EINVAL;
@ -64,47 +47,104 @@ qse_fs_errnum_t qse_fs_syserrtoerrnum (qse_fs_t* fs, qse_fs_syserr_t e)
case ERROR_PATH_NOT_FOUND: case ERROR_PATH_NOT_FOUND:
return QSE_FS_ENOENT; return QSE_FS_ENOENT;
case ERROR_NOT_ENOUGH_MEMORY:
case ERROR_OUTOFMEMORY:
return QSE_FS_ENOMEM;
case ERROR_ALREADY_EXISTS: case ERROR_ALREADY_EXISTS:
case ERROR_FILE_EXISTS: case ERROR_FILE_EXISTS:
return QSE_FS_EEXIST; return QSE_FS_EEXIST;
case ERROR_NOT_SAME_DEVICE:
return QSE_FS_EXDEV;
default: default:
return QSE_FS_ESYSTEM; return QSE_FS_ESYSERR;
} }
#else #elif defined(__OS2__)
switch (e) switch (e)
{ {
case EINVAL: case ERROR_NOT_ENOUGH_MEMORY:
return QSE_FS_ENOMEM;
case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME:
return QSE_FS_EINVAL; return QSE_FS_EINVAL;
case ERROR_ACCESS_DENIED:
return QSE_FS_EACCES;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
return QSE_FS_ENOENT;
case ERROR_ALREADY_EXISTS:
return QSE_FS_EEXIST;
case ERROR_NOT_SAME_DEVICE:
return QSE_FS_EXDEV;
default:
return QSE_FS_ESYSERR;
}
#elif defined(__DOS__)
switch (e)
{
case ENOMEM: case ENOMEM:
return QSE_FS_ENOMEM; return QSE_FS_ENOMEM;
case EACCES: case EINVAL:
return QSE_FS_EACCES; return QSE_FS_EINVAL;
case EACCES:
case EPERM: case EPERM:
return QSE_FS_EPERM; return QSE_FS_EACCES;
case ENOENT: case ENOENT:
case ENOTDIR: case ENOTDIR:
return QSE_FS_ENOENT; return QSE_FS_ENOENT;
case EEXIST:
return QSE_FS_EEXIST;
case EISDIR: case EISDIR:
return QSE_FS_EISDIR; return QSE_FS_EISDIR;
default:
return QSE_FS_ESYSERR;
}
#else
switch (e)
{
case ENOMEM:
return QSE_FS_ENOMEM;
case EINVAL:
return QSE_FS_EINVAL;
case EACCES:
case EPERM:
return QSE_FS_EACCES;
case ENOENT:
case ENOTDIR:
return QSE_FS_ENOENT;
case EEXIST: case EEXIST:
return QSE_FS_EEXIST; return QSE_FS_EEXIST;
case EINTR:
return QSE_FS_EINTR;
case EISDIR:
return QSE_FS_EISDIR;
case EXDEV: case EXDEV:
return QSE_FS_EXDEV; return QSE_FS_EXDEV;
default: default:
return QSE_FS_ESYSTEM; return QSE_FS_ESYSERR;
} }
#endif #endif
} }

View File

@ -45,16 +45,20 @@ struct fop_t
#if defined(_WIN32) #if defined(_WIN32)
qse_wchar_t* old_path; /* nothing yet */
qse_wchar_t* new_path; #elif defined(__OS2__)
qse_wchar_t* new_path2; qse_mchar_t* old_path;
qse_mchar_t* new_path;
#elif defined(__DOS__)
qse_mchar_t* old_path;
qse_mchar_t* new_path;
#else #else
qse_lstat_t old_stat;
qse_lstat_t new_stat;
qse_mchar_t* old_path; qse_mchar_t* old_path;
qse_mchar_t* new_path; qse_mchar_t* new_path;
qse_mchar_t* new_path2; qse_mchar_t* new_path2;
qse_lstat_t old_stat;
qse_lstat_t new_stat;
#endif #endif
}; };
@ -63,7 +67,9 @@ typedef struct fop_t fop_t;
int qse_fs_move ( int qse_fs_move (
qse_fs_t* fs, const qse_char_t* oldpath, const qse_char_t* newpath) qse_fs_t* fs, const qse_char_t* oldpath, const qse_char_t* newpath)
{ {
#if defined(_WIN32) #if defined(_WIN32)
/* ------------------------------------------------------ */
/* TODO: improve it... */ /* TODO: improve it... */
/* TODO: support cross-volume move, move by copy/delete, etc ... */ /* TODO: support cross-volume move, move by copy/delete, etc ... */
@ -87,21 +93,116 @@ int qse_fs_move (
} }
return 0; return 0;
/* ------------------------------------------------------ */
#elif defined(__OS2__) #elif defined(__OS2__)
# error NOT IMPLEMENTED /* ------------------------------------------------------ */
#elif defined(__DOS__)
# error NOT IMPLEMENTED
#else
/* TODO: improve it */
int ret = 0;
fop_t fop; fop_t fop;
QSE_MEMSET (&fop, 0, QSE_SIZEOF(fop)); QSE_MEMSET (&fop, 0, QSE_SIZEOF(fop));
#if defined(QSE_CHAR_IS_MCHAR) #if defined(QSE_CHAR_IS_MCHAR)
fop.old_path = oldpath; fop.old_path = oldpath;
fop.new_path = newpath; fop.new_path = newpath;
#else
fop.old_path = qse_wcstombsdup (oldpath, fs->mmgr);
fop.new_path = qse_wcstombsdup (newpath, fs->mmgr);
if (fop.old_path == QSE_NULL || fop.old_path == QSE_NULL)
{
fs->errnum = QSE_FS_ENOMEM;
ret = -1;
}
#endif
if (ret == 0)
{
APIRET rc;
rc = DosMove (fop.old_path, fop.new_path);
if (rc == ERROR_ALREADY_EXISTS)
{
DosDelete (fop.new_path);
rc = DosMove (fop.old_path, fop.new_path);
}
if (rc != NO_ERROR)
{
fs->errnum = qse_fs_syserrtoerrnum (fs, rc);
ret = -1;
}
}
#if defined(QSE_CHAR_IS_MCHAR)
/* nothing special */
#else
if (fop.old_path) QSE_MMGR_FREE (fs->mmgr, fop.old_path);
if (fop.new_path) QSE_MMGR_FREE (fs->mmgr, fop.new_path);
#endif
return ret;
/* ------------------------------------------------------ */
#elif defined(__DOS__)
/* ------------------------------------------------------ */
/* TODO: improve it */
fop_t fop;
int ret = 0;
QSE_MEMSET (&fop, 0, QSE_SIZEOF(fop));
#if defined(QSE_CHAR_IS_MCHAR)
fop.old_path = oldpath;
fop.new_path = newpath;
#else
fop.old_path = qse_wcstombsdup (oldpath, fs->mmgr);
fop.new_path = qse_wcstombsdup (newpath, fs->mmgr);
if (fop.old_path == QSE_NULL || fop.old_path == QSE_NULL)
{
fs->errnum = QSE_FS_ENOMEM;
ret = -1;
}
#endif
if (ret == 0)
{
if (rename (fop.old_path, fop.new_path) <= -1)
{
/* FYI, rename() on watcom seems to set
* errno to EACCES when the new path exists. */
unlink (fop.new_path);
if (rename (fop.old_path, fop.new_path) <= -1)
{
fs->errnum = qse_fs_syserrtoerrnum (fs, errno);
ret = -1;
}
}
}
#if defined(QSE_CHAR_IS_MCHAR)
/* nothing special */
#else
if (fop.old_path) QSE_MMGR_FREE (fs->mmgr, fop.old_path);
if (fop.new_path) QSE_MMGR_FREE (fs->mmgr, fop.new_path);
#endif
return ret;
/* ------------------------------------------------------ */
#else #else
/* ------------------------------------------------------ */
fop_t fop;
QSE_MEMSET (&fop, 0, QSE_SIZEOF(fop));
#if defined(QSE_CHAR_IS_MCHAR)
fop.old_path = oldpath;
fop.new_path = newpath;
#else
fop.old_path = qse_wcstombsdup (oldpath, fs->mmgr); fop.old_path = qse_wcstombsdup (oldpath, fs->mmgr);
fop.new_path = qse_wcstombsdup (newpath, fs->mmgr); fop.new_path = qse_wcstombsdup (newpath, fs->mmgr);
if (fop.old_path == QSE_NULL || fop.old_path == QSE_NULL) if (fop.old_path == QSE_NULL || fop.old_path == QSE_NULL)
@ -109,7 +210,7 @@ int qse_fs_move (
fs->errnum = QSE_FS_ENOMEM; fs->errnum = QSE_FS_ENOMEM;
goto oops; goto oops;
} }
#endif #endif
/* TOOD: implement confirmatio /* TOOD: implement confirmatio
if (overwrite_callback is set) if (overwrite_callback is set)
@ -226,26 +327,27 @@ qse_printf (QSE_T("TODO: cross-device copy....\n"));
copy recursively... copy recursively...
#endif #endif
done: done:
#if defined(QSE_CHAR_IS_MCHAR) #if defined(QSE_CHAR_IS_MCHAR)
if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2); if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2);
#else #else
if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2); if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2);
QSE_MMGR_FREE (fs->mmgr, fop.old_path); QSE_MMGR_FREE (fs->mmgr, fop.old_path);
QSE_MMGR_FREE (fs->mmgr, fop.new_path); QSE_MMGR_FREE (fs->mmgr, fop.new_path);
#endif #endif
return 0; return 0;
oops: oops:
#if defined(QSE_CHAR_IS_MCHAR) #if defined(QSE_CHAR_IS_MCHAR)
if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2); if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2);
#else #else
if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2); if (fop.new_path2) QSE_MMGR_FREE (fs->mmgr, fop.new_path2);
if (fop.old_path) QSE_MMGR_FREE (fs->mmgr, fop.old_path); if (fop.old_path) QSE_MMGR_FREE (fs->mmgr, fop.old_path);
if (fop.new_path) QSE_MMGR_FREE (fs->mmgr, fop.new_path); if (fop.new_path) QSE_MMGR_FREE (fs->mmgr, fop.new_path);
#endif #endif
return -1; return -1;
/* ------------------------------------------------------ */
#endif #endif
} }

View File

@ -244,8 +244,10 @@ int qse_fs_chdir (qse_fs_t* fs, const qse_char_t* name)
#elif defined(__OS2__) #elif defined(__OS2__)
/* TODO: implement this */ /* TODO: implement this */
return 0;
#elif defined(__DOS__) #elif defined(__DOS__)
/* TODO: implement this */ /* TODO: implement this */
return 0;
#else #else
idx = 0; idx = 0;

View File

@ -24,12 +24,14 @@
# include <windows.h> # include <windows.h>
typedef DWORD qse_fs_syserr_t; typedef DWORD qse_fs_syserr_t;
#elif defined(__OS2__) #elif defined(__OS2__)
# error NOT IMPLEMENTED # define INCL_DOSERRORS
# include <os2.h>
typedef APIRET qse_fs_syserr_t;
#elif defined(__DOS__) #elif defined(__DOS__)
# error NOT IMPLEMENTED # include <errno.h>
typedef int qse_fs_syserr_t;
#else #else
# include "syscall.h" # include "syscall.h"
# include <errno.h>
typedef int qse_fs_syserr_t; typedef int qse_fs_syserr_t;
#endif #endif

View File

@ -52,21 +52,21 @@ static qse_pio_errnum_t syserr_to_errnum (DWORD e)
{ {
switch (e) switch (e)
{ {
case ERROR_NOT_ENOUGH_MEMORY:
case ERROR_OUTOFMEMORY:
return QSE_PIO_ENOMEM;
case ERROR_INVALID_PARAMETER: case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE: case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME: case ERROR_INVALID_NAME:
return QSE_PIO_EINVAL; return QSE_PIO_EINVAL;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
return QSE_PIO_ENOENT;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
return QSE_PIO_EACCES; return QSE_PIO_EACCES;
case ERROR_NOT_ENOUGH_MEMORY: case ERROR_FILE_NOT_FOUND:
case ERROR_OUTOFMEMORY: case ERROR_PATH_NOT_FOUND:
return QSE_PIO_ENOMEM; return QSE_PIO_ENOENT;
case ERROR_ALREADY_EXISTS: case ERROR_ALREADY_EXISTS:
case ERROR_FILE_EXISTS: case ERROR_FILE_EXISTS:
@ -76,7 +76,7 @@ static qse_pio_errnum_t syserr_to_errnum (DWORD e)
return QSE_PIO_EPIPE; return QSE_PIO_EPIPE;
default: default:
return QSE_PIO_ESUBSYS; return QSE_PIO_ESYSERR;
} }
} }
#elif defined(__OS2__) #elif defined(__OS2__)
@ -84,20 +84,20 @@ static qse_pio_errnum_t syserr_to_errnum (APIRET e)
{ {
switch (e) switch (e)
{ {
case ERROR_NOT_ENOUGH_MEMORY:
return QSE_PIO_ENOMEM;
case ERROR_INVALID_PARAMETER: case ERROR_INVALID_PARAMETER:
case ERROR_INVALID_HANDLE: case ERROR_INVALID_HANDLE:
case ERROR_INVALID_NAME: case ERROR_INVALID_NAME:
return QSE_PIO_EINVAL; return QSE_PIO_EINVAL;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
return QSE_PIO_ENOENT;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
return QSE_PIO_EACCES; return QSE_PIO_EACCES;
case ERROR_NOT_ENOUGH_MEMORY: case ERROR_FILE_NOT_FOUND:
return QSE_PIO_ENOMEM; case ERROR_PATH_NOT_FOUND:
return QSE_PIO_ENOENT;
case ERROR_ALREADY_EXISTS: case ERROR_ALREADY_EXISTS:
return QSE_PIO_EEXIST; return QSE_PIO_EEXIST;
@ -106,7 +106,7 @@ static qse_pio_errnum_t syserr_to_errnum (APIRET e)
return QSE_PIO_EPIPE; return QSE_PIO_EPIPE;
default: default:
return QSE_PIO_ESUBSYS; return QSE_PIO_ESYSERR;
} }
} }
#elif defined(__DOS__) #elif defined(__DOS__)
@ -120,17 +120,17 @@ static qse_pio_errnum_t syserr_to_errnum (int e)
case EINVAL: case EINVAL:
return QSE_PIO_EINVAL; return QSE_PIO_EINVAL;
case ENOENT:
return QSE_PIO_ENOENT;
case EACCES: case EACCES:
return QSE_PIO_EACCES; return QSE_PIO_EACCES;
case ENOENT:
return QSE_PIO_ENOENT;
case EEXIST: case EEXIST:
return QSE_PIO_EEXIST; return QSE_PIO_EEXIST;
default: default:
return QSE_PIO_ESUBSYS; return QSE_PIO_ESYSERR;
} }
} }
#else #else
@ -144,12 +144,12 @@ static qse_pio_errnum_t syserr_to_errnum (int e)
case EINVAL: case EINVAL:
return QSE_PIO_EINVAL; return QSE_PIO_EINVAL;
case ENOENT:
return QSE_PIO_ENOENT;
case EACCES: case EACCES:
return QSE_PIO_EACCES; return QSE_PIO_EACCES;
case ENOENT:
return QSE_PIO_ENOENT;
case EEXIST: case EEXIST:
return QSE_PIO_EEXIST; return QSE_PIO_EEXIST;
@ -160,7 +160,7 @@ static qse_pio_errnum_t syserr_to_errnum (int e)
return QSE_PIO_EPIPE; return QSE_PIO_EPIPE;
default: default:
return QSE_PIO_ESUBSYS; return QSE_PIO_ESYSERR;
} }
} }
#endif #endif
@ -1663,7 +1663,7 @@ create_process:
return 0; return 0;
oops: oops:
if (pio->errnum == QSE_PIO_ENOERR) pio->errnum = QSE_PIO_ESUBSYS; if (pio->errnum == QSE_PIO_ENOERR) pio->errnum = QSE_PIO_ESYSERR;
#if defined(_WIN32) #if defined(_WIN32)
if (windevnul != INVALID_HANDLE_VALUE) CloseHandle (windevnul); if (windevnul != INVALID_HANDLE_VALUE) CloseHandle (windevnul);
@ -2049,7 +2049,7 @@ int qse_pio_wait (qse_pio_t* pio)
if (w != WAIT_OBJECT_0) if (w != WAIT_OBJECT_0)
{ {
/* WAIT_FAILED, WAIT_ABANDONED */ /* WAIT_FAILED, WAIT_ABANDONED */
pio->errnum = QSE_PIO_ESUBSYS; pio->errnum = QSE_PIO_ESYSERR;
return -1; return -1;
} }
@ -2062,7 +2062,7 @@ int qse_pio_wait (qse_pio_t* pio)
CloseHandle (pio->child); CloseHandle (pio->child);
pio->child = QSE_PIO_PID_NIL; pio->child = QSE_PIO_PID_NIL;
pio->errnum = QSE_PIO_ESUBSYS; pio->errnum = QSE_PIO_ESYSERR;
return -1; return -1;
} }
@ -2075,7 +2075,7 @@ int qse_pio_wait (qse_pio_t* pio)
/* this should not happen as the control reaches here /* this should not happen as the control reaches here
* only when WaitforSingleObject() is successful. * only when WaitforSingleObject() is successful.
* if it happends, close the handle and return an error */ * if it happends, close the handle and return an error */
pio->errnum = QSE_PIO_ESUBSYS; pio->errnum = QSE_PIO_ESYSERR;
return -1; return -1;
} }
@ -2108,7 +2108,7 @@ int qse_pio_wait (qse_pio_t* pio)
if (rc != NO_ERROR) if (rc != NO_ERROR)
{ {
/* WAIT_FAILED, WAIT_ABANDONED */ /* WAIT_FAILED, WAIT_ABANDONED */
pio->errnum = QSE_PIO_ESUBSYS; pio->errnum = QSE_PIO_ESYSERR;
return -1; return -1;
} }
@ -2225,7 +2225,7 @@ int qse_pio_kill (qse_pio_t* pio)
n = TerminateProcess (pio->child, 255 + 1 + 9); n = TerminateProcess (pio->child, 255 + 1 + 9);
if (n == FALSE) if (n == FALSE)
{ {
pio->errnum = QSE_PIO_ESUBSYS; pio->errnum = QSE_PIO_ESYSERR;
return -1; return -1;
} }
return 0; return 0;
@ -2235,7 +2235,7 @@ int qse_pio_kill (qse_pio_t* pio)
rc = DosKillProcess (pio->child, DKP_PROCESSTREE); rc = DosKillProcess (pio->child, DKP_PROCESSTREE);
if (rc != NO_ERROR) if (rc != NO_ERROR)
{ {
pio->errnum = QSE_PIO_ESUBSYS; pio->errnum = QSE_PIO_ESYSERR;
return -1; return -1;
} }
return 0; return 0;
@ -2247,7 +2247,7 @@ int qse_pio_kill (qse_pio_t* pio)
#else #else
n = QSE_KILL (pio->child, SIGKILL); n = QSE_KILL (pio->child, SIGKILL);
if (n <= -1) pio->errnum = QSE_PIO_ESUBSYS; if (n <= -1) pio->errnum = QSE_PIO_ESYSERR;
return n; return n;
#endif #endif
} }

View File

@ -57,8 +57,8 @@ static qse_sio_errnum_t fio_errnum_to_sio_errnum (qse_fio_t* fio)
return QSE_SIO_EEXIST; return QSE_SIO_EEXIST;
case QSE_FIO_EINTR: case QSE_FIO_EINTR:
return QSE_SIO_EINTR; return QSE_SIO_EINTR;
case QSE_FIO_ESUBSYS: case QSE_FIO_ESYSERR:
return QSE_SIO_ESUBSYS; return QSE_SIO_ESYSERR;
case QSE_FIO_ENOIMPL: case QSE_FIO_ENOIMPL:
return QSE_SIO_ENOIMPL; return QSE_SIO_ENOIMPL;
default: default:
@ -443,14 +443,14 @@ qse_ssize_t qse_sio_putwcs (qse_sio_t* sio, const qse_wchar_t* str)
sio->u.file.handle, cur, left, sio->u.file.handle, cur, left,
&count, QSE_NULL) == FALSE) &count, QSE_NULL) == FALSE)
{ {
sio->errnum = QSE_SIO_ESUBSYS; sio->errnum = QSE_SIO_ESYSERR;
return -1; return -1;
} }
if (count == 0) break; if (count == 0) break;
if (count > left) if (count > left)
{ {
sio->errnum = QSE_SIO_ESUBSYS; sio->errnum = QSE_SIO_ESYSERR;
return -1; return -1;
} }
} }
@ -502,7 +502,7 @@ qse_ssize_t qse_sio_putwcsn (
sio->u.file.handle, cur, left, sio->u.file.handle, cur, left,
&count, QSE_NULL) == FALSE) &count, QSE_NULL) == FALSE)
{ {
sio->errnum = QSE_SIO_ESUBSYS; sio->errnum = QSE_SIO_ESYSERR;
return -1; return -1;
} }
if (count == 0) break; if (count == 0) break;
@ -517,7 +517,7 @@ qse_ssize_t qse_sio_putwcsn (
*/ */
if (count > left) if (count > left)
{ {
sio->errnum = QSE_SIO_ESUBSYS; sio->errnum = QSE_SIO_ESYSERR;
return -1; return -1;
} }
} }

View File

@ -42,7 +42,7 @@ WVList
0 0
10 10
WPickList WPickList
74 77
11 11
MItem MItem
3 3
@ -275,8 +275,8 @@ WVList
0 0
63 63
MItem MItem
28 31
../../../../../lib/cmn/gdl.c ../../../../../lib/cmn/fs-err.c
64 64
WString WString
4 4
@ -293,8 +293,8 @@ WVList
0 0
67 67
MItem MItem
28 32
../../../../../lib/cmn/htb.c ../../../../../lib/cmn/fs-move.c
68 68
WString WString
4 4
@ -311,8 +311,8 @@ WVList
0 0
71 71
MItem MItem
28 27
../../../../../lib/cmn/lda.c ../../../../../lib/cmn/fs.c
72 72
WString WString
4 4
@ -329,8 +329,8 @@ WVList
0 0
75 75
MItem MItem
29 28
../../../../../lib/cmn/main.c ../../../../../lib/cmn/gdl.c
76 76
WString WString
4 4
@ -347,8 +347,8 @@ WVList
0 0
79 79
MItem MItem
33 28
../../../../../lib/cmn/mbwc-str.c ../../../../../lib/cmn/htb.c
80 80
WString WString
4 4
@ -365,8 +365,8 @@ WVList
0 0
83 83
MItem MItem
29 28
../../../../../lib/cmn/mbwc.c ../../../../../lib/cmn/lda.c
84 84
WString WString
4 4
@ -383,8 +383,8 @@ WVList
0 0
87 87
MItem MItem
28 29
../../../../../lib/cmn/mem.c ../../../../../lib/cmn/main.c
88 88
WString WString
4 4
@ -401,8 +401,8 @@ WVList
0 0
91 91
MItem MItem
28 33
../../../../../lib/cmn/oht.c ../../../../../lib/cmn/mbwc-str.c
92 92
WString WString
4 4
@ -419,8 +419,8 @@ WVList
0 0
95 95
MItem MItem
28 29
../../../../../lib/cmn/opt.c ../../../../../lib/cmn/mbwc.c
96 96
WString WString
4 4
@ -437,8 +437,8 @@ WVList
0 0
99 99
MItem MItem
38 28
../../../../../lib/cmn/path-basename.c ../../../../../lib/cmn/mem.c
100 100
WString WString
4 4
@ -455,8 +455,8 @@ WVList
0 0
103 103
MItem MItem
35 28
../../../../../lib/cmn/path-canon.c ../../../../../lib/cmn/oht.c
104 104
WString WString
4 4
@ -474,7 +474,7 @@ WVList
107 107
MItem MItem
28 28
../../../../../lib/cmn/pio.c ../../../../../lib/cmn/opt.c
108 108
WString WString
4 4
@ -491,8 +491,8 @@ WVList
0 0
111 111
MItem MItem
28 38
../../../../../lib/cmn/pma.c ../../../../../lib/cmn/path-basename.c
112 112
WString WString
4 4
@ -509,8 +509,8 @@ WVList
0 0
115 115
MItem MItem
28 35
../../../../../lib/cmn/rbt.c ../../../../../lib/cmn/path-canon.c
116 116
WString WString
4 4
@ -528,7 +528,7 @@ WVList
119 119
MItem MItem
28 28
../../../../../lib/cmn/rex.c ../../../../../lib/cmn/pio.c
120 120
WString WString
4 4
@ -546,7 +546,7 @@ WVList
123 123
MItem MItem
28 28
../../../../../lib/cmn/sio.c ../../../../../lib/cmn/pma.c
124 124
WString WString
4 4
@ -564,7 +564,7 @@ WVList
127 127
MItem MItem
28 28
../../../../../lib/cmn/sll.c ../../../../../lib/cmn/rbt.c
128 128
WString WString
4 4
@ -581,8 +581,8 @@ WVList
0 0
131 131
MItem MItem
29 28
../../../../../lib/cmn/slmb.c ../../../../../lib/cmn/rex.c
132 132
WString WString
4 4
@ -599,8 +599,8 @@ WVList
0 0
135 135
MItem MItem
30 28
../../../../../lib/cmn/stdio.c ../../../../../lib/cmn/sio.c
136 136
WString WString
4 4
@ -617,8 +617,8 @@ WVList
0 0
139 139
MItem MItem
32 28
../../../../../lib/cmn/str-beg.c ../../../../../lib/cmn/sll.c
140 140
WString WString
4 4
@ -635,8 +635,8 @@ WVList
0 0
143 143
MItem MItem
32 29
../../../../../lib/cmn/str-cat.c ../../../../../lib/cmn/slmb.c
144 144
WString WString
4 4
@ -653,8 +653,8 @@ WVList
0 0
147 147
MItem MItem
32 30
../../../../../lib/cmn/str-chr.c ../../../../../lib/cmn/stdio.c
148 148
WString WString
4 4
@ -672,7 +672,7 @@ WVList
151 151
MItem MItem
32 32
../../../../../lib/cmn/str-cmp.c ../../../../../lib/cmn/str-beg.c
152 152
WString WString
4 4
@ -690,7 +690,7 @@ WVList
155 155
MItem MItem
32 32
../../../../../lib/cmn/str-cnv.c ../../../../../lib/cmn/str-cat.c
156 156
WString WString
4 4
@ -708,7 +708,7 @@ WVList
159 159
MItem MItem
32 32
../../../../../lib/cmn/str-cpy.c ../../../../../lib/cmn/str-chr.c
160 160
WString WString
4 4
@ -726,7 +726,7 @@ WVList
163 163
MItem MItem
32 32
../../../../../lib/cmn/str-del.c ../../../../../lib/cmn/str-cmp.c
164 164
WString WString
4 4
@ -744,7 +744,7 @@ WVList
167 167
MItem MItem
32 32
../../../../../lib/cmn/str-dup.c ../../../../../lib/cmn/str-cnv.c
168 168
WString WString
4 4
@ -761,8 +761,8 @@ WVList
0 0
171 171
MItem MItem
33 32
../../../../../lib/cmn/str-dynm.c ../../../../../lib/cmn/str-cpy.c
172 172
WString WString
4 4
@ -779,8 +779,8 @@ WVList
0 0
175 175
MItem MItem
33 32
../../../../../lib/cmn/str-dynw.c ../../../../../lib/cmn/str-del.c
176 176
WString WString
4 4
@ -798,7 +798,7 @@ WVList
179 179
MItem MItem
32 32
../../../../../lib/cmn/str-end.c ../../../../../lib/cmn/str-dup.c
180 180
WString WString
4 4
@ -816,7 +816,7 @@ WVList
183 183
MItem MItem
33 33
../../../../../lib/cmn/str-excl.c ../../../../../lib/cmn/str-dynm.c
184 184
WString WString
4 4
@ -834,7 +834,7 @@ WVList
187 187
MItem MItem
33 33
../../../../../lib/cmn/str-fcpy.c ../../../../../lib/cmn/str-dynw.c
188 188
WString WString
4 4
@ -851,8 +851,8 @@ WVList
0 0
191 191
MItem MItem
33 32
../../../../../lib/cmn/str-incl.c ../../../../../lib/cmn/str-end.c
192 192
WString WString
4 4
@ -869,8 +869,8 @@ WVList
0 0
195 195
MItem MItem
32 33
../../../../../lib/cmn/str-len.c ../../../../../lib/cmn/str-excl.c
196 196
WString WString
4 4
@ -887,8 +887,8 @@ WVList
0 0
199 199
MItem MItem
32 33
../../../../../lib/cmn/str-pac.c ../../../../../lib/cmn/str-fcpy.c
200 200
WString WString
4 4
@ -906,7 +906,7 @@ WVList
203 203
MItem MItem
33 33
../../../../../lib/cmn/str-pbrk.c ../../../../../lib/cmn/str-incl.c
204 204
WString WString
4 4
@ -924,7 +924,7 @@ WVList
207 207
MItem MItem
32 32
../../../../../lib/cmn/str-put.c ../../../../../lib/cmn/str-len.c
208 208
WString WString
4 4
@ -942,7 +942,7 @@ WVList
211 211
MItem MItem
32 32
../../../../../lib/cmn/str-rev.c ../../../../../lib/cmn/str-pac.c
212 212
WString WString
4 4
@ -959,8 +959,8 @@ WVList
0 0
215 215
MItem MItem
32 33
../../../../../lib/cmn/str-rot.c ../../../../../lib/cmn/str-pbrk.c
216 216
WString WString
4 4
@ -978,7 +978,7 @@ WVList
219 219
MItem MItem
32 32
../../../../../lib/cmn/str-set.c ../../../../../lib/cmn/str-put.c
220 220
WString WString
4 4
@ -996,7 +996,7 @@ WVList
223 223
MItem MItem
32 32
../../../../../lib/cmn/str-spl.c ../../../../../lib/cmn/str-rev.c
224 224
WString WString
4 4
@ -1014,7 +1014,7 @@ WVList
227 227
MItem MItem
32 32
../../../../../lib/cmn/str-spn.c ../../../../../lib/cmn/str-rot.c
228 228
WString WString
4 4
@ -1032,7 +1032,7 @@ WVList
231 231
MItem MItem
32 32
../../../../../lib/cmn/str-str.c ../../../../../lib/cmn/str-set.c
232 232
WString WString
4 4
@ -1049,8 +1049,8 @@ WVList
0 0
235 235
MItem MItem
34 32
../../../../../lib/cmn/str-subst.c ../../../../../lib/cmn/str-spl.c
236 236
WString WString
4 4
@ -1068,7 +1068,7 @@ WVList
239 239
MItem MItem
32 32
../../../../../lib/cmn/str-tok.c ../../../../../lib/cmn/str-spn.c
240 240
WString WString
4 4
@ -1086,7 +1086,7 @@ WVList
243 243
MItem MItem
32 32
../../../../../lib/cmn/str-trm.c ../../../../../lib/cmn/str-str.c
244 244
WString WString
4 4
@ -1103,8 +1103,8 @@ WVList
0 0
247 247
MItem MItem
33 34
../../../../../lib/cmn/str-word.c ../../../../../lib/cmn/str-subst.c
248 248
WString WString
4 4
@ -1121,8 +1121,8 @@ WVList
0 0
251 251
MItem MItem
29 32
../../../../../lib/cmn/time.c ../../../../../lib/cmn/str-tok.c
252 252
WString WString
4 4
@ -1140,7 +1140,7 @@ WVList
255 255
MItem MItem
32 32
../../../../../lib/cmn/tio-get.c ../../../../../lib/cmn/str-trm.c
256 256
WString WString
4 4
@ -1157,8 +1157,8 @@ WVList
0 0
259 259
MItem MItem
32 33
../../../../../lib/cmn/tio-put.c ../../../../../lib/cmn/str-word.c
260 260
WString WString
4 4
@ -1175,8 +1175,8 @@ WVList
0 0
263 263
MItem MItem
28 29
../../../../../lib/cmn/tio.c ../../../../../lib/cmn/time.c
264 264
WString WString
4 4
@ -1194,7 +1194,7 @@ WVList
267 267
MItem MItem
32 32
../../../../../lib/cmn/tre-ast.c ../../../../../lib/cmn/tio-get.c
268 268
WString WString
4 4
@ -1211,8 +1211,8 @@ WVList
0 0
271 271
MItem MItem
36 32
../../../../../lib/cmn/tre-compile.c ../../../../../lib/cmn/tio-put.c
272 272
WString WString
4 4
@ -1229,8 +1229,8 @@ WVList
0 0
275 275
MItem MItem
44 28
../../../../../lib/cmn/tre-match-backtrack.c ../../../../../lib/cmn/tio.c
276 276
WString WString
4 4
@ -1247,8 +1247,8 @@ WVList
0 0
279 279
MItem MItem
43 32
../../../../../lib/cmn/tre-match-parallel.c ../../../../../lib/cmn/tre-ast.c
280 280
WString WString
4 4
@ -1265,8 +1265,8 @@ WVList
0 0
283 283
MItem MItem
34 36
../../../../../lib/cmn/tre-parse.c ../../../../../lib/cmn/tre-compile.c
284 284
WString WString
4 4
@ -1283,8 +1283,8 @@ WVList
0 0
287 287
MItem MItem
34 44
../../../../../lib/cmn/tre-stack.c ../../../../../lib/cmn/tre-match-backtrack.c
288 288
WString WString
4 4
@ -1301,8 +1301,8 @@ WVList
0 0
291 291
MItem MItem
28 43
../../../../../lib/cmn/tre.c ../../../../../lib/cmn/tre-match-parallel.c
292 292
WString WString
4 4
@ -1319,8 +1319,8 @@ WVList
0 0
295 295
MItem MItem
29 34
../../../../../lib/cmn/utf8.c ../../../../../lib/cmn/tre-parse.c
296 296
WString WString
4 4
@ -1337,8 +1337,8 @@ WVList
0 0
299 299
MItem MItem
28 34
../../../../../lib/cmn/xma.c ../../../../../lib/cmn/tre-stack.c
300 300
WString WString
4 4
@ -1355,55 +1355,109 @@ WVList
0 0
303 303
MItem MItem
3 28
*.h ../../../../../lib/cmn/tre.c
304 304
WString WString
3 4
NIL COBJ
305 305
WVList WVList
0 0
306 306
WVList WVList
0 0
-1 11
1 1
1 1
0 0
307 307
MItem MItem
28 29
../../../../../lib/cmn/mem.h ../../../../../lib/cmn/utf8.c
308 308
WString WString
3 4
NIL COBJ
309 309
WVList WVList
0 0
310 310
WVList WVList
0 0
303 11
1 1
1 1
0 0
311 311
MItem MItem
32 28
../../../../../lib/cmn/syscall.h ../../../../../lib/cmn/xma.c
312 312
WString WString
3 4
NIL COBJ
313 313
WVList WVList
0 0
314 314
WVList WVList
0 0
303 11
1
1
0
315
MItem
3
*.h
316
WString
3
NIL
317
WVList
0
318
WVList
0
-1
1
1
0
319
MItem
28
../../../../../lib/cmn/mem.h
320
WString
3
NIL
321
WVList
0
322
WVList
0
315
1
1
0
323
MItem
32
../../../../../lib/cmn/syscall.h
324
WString
3
NIL
325
WVList
0
326
WVList
0
315
1 1
1 1
0 0

View File

@ -42,7 +42,7 @@ WVList
0 0
10 10
WPickList WPickList
74 77
11 11
MItem MItem
3 3
@ -287,8 +287,8 @@ WVList
0 0
66 66
MItem MItem
28 31
../../../../../lib/cmn/gdl.c ../../../../../lib/cmn/fs-err.c
67 67
WString WString
4 4
@ -305,8 +305,8 @@ WVList
0 0
70 70
MItem MItem
28 32
../../../../../lib/cmn/htb.c ../../../../../lib/cmn/fs-move.c
71 71
WString WString
4 4
@ -323,8 +323,8 @@ WVList
0 0
74 74
MItem MItem
28 27
../../../../../lib/cmn/lda.c ../../../../../lib/cmn/fs.c
75 75
WString WString
4 4
@ -341,8 +341,8 @@ WVList
0 0
78 78
MItem MItem
29 28
../../../../../lib/cmn/main.c ../../../../../lib/cmn/gdl.c
79 79
WString WString
4 4
@ -359,8 +359,8 @@ WVList
0 0
82 82
MItem MItem
33 28
../../../../../lib/cmn/mbwc-str.c ../../../../../lib/cmn/htb.c
83 83
WString WString
4 4
@ -377,8 +377,8 @@ WVList
0 0
86 86
MItem MItem
29 28
../../../../../lib/cmn/mbwc.c ../../../../../lib/cmn/lda.c
87 87
WString WString
4 4
@ -395,8 +395,8 @@ WVList
0 0
90 90
MItem MItem
28 29
../../../../../lib/cmn/mem.c ../../../../../lib/cmn/main.c
91 91
WString WString
4 4
@ -413,8 +413,8 @@ WVList
0 0
94 94
MItem MItem
28 33
../../../../../lib/cmn/oht.c ../../../../../lib/cmn/mbwc-str.c
95 95
WString WString
4 4
@ -431,8 +431,8 @@ WVList
0 0
98 98
MItem MItem
28 29
../../../../../lib/cmn/opt.c ../../../../../lib/cmn/mbwc.c
99 99
WString WString
4 4
@ -449,8 +449,8 @@ WVList
0 0
102 102
MItem MItem
38 28
../../../../../lib/cmn/path-basename.c ../../../../../lib/cmn/mem.c
103 103
WString WString
4 4
@ -467,8 +467,8 @@ WVList
0 0
106 106
MItem MItem
35 28
../../../../../lib/cmn/path-canon.c ../../../../../lib/cmn/oht.c
107 107
WString WString
4 4
@ -486,7 +486,7 @@ WVList
110 110
MItem MItem
28 28
../../../../../lib/cmn/pio.c ../../../../../lib/cmn/opt.c
111 111
WString WString
4 4
@ -503,8 +503,8 @@ WVList
0 0
114 114
MItem MItem
28 38
../../../../../lib/cmn/pma.c ../../../../../lib/cmn/path-basename.c
115 115
WString WString
4 4
@ -521,8 +521,8 @@ WVList
0 0
118 118
MItem MItem
28 35
../../../../../lib/cmn/rbt.c ../../../../../lib/cmn/path-canon.c
119 119
WString WString
4 4
@ -540,7 +540,7 @@ WVList
122 122
MItem MItem
28 28
../../../../../lib/cmn/rex.c ../../../../../lib/cmn/pio.c
123 123
WString WString
4 4
@ -558,7 +558,7 @@ WVList
126 126
MItem MItem
28 28
../../../../../lib/cmn/sio.c ../../../../../lib/cmn/pma.c
127 127
WString WString
4 4
@ -576,7 +576,7 @@ WVList
130 130
MItem MItem
28 28
../../../../../lib/cmn/sll.c ../../../../../lib/cmn/rbt.c
131 131
WString WString
4 4
@ -593,8 +593,8 @@ WVList
0 0
134 134
MItem MItem
29 28
../../../../../lib/cmn/slmb.c ../../../../../lib/cmn/rex.c
135 135
WString WString
4 4
@ -611,8 +611,8 @@ WVList
0 0
138 138
MItem MItem
30 28
../../../../../lib/cmn/stdio.c ../../../../../lib/cmn/sio.c
139 139
WString WString
4 4
@ -629,8 +629,8 @@ WVList
0 0
142 142
MItem MItem
32 28
../../../../../lib/cmn/str-beg.c ../../../../../lib/cmn/sll.c
143 143
WString WString
4 4
@ -647,8 +647,8 @@ WVList
0 0
146 146
MItem MItem
32 29
../../../../../lib/cmn/str-cat.c ../../../../../lib/cmn/slmb.c
147 147
WString WString
4 4
@ -665,8 +665,8 @@ WVList
0 0
150 150
MItem MItem
32 30
../../../../../lib/cmn/str-chr.c ../../../../../lib/cmn/stdio.c
151 151
WString WString
4 4
@ -684,7 +684,7 @@ WVList
154 154
MItem MItem
32 32
../../../../../lib/cmn/str-cmp.c ../../../../../lib/cmn/str-beg.c
155 155
WString WString
4 4
@ -702,7 +702,7 @@ WVList
158 158
MItem MItem
32 32
../../../../../lib/cmn/str-cnv.c ../../../../../lib/cmn/str-cat.c
159 159
WString WString
4 4
@ -720,7 +720,7 @@ WVList
162 162
MItem MItem
32 32
../../../../../lib/cmn/str-cpy.c ../../../../../lib/cmn/str-chr.c
163 163
WString WString
4 4
@ -738,7 +738,7 @@ WVList
166 166
MItem MItem
32 32
../../../../../lib/cmn/str-del.c ../../../../../lib/cmn/str-cmp.c
167 167
WString WString
4 4
@ -756,7 +756,7 @@ WVList
170 170
MItem MItem
32 32
../../../../../lib/cmn/str-dup.c ../../../../../lib/cmn/str-cnv.c
171 171
WString WString
4 4
@ -773,8 +773,8 @@ WVList
0 0
174 174
MItem MItem
33 32
../../../../../lib/cmn/str-dynm.c ../../../../../lib/cmn/str-cpy.c
175 175
WString WString
4 4
@ -791,8 +791,8 @@ WVList
0 0
178 178
MItem MItem
33 32
../../../../../lib/cmn/str-dynw.c ../../../../../lib/cmn/str-del.c
179 179
WString WString
4 4
@ -810,7 +810,7 @@ WVList
182 182
MItem MItem
32 32
../../../../../lib/cmn/str-end.c ../../../../../lib/cmn/str-dup.c
183 183
WString WString
4 4
@ -828,7 +828,7 @@ WVList
186 186
MItem MItem
33 33
../../../../../lib/cmn/str-excl.c ../../../../../lib/cmn/str-dynm.c
187 187
WString WString
4 4
@ -846,7 +846,7 @@ WVList
190 190
MItem MItem
33 33
../../../../../lib/cmn/str-fcpy.c ../../../../../lib/cmn/str-dynw.c
191 191
WString WString
4 4
@ -863,8 +863,8 @@ WVList
0 0
194 194
MItem MItem
33 32
../../../../../lib/cmn/str-incl.c ../../../../../lib/cmn/str-end.c
195 195
WString WString
4 4
@ -881,8 +881,8 @@ WVList
0 0
198 198
MItem MItem
32 33
../../../../../lib/cmn/str-len.c ../../../../../lib/cmn/str-excl.c
199 199
WString WString
4 4
@ -899,8 +899,8 @@ WVList
0 0
202 202
MItem MItem
32 33
../../../../../lib/cmn/str-pac.c ../../../../../lib/cmn/str-fcpy.c
203 203
WString WString
4 4
@ -918,7 +918,7 @@ WVList
206 206
MItem MItem
33 33
../../../../../lib/cmn/str-pbrk.c ../../../../../lib/cmn/str-incl.c
207 207
WString WString
4 4
@ -936,7 +936,7 @@ WVList
210 210
MItem MItem
32 32
../../../../../lib/cmn/str-put.c ../../../../../lib/cmn/str-len.c
211 211
WString WString
4 4
@ -954,7 +954,7 @@ WVList
214 214
MItem MItem
32 32
../../../../../lib/cmn/str-rev.c ../../../../../lib/cmn/str-pac.c
215 215
WString WString
4 4
@ -971,8 +971,8 @@ WVList
0 0
218 218
MItem MItem
32 33
../../../../../lib/cmn/str-rot.c ../../../../../lib/cmn/str-pbrk.c
219 219
WString WString
4 4
@ -990,7 +990,7 @@ WVList
222 222
MItem MItem
32 32
../../../../../lib/cmn/str-set.c ../../../../../lib/cmn/str-put.c
223 223
WString WString
4 4
@ -1008,7 +1008,7 @@ WVList
226 226
MItem MItem
32 32
../../../../../lib/cmn/str-spl.c ../../../../../lib/cmn/str-rev.c
227 227
WString WString
4 4
@ -1026,7 +1026,7 @@ WVList
230 230
MItem MItem
32 32
../../../../../lib/cmn/str-spn.c ../../../../../lib/cmn/str-rot.c
231 231
WString WString
4 4
@ -1044,7 +1044,7 @@ WVList
234 234
MItem MItem
32 32
../../../../../lib/cmn/str-str.c ../../../../../lib/cmn/str-set.c
235 235
WString WString
4 4
@ -1061,8 +1061,8 @@ WVList
0 0
238 238
MItem MItem
34 32
../../../../../lib/cmn/str-subst.c ../../../../../lib/cmn/str-spl.c
239 239
WString WString
4 4
@ -1080,7 +1080,7 @@ WVList
242 242
MItem MItem
32 32
../../../../../lib/cmn/str-tok.c ../../../../../lib/cmn/str-spn.c
243 243
WString WString
4 4
@ -1098,7 +1098,7 @@ WVList
246 246
MItem MItem
32 32
../../../../../lib/cmn/str-trm.c ../../../../../lib/cmn/str-str.c
247 247
WString WString
4 4
@ -1115,8 +1115,8 @@ WVList
0 0
250 250
MItem MItem
33 34
../../../../../lib/cmn/str-word.c ../../../../../lib/cmn/str-subst.c
251 251
WString WString
4 4
@ -1133,8 +1133,8 @@ WVList
0 0
254 254
MItem MItem
29 32
../../../../../lib/cmn/time.c ../../../../../lib/cmn/str-tok.c
255 255
WString WString
4 4
@ -1152,7 +1152,7 @@ WVList
258 258
MItem MItem
32 32
../../../../../lib/cmn/tio-get.c ../../../../../lib/cmn/str-trm.c
259 259
WString WString
4 4
@ -1169,8 +1169,8 @@ WVList
0 0
262 262
MItem MItem
32 33
../../../../../lib/cmn/tio-put.c ../../../../../lib/cmn/str-word.c
263 263
WString WString
4 4
@ -1187,8 +1187,8 @@ WVList
0 0
266 266
MItem MItem
28 29
../../../../../lib/cmn/tio.c ../../../../../lib/cmn/time.c
267 267
WString WString
4 4
@ -1206,7 +1206,7 @@ WVList
270 270
MItem MItem
32 32
../../../../../lib/cmn/tre-ast.c ../../../../../lib/cmn/tio-get.c
271 271
WString WString
4 4
@ -1223,8 +1223,8 @@ WVList
0 0
274 274
MItem MItem
36 32
../../../../../lib/cmn/tre-compile.c ../../../../../lib/cmn/tio-put.c
275 275
WString WString
4 4
@ -1241,8 +1241,8 @@ WVList
0 0
278 278
MItem MItem
44 28
../../../../../lib/cmn/tre-match-backtrack.c ../../../../../lib/cmn/tio.c
279 279
WString WString
4 4
@ -1259,8 +1259,8 @@ WVList
0 0
282 282
MItem MItem
43 32
../../../../../lib/cmn/tre-match-parallel.c ../../../../../lib/cmn/tre-ast.c
283 283
WString WString
4 4
@ -1277,8 +1277,8 @@ WVList
0 0
286 286
MItem MItem
34 36
../../../../../lib/cmn/tre-parse.c ../../../../../lib/cmn/tre-compile.c
287 287
WString WString
4 4
@ -1295,8 +1295,8 @@ WVList
0 0
290 290
MItem MItem
34 44
../../../../../lib/cmn/tre-stack.c ../../../../../lib/cmn/tre-match-backtrack.c
291 291
WString WString
4 4
@ -1313,8 +1313,8 @@ WVList
0 0
294 294
MItem MItem
28 43
../../../../../lib/cmn/tre.c ../../../../../lib/cmn/tre-match-parallel.c
295 295
WString WString
4 4
@ -1331,8 +1331,8 @@ WVList
0 0
298 298
MItem MItem
29 34
../../../../../lib/cmn/utf8.c ../../../../../lib/cmn/tre-parse.c
299 299
WString WString
4 4
@ -1349,8 +1349,8 @@ WVList
0 0
302 302
MItem MItem
28 34
../../../../../lib/cmn/xma.c ../../../../../lib/cmn/tre-stack.c
303 303
WString WString
4 4
@ -1367,55 +1367,109 @@ WVList
0 0
306 306
MItem MItem
3 28
*.h ../../../../../lib/cmn/tre.c
307 307
WString WString
3 4
NIL COBJ
308 308
WVList WVList
0 0
309 309
WVList WVList
0 0
-1 11
1 1
1 1
0 0
310 310
MItem MItem
28 29
../../../../../lib/cmn/mem.h ../../../../../lib/cmn/utf8.c
311 311
WString WString
3 4
NIL COBJ
312 312
WVList WVList
0 0
313 313
WVList WVList
0 0
306 11
1 1
1 1
0 0
314 314
MItem MItem
32 28
../../../../../lib/cmn/syscall.h ../../../../../lib/cmn/xma.c
315 315
WString WString
3 4
NIL COBJ
316 316
WVList WVList
0 0
317 317
WVList WVList
0 0
306 11
1
1
0
318
MItem
3
*.h
319
WString
3
NIL
320
WVList
0
321
WVList
0
-1
1
1
0
322
MItem
28
../../../../../lib/cmn/mem.h
323
WString
3
NIL
324
WVList
0
325
WVList
0
318
1
1
0
326
MItem
32
../../../../../lib/cmn/syscall.h
327
WString
3
NIL
328
WVList
0
329
WVList
0
318
1 1
1 1
0 0

View File

@ -4,8 +4,8 @@ projectIdent
VpeMain VpeMain
1 1
WRect WRect
540 390
0 40
9320 9320
9680 9680
2 2
@ -148,14 +148,14 @@ WRect
1360 1360
5700 5700
4240 4240
1 0
0 0
35 35
WFileName WFileName
28 28
debug/os2/lib/cmn/qsecmn.tgt debug/os2/lib/cmn/qsecmn.tgt
14 8
22 12
36 36
VComponent VComponent
37 37
@ -196,7 +196,7 @@ WRect
2440 2440
5700 5700
4240 4240
0 1
0 0
44 44
WFileName WFileName
@ -228,7 +228,7 @@ WRect
360 360
5700 5700
4240 4240
0 1
0 0
50 50
WFileName WFileName
@ -244,7 +244,7 @@ WRect
1080 1080
5700 5700
4240 4240
1 0
0 0
53 53
WFileName WFileName
@ -380,4 +380,4 @@ WFileName
debug/win32/lib/sed/qsesed.tgt debug/win32/lib/sed/qsesed.tgt
0 0
0 0
48 51