improved error handling in httpd

added more win32/watcom targets
This commit is contained in:
hyung-hwan 2012-12-10 14:39:57 +00:00
parent 988621d148
commit b2d7199f39
34 changed files with 1095 additions and 122 deletions

View File

@ -56,7 +56,6 @@ enum
#if defined(_WIN32) #if defined(_WIN32)
static qse_fio_errnum_t syserr_to_errnum (DWORD e) static qse_fio_errnum_t syserr_to_errnum (DWORD e)
{ {
switch (e) switch (e)
{ {
case ERROR_NOT_ENOUGH_MEMORY: case ERROR_NOT_ENOUGH_MEMORY:
@ -69,6 +68,7 @@ static qse_fio_errnum_t syserr_to_errnum (DWORD e)
return QSE_FIO_EINVAL; return QSE_FIO_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_FIO_EACCES; return QSE_FIO_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:
@ -97,6 +97,7 @@ static qse_fio_errnum_t syserr_to_errnum (APIRET e)
return QSE_FIO_EINVAL; return QSE_FIO_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_FIO_EACCES; return QSE_FIO_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:

View File

@ -41,6 +41,7 @@ qse_fs_errnum_t qse_fs_syserrtoerrnum (qse_fs_t* fs, qse_fs_syserr_t e)
return QSE_FS_EINVAL; return QSE_FS_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_FS_EACCES; return QSE_FS_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:
@ -70,6 +71,7 @@ qse_fs_errnum_t qse_fs_syserrtoerrnum (qse_fs_t* fs, qse_fs_syserr_t e)
return QSE_FS_EINVAL; return QSE_FS_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_FS_EACCES; return QSE_FS_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:

View File

@ -120,6 +120,7 @@ static qse_mux_errnum_t syserr_to_errnum (DWORD e)
return QSE_MUX_EINVAL; return QSE_MUX_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_MUX_EACCES; return QSE_MUX_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:

View File

@ -60,6 +60,7 @@ static qse_pio_errnum_t syserr_to_errnum (DWORD e)
return QSE_PIO_EINVAL; return QSE_PIO_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_PIO_EACCES; return QSE_PIO_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:
@ -91,6 +92,7 @@ static qse_pio_errnum_t syserr_to_errnum (APIRET e)
return QSE_PIO_EINVAL; return QSE_PIO_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_PIO_EACCES; return QSE_PIO_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:

View File

@ -134,6 +134,7 @@ static qse_httpd_errnum_t syserr_to_errnum (DWORD e)
return QSE_HTTPD_EINVAL; return QSE_HTTPD_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_HTTPD_EACCES; return QSE_HTTPD_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:
@ -162,6 +163,7 @@ static qse_httpd_errnum_t syserr_to_errnum (APIRET e)
return QSE_HTTPD_EINVAL; return QSE_HTTPD_EINVAL;
case ERROR_ACCESS_DENIED: case ERROR_ACCESS_DENIED:
case ERROR_SHARING_VIOLATION:
return QSE_HTTPD_EACCES; return QSE_HTTPD_EACCES;
case ERROR_FILE_NOT_FOUND: case ERROR_FILE_NOT_FOUND:
@ -269,6 +271,34 @@ static qse_httpd_errnum_t muxerr_to_errnum (qse_mux_errnum_t e)
} }
} }
static qse_httpd_errnum_t fioerr_to_errnum (qse_fio_errnum_t e)
{
switch (e)
{
case QSE_FIO_ENOMEM:
return QSE_HTTPD_ENOMEM;
case QSE_FIO_EINVAL:
return QSE_HTTPD_EINVAL;
case QSE_FIO_EACCES:
return QSE_HTTPD_EACCES;
case QSE_FIO_ENOENT:
return QSE_HTTPD_ENOENT;
case QSE_FIO_EEXIST:
return QSE_HTTPD_EEXIST;
case QSE_FIO_EINTR:
return QSE_HTTPD_EINTR;
default:
return QSE_HTTPD_ESYSERR;
}
}
/* ------------------------------------------------------------------- */ /* ------------------------------------------------------------------- */
@ -511,7 +541,7 @@ static int server_open (qse_httpd_t* httpd, qse_httpd_server_t* server)
#if defined(SO_REUSEADDR) #if defined(SO_REUSEADDR)
flag = 1; flag = 1;
setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, &flag, QSE_SIZEOF(flag)); setsockopt (fd, SOL_SOCKET, SO_REUSEADDR, (void*)&flag, QSE_SIZEOF(flag));
#endif #endif
/* TODO: linux. use capset() to set required capabilities just in case */ /* TODO: linux. use capset() to set required capabilities just in case */
@ -569,7 +599,7 @@ IP_TRANSPRENT is needed for:
/*if (bind (s, (struct sockaddr*)&addr, QSE_SIZEOF(addr)) <= -1) goto oops_esocket;*/ /*if (bind (s, (struct sockaddr*)&addr, QSE_SIZEOF(addr)) <= -1) goto oops_esocket;*/
if (bind (fd, (struct sockaddr*)&addr, addrsize) <= -1) if (bind (fd, (struct sockaddr*)&addr, addrsize) <= -1)
{ {
#if defined(IPV6_V6ONLY) #if defined(IPV6_V6ONLY) && defined(EADDRINUSE)
if (errno == EADDRINUSE && qse_skadfamily(&addr) == AF_INET6) if (errno == EADDRINUSE && qse_skadfamily(&addr) == AF_INET6)
{ {
int on = 1; int on = 1;
@ -1062,7 +1092,11 @@ static int stat_file (
if (qse_mbspbrk (path, QSE_MT("?*")) != QSE_NULL) return -1; if (qse_mbspbrk (path, QSE_MT("?*")) != QSE_NULL) return -1;
fh = FindFirstFileA (path, &fdata); fh = FindFirstFileA (path, &fdata);
if (fh == INVALID_HANDLE_VALUE) return -1; if (fh == INVALID_HANDLE_VALUE)
{
qse_httpd_seterrnum (httpd, syserr_to_errnum(GetLastError()));
return -1;
}
QSE_MEMSET (hst, 0, QSE_SIZEOF(*hst)); QSE_MEMSET (hst, 0, QSE_SIZEOF(*hst));
if (fdata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) hst->isdir = 1; if (fdata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) hst->isdir = 1;
@ -1088,7 +1122,11 @@ static int stat_file (
FILESTATUS3L ffb; FILESTATUS3L ffb;
rc = DosQueryPathInfo (path, FIL_STANDARDL, &ffb, QSE_SIZEOF(ffb)); rc = DosQueryPathInfo (path, FIL_STANDARDL, &ffb, QSE_SIZEOF(ffb));
if (rc != NO_ERROR) return -1; if (rc != NO_ERROR)
{
qse_httpd_seterrnum (httpd, syserr_to_errnum(rc));
return -1;
}
QSE_MEMSET (&bt, 0, QSE_SIZEOF(bt)); QSE_MEMSET (&bt, 0, QSE_SIZEOF(bt));
bt.mday = ffb.fdateLastWrite.day; bt.mday = ffb.fdateLastWrite.day;
@ -1181,13 +1219,19 @@ static int file_ropen (
{ {
qse_fio_t* fio; qse_fio_t* fio;
fio = qse_fio_open ( fio = QSE_MMGR_ALLOC (httpd->mmgr, QSE_SIZEOF(*fio));
httpd->mmgr, 0, (const qse_char_t*)path,
QSE_FIO_READ | QSE_FIO_MBSPATH, 0);
if (fio == QSE_NULL) if (fio == QSE_NULL)
{ {
/* TODO: translate fio error to a proper error code */ qse_httpd_seterrnum (httpd, QSE_HTTPD_ENOMEM);
qse_httpd_seterrnum (httpd, QSE_HTTPD_EINVAL); return -1;
}
if (qse_fio_init (
fio, httpd->mmgr, (const qse_char_t*)path,
QSE_FIO_READ | QSE_FIO_MBSPATH, 0) <= -1)
{
qse_httpd_seterrnum (httpd, fioerr_to_errnum(qse_fio_geterrnum(fio)));
QSE_MMGR_FREE (httpd->mmgr, fio);
return -1; return -1;
} }
@ -1203,14 +1247,20 @@ static int file_wopen (
{ {
qse_fio_t* fio; qse_fio_t* fio;
fio = qse_fio_open ( fio = QSE_MMGR_ALLOC (httpd->mmgr, QSE_SIZEOF(*fio));
httpd->mmgr, 0, (const qse_char_t*)path,
QSE_FIO_WRITE | QSE_FIO_CREATE |
QSE_FIO_TRUNCATE | QSE_FIO_MBSPATH, 0644);
if (fio == QSE_NULL) if (fio == QSE_NULL)
{ {
/* TODO: translate fio error to a proper error code */ qse_httpd_seterrnum (httpd, QSE_HTTPD_ENOMEM);
qse_httpd_seterrnum (httpd, QSE_HTTPD_EINVAL); return -1;
}
if (qse_fio_init (
fio, httpd->mmgr, (const qse_char_t*)path,
QSE_FIO_WRITE | QSE_FIO_CREATE |
QSE_FIO_TRUNCATE | QSE_FIO_MBSPATH, 0644) <= -1)
{
qse_httpd_seterrnum (httpd, fioerr_to_errnum(qse_fio_geterrnum(fio)));
QSE_MMGR_FREE (httpd->mmgr, fio);
return -1; return -1;
} }
@ -1222,23 +1272,28 @@ qse_printf (QSE_T("opened wfile [%hs][%p][%p]\n"), path, handle->ptr, fio->handl
static void file_close (qse_httpd_t* httpd, qse_ubi_t handle) static void file_close (qse_httpd_t* httpd, qse_ubi_t handle)
{ {
qse_printf (QSE_T("closed file....%p\n"), handle.ptr); qse_printf (QSE_T("closed file....%p\n"), handle.ptr);
qse_fio_close (handle.ptr); qse_fio_fini (handle.ptr);
QSE_MMGR_FREE (httpd->mmgr, handle.ptr);
} }
static qse_ssize_t file_read ( static qse_ssize_t file_read (
qse_httpd_t* httpd, qse_ubi_t handle, qse_httpd_t* httpd, qse_ubi_t handle,
qse_mchar_t* buf, qse_size_t len) qse_mchar_t* buf, qse_size_t len)
{ {
/* TODO: error code conversion */ qse_ssize_t n;
return qse_fio_read (handle.ptr, buf, len); n = qse_fio_read (handle.ptr, buf, len);
if (n <= -1) qse_httpd_seterrnum (httpd, fioerr_to_errnum(qse_fio_geterrnum(handle.ptr)));
return n;
} }
static qse_ssize_t file_write ( static qse_ssize_t file_write (
qse_httpd_t* httpd, qse_ubi_t handle, qse_httpd_t* httpd, qse_ubi_t handle,
const qse_mchar_t* buf, qse_size_t len) const qse_mchar_t* buf, qse_size_t len)
{ {
/* TODO: error code conversion */ qse_ssize_t n;
return qse_fio_write (handle.ptr, buf, len); n = qse_fio_write (handle.ptr, buf, len);
if (n <= -1) qse_httpd_seterrnum (httpd, fioerr_to_errnum(qse_fio_geterrnum(handle.ptr)));
return n;
} }
/* ------------------------------------------------------------------- */ /* ------------------------------------------------------------------- */

View File

@ -12,7 +12,7 @@ EXE
3 3
WString WString
5 5
dw2e9 dw2eo
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ EXE
3 3
WString WString
5 5
dw2e9 dw2eo
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ LIB
3 3
WString WString
5 5
d_2s9 d_2so
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ LIB
3 3
WString WString
5 5
d_2s9 d_2so
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ LIB
3 3
WString WString
5 5
d_2s9 d_2so
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ CWDLL
3 3
WString WString
5 5
dx2d9 dx2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ CWDLL
3 3
WString WString
5 5
dx2d9 dx2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ CWDLL
3 3
WString WString
5 5
dx2d9 dx2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ OEXE
3 3
WString WString
5 5
oc2e9 oc2eo
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ OEXE
3 3
WString WString
5 5
oc2e9 oc2eo
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ OEXE
3 3
WString WString
5 5
oc2e9 oc2eo
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ ODLL
3 3
WString WString
5 5
o_2d9 o_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ ODLL
3 3
WString WString
5 5
o_2d9 o_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ ODLL
3 3
WString WString
5 5
o_2d9 o_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ LIB
3 3
WString WString
5 5
o_2s9 o_2so
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ ODLL
3 3
WString WString
5 5
o_2d9 o_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ ODLL
3 3
WString WString
5 5
o_2d9 o_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ ODLL
3 3
WString WString
5 5
o_2d9 o_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ NEXE
3 3
WString WString
5 5
nc2e9 nc2eo
1 1
0 0
1 1

View File

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

View File

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

View File

@ -12,7 +12,7 @@ NDLL
3 3
WString WString
5 5
n_2d9 n_2do
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ NDLL
3 3
WString WString
5 5
n_2d9 n_2do
1 1
0 0
1 1

View File

@ -0,0 +1,361 @@
40
targetIdent
0
MProject
1
MComponent
0
2
WString
4
NDLL
3
WString
5
n_2do
1
0
1
4
MCommand
0
5
MCommand
0
6
MItem
10
qsenet.dll
7
WString
4
NDLL
8
WVList
2
9
MVState
10
WString
5
WLINK
11
WString
28
?????Library directories(;):
1
12
WString
13
../../lib/cmn
0
13
MVState
14
WString
5
WLINK
15
WString
18
?????Libraries(,):
1
16
WString
13
qsecmn ws2_32
0
17
WVList
0
-1
1
1
0
18
WPickList
14
19
MItem
3
*.c
20
WString
4
COBJ
21
WVList
2
22
MVState
23
WString
3
WCC
24
WString
25
n????Include directories:
1
25
WString
53
"$(%watcom)/h;$(%watcom)/h/nt;../../../../../include"
0
26
MVState
27
WString
3
WCC
28
WString
23
?????Macro definitions:
1
29
WString
15
QSE_BUILD_DEBUG
0
30
WVList
0
-1
1
1
0
31
MItem
29
../../../../../lib/net/htrd.c
32
WString
4
COBJ
33
WVList
0
34
WVList
0
19
1
1
0
35
MItem
29
../../../../../lib/net/htre.c
36
WString
4
COBJ
37
WVList
0
38
WVList
0
19
1
1
0
39
MItem
29
../../../../../lib/net/http.c
40
WString
4
COBJ
41
WVList
0
42
WVList
0
19
1
1
0
43
MItem
34
../../../../../lib/net/httpd-cgi.c
44
WString
4
COBJ
45
WVList
0
46
WVList
0
19
1
1
0
47
MItem
34
../../../../../lib/net/httpd-dir.c
48
WString
4
COBJ
49
WVList
0
50
WVList
0
19
1
1
0
51
MItem
35
../../../../../lib/net/httpd-file.c
52
WString
4
COBJ
53
WVList
0
54
WVList
0
19
1
1
0
55
MItem
36
../../../../../lib/net/httpd-proxy.c
56
WString
4
COBJ
57
WVList
0
58
WVList
0
19
1
1
0
59
MItem
36
../../../../../lib/net/httpd-resol.c
60
WString
4
COBJ
61
WVList
0
62
WVList
0
19
1
1
0
63
MItem
34
../../../../../lib/net/httpd-std.c
64
WString
4
COBJ
65
WVList
0
66
WVList
0
19
1
1
0
67
MItem
35
../../../../../lib/net/httpd-task.c
68
WString
4
COBJ
69
WVList
0
70
WVList
0
19
1
1
0
71
MItem
35
../../../../../lib/net/httpd-text.c
72
WString
4
COBJ
73
WVList
0
74
WVList
0
19
1
1
0
75
MItem
30
../../../../../lib/net/httpd.c
76
WString
4
COBJ
77
WVList
0
78
WVList
0
19
1
1
0
79
MItem
29
../../../../../lib/net/upxd.c
80
WString
4
COBJ
81
WVList
0
82
WVList
0
19
1
1
0

View File

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

View File

@ -4,8 +4,8 @@ projectIdent
VpeMain VpeMain
1 1
WRect WRect
0 80
0 173
9310 9310
9640 9640
2 2
@ -16,7 +16,7 @@ MCommand
4 4
MCommand MCommand
0 0
24 28
5 5
WFileName WFileName
30 30
@ -114,11 +114,27 @@ WFileName
30 30
debug/win32/cmd/awk/qseawk.tgt debug/win32/cmd/awk/qseawk.tgt
29 29
WVList WFileName
24
30 30
VComponent debug/win32/lib/sed/qsesed.tgt
30
WFileName
30
debug/win32/lib/net/qsenet.tgt
31 31
WFileName
32
debug/win32/cmd/net/qsehttpd.tgt
32
WFileName
30
debug/win32/cmd/sed/qsesed.tgt
33
WVList
28
34
VComponent
35
WRect WRect
1060 1060
2480 2480
@ -126,15 +142,15 @@ WRect
4200 4200
1 1
0 0
32 36
WFileName WFileName
30 30
release/os2/lib/cmn/qsecmn.tgt release/os2/lib/cmn/qsecmn.tgt
0 0
1 1
33 37
VComponent VComponent
34 38
WRect WRect
80 80
1200 1200
@ -142,15 +158,15 @@ WRect
4200 4200
1 1
0 0
35 39
WFileName WFileName
30 30
release/os2/lib/sed/qsesed.tgt release/os2/lib/sed/qsesed.tgt
0 0
0 0
36 40
VComponent VComponent
37 41
WRect WRect
2090 2090
1360 1360
@ -158,15 +174,15 @@ WRect
4200 4200
1 1
0 0
38 42
WFileName WFileName
30 30
release/os2/cmd/sed/qsesed.tgt release/os2/cmd/sed/qsesed.tgt
0 0
1 1
39 43
VComponent VComponent
40 44
WRect WRect
2810 2810
320 320
@ -174,15 +190,15 @@ WRect
4200 4200
1 1
0 0
41 45
WFileName WFileName
28 28
debug/os2/lib/cmn/qsecmn.tgt debug/os2/lib/cmn/qsecmn.tgt
0 0
0 0
42 46
VComponent VComponent
43 47
WRect WRect
1030 1030
2320 2320
@ -190,15 +206,15 @@ WRect
4200 4200
1 1
0 0
44 48
WFileName WFileName
28 28
debug/os2/lib/sed/qsesed.tgt debug/os2/lib/sed/qsesed.tgt
0 0
3 3
45 49
VComponent VComponent
46 50
WRect WRect
400 400
280 280
@ -206,15 +222,15 @@ WRect
4200 4200
1 1
0 0
47 51
WFileName WFileName
28 28
debug/os2/lib/awk/qseawk.tgt debug/os2/lib/awk/qseawk.tgt
0 0
0 0
48 52
VComponent VComponent
49 53
WRect WRect
320 320
360 360
@ -222,15 +238,15 @@ WRect
4200 4200
1 1
0 0
50 54
WFileName WFileName
28 28
debug/os2/cmd/awk/qseawk.tgt debug/os2/cmd/awk/qseawk.tgt
0 0
1 1
51 55
VComponent VComponent
52 56
WRect WRect
2660 2660
0 0
@ -238,15 +254,15 @@ WRect
4200 4200
1 1
0 0
53 57
WFileName WFileName
30 30
debug/dos32/lib/cmn/qsecmn.tgt debug/dos32/lib/cmn/qsecmn.tgt
0 0
2 2
54 58
VComponent VComponent
55 59
WRect WRect
2920 2920
1240 1240
@ -254,15 +270,15 @@ WRect
4200 4200
1 1
0 0
56 60
WFileName WFileName
30 30
debug/dos32/lib/awk/qseawk.tgt debug/dos32/lib/awk/qseawk.tgt
0 0
0 0
57 61
VComponent VComponent
58 62
WRect WRect
0 0
160 160
@ -270,15 +286,15 @@ WRect
4200 4200
1 1
0 0
59 63
WFileName WFileName
30 30
debug/dos32/cmd/awk/qseawk.tgt debug/dos32/cmd/awk/qseawk.tgt
0 0
0 0
60 64
VComponent VComponent
61 65
WRect WRect
0 0
0 0
@ -286,15 +302,15 @@ WRect
4200 4200
1 1
0 0
62 66
WFileName WFileName
30 30
debug/dos32/lib/sed/qsesed.tgt debug/dos32/lib/sed/qsesed.tgt
0 0
5 5
63 67
VComponent VComponent
64 68
WRect WRect
570 570
520 520
@ -302,15 +318,15 @@ WRect
4200 4200
1 1
0 0
65 69
WFileName WFileName
30 30
debug/dos32/cmd/sed/qsesed.tgt debug/dos32/cmd/sed/qsesed.tgt
0 0
1 1
66 70
VComponent VComponent
67 71
WRect WRect
0 0
0 0
@ -318,15 +334,15 @@ WRect
4200 4200
1 1
0 0
68 72
WFileName WFileName
28 28
debug/os2/cmd/sed/qsesed.tgt debug/os2/cmd/sed/qsesed.tgt
0 0
0 0
69 73
VComponent VComponent
70 74
WRect WRect
2590 2590
1040 1040
@ -334,15 +350,15 @@ WRect
4200 4200
1 1
0 0
71 75
WFileName WFileName
31 31
debug/dos32/mod/awk/awk-sys.tgt debug/dos32/mod/awk/awk-sys.tgt
0 0
0 0
72 76
VComponent VComponent
73 77
WRect WRect
1120 1120
200 200
@ -350,15 +366,15 @@ WRect
4200 4200
1 1
0 0
74 78
WFileName WFileName
29 29
debug/os2/mod/awk/awk-sys.tgt debug/os2/mod/awk/awk-sys.tgt
0 0
0 0
75 79
VComponent VComponent
76 80
WRect WRect
460 460
3040 3040
@ -366,15 +382,15 @@ WRect
4240 4240
1 1
0 0
77 81
WFileName WFileName
29 29
debug/os2/mod/awk/awk-dir.tgt debug/os2/mod/awk/awk-dir.tgt
0 0
0 0
78 82
VComponent VComponent
79 83
WRect WRect
570 570
520 520
@ -382,15 +398,15 @@ WRect
4240 4240
1 1
0 0
80 84
WFileName WFileName
31 31
debug/dos32/mod/awk/awk-dir.tgt debug/dos32/mod/awk/awk-dir.tgt
0 0
0 0
81 85
VComponent VComponent
82 86
WRect WRect
200 200
160 160
@ -398,15 +414,15 @@ WRect
4320 4320
1 1
0 0
83 87
WFileName WFileName
31 31
debug/dos32/mod/awk/awk-str.tgt debug/dos32/mod/awk/awk-str.tgt
0 0
0 0
84 88
VComponent VComponent
85 89
WRect WRect
410 410
1360 1360
@ -414,15 +430,15 @@ WRect
4320 4320
1 1
0 0
86 90
WFileName WFileName
29 29
debug/os2/mod/awk/awk-str.tgt debug/os2/mod/awk/awk-str.tgt
0 0
0 0
87 91
VComponent VComponent
88 92
WRect WRect
3050 3050
120 120
@ -430,15 +446,15 @@ WRect
4240 4240
1 1
0 0
89 93
WFileName WFileName
28 28
debug/os2/lib/net/qsenet.tgt debug/os2/lib/net/qsenet.tgt
0 0
0 0
90 94
VComponent VComponent
91 95
WRect WRect
290 290
280 280
@ -446,15 +462,15 @@ WRect
4240 4240
1 1
0 0
92 96
WFileName WFileName
30 30
debug/os2/cmd/net/qsehttpd.tgt debug/os2/cmd/net/qsehttpd.tgt
0 0
1 1
93 97
VComponent VComponent
94 98
WRect WRect
270 270
240 240
@ -462,15 +478,15 @@ WRect
4280 4280
1 1
0 0
95 99
WFileName WFileName
30 30
debug/win32/lib/cmn/qsecmn.tgt debug/win32/lib/cmn/qsecmn.tgt
0 0
0 0
96 100
VComponent VComponent
97 101
WRect WRect
660 660
1040 1040
@ -478,15 +494,15 @@ WRect
4280 4280
1 1
0 0
98 102
WFileName WFileName
30 30
debug/win32/lib/awk/qseawk.tgt debug/win32/lib/awk/qseawk.tgt
0 0
0 0
99 103
VComponent VComponent
100 104
WRect WRect
500 500
480 480
@ -494,10 +510,74 @@ WRect
4280 4280
1 1
0 0
101 105
WFileName WFileName
30 30
debug/win32/cmd/awk/qseawk.tgt debug/win32/cmd/awk/qseawk.tgt
0 0
0 0
39 106
VComponent
107
WRect
710
1720
5700
4266
1
0
108
WFileName
30
debug/win32/lib/sed/qsesed.tgt
0
0
109
VComponent
110
WRect
580
573
5700
4266
0
0
111
WFileName
30
debug/win32/lib/net/qsenet.tgt
0
6
112
VComponent
113
WRect
1760
1320
5700
4266
0
0
114
WFileName
32
debug/win32/cmd/net/qsehttpd.tgt
0
1
115
VComponent
116
WRect
1170
1160
5700
4266
0
0
117
WFileName
30
debug/win32/cmd/sed/qsesed.tgt
0
0
115

View File

@ -12,7 +12,7 @@ OEXE
3 3
WString WString
5 5
oc2e9 oc2eo
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ LIB
3 3
WString WString
5 5
o_2s9 o_2so
1 1
0 0
1 1

View File

@ -12,7 +12,7 @@ LIB
3 3
WString WString
5 5
o_2s9 o_2so
1 1
0 0
1 1