merged sys and io to si

This commit is contained in:
2016-04-28 14:33:10 +00:00
parent 3c5b45571e
commit 49d3dcfeda
50 changed files with 147 additions and 78 deletions

View File

@ -39,6 +39,7 @@
# include <windows.h>
#elif defined(__OS2__)
# define INCL_DOSPROCESS
# define INCL_DOSFILEMGR
# include <os2.h>
#elif defined(__DOS__)
# include <dos.h>
@ -78,7 +79,7 @@ void qse_assert_failed (
qse_char_t tmp[1024];
qse_strxfmt (tmp, QSE_COUNTOF(tmp),
QSE_T("FILE %s LINE %lu - %s%s%s"),
QSE_T("[FILE %s LINE %lu]\r\n%s%s%s"),
file, line, expr,
(desc? QSE_T("\n\n"): QSE_T("")),
(desc? desc: QSE_T(""))
@ -90,53 +91,84 @@ void qse_assert_failed (
qse_char_t tmp[1024];
DWORD written;
WriteConsole (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21, &written, STIO_NULL);
WriteConsole (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21, &written, QSE_NULL);
qse_strxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %s LINE %lu\r\n"), file, (unsigned long)line);
WriteConsole (stderr, tmp, qse_strlen(tmp), &written, STIO_NULL);
qse_strxfmt (tmp, QSE_COUNTOF(tmp), QSE_T("[FILE %s LINE %lu]\r\n"), file, (unsigned long)line);
WriteConsole (stderr, tmp, qse_strlen(tmp), &written, QSE_NULL);
WriteConsoel (stderr, QSE_T("[EXPRESSION] "), 13, &written, STIO_NULL);
WriteConsole (stderr, expr, qse_strlen(expr), &written, STIO_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, STIO_NULL);
WriteConsole (stderr, QSE_T("[EXPRESSION] "), 13, &written, QSE_NULL);
WriteConsole (stderr, expr, qse_strlen(expr), &written, QSE_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, QSE_NULL);
if (desc)
{
WriteConsole (stderr, QSE_T("[DESCRIPTION] "), 14, &written, STIO_NULL);
WriteConsole (stderr, desc, qse_strlen(desc), &written, STIO_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, STIO_NULL);
WriteConsole (stderr, QSE_T("[DESCRIPTION] "), 14, &written, QSE_NULL);
WriteConsole (stderr, desc, qse_strlen(desc), &written, QSE_NULL);
WriteConsole (stderr, QSE_T("\r\n"), 2, &written, QSE_NULL);
}
}
#elif defined(__OS2__)
HFILE stderr = (HFILE)2;
USHORT written;
ULONG written;
qse_mchar_t tmp[1024];
DosWrite (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21, &written);
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %hs LINE %lu\n"), file, (unsigned long)line);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %hs LINE %lu\r\n"), file, (unsigned long)line);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %ls LINE %lu\n"), file, (unsigned long)line);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %ls LINE %lu\r\n"), file, (unsigned long)line);
#endif
DosWrite (stderr, tmp, qse_mbslen(tmp), &written);
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %hs\n"), expr);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %hs\r\n"), expr);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %ls\n"), expr);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %ls\r\n"), expr);
#endif
DosWrite (stderr, tmp, qse_mbslen(tmp), &written);
if (desc)
{
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %hs\n"), desc);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %hs\r\n"), desc);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %ls\n"), desc);
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %ls\r\n"), desc);
#endif
DosWrite (stderr, tmp, qse_mbslen(tmp), &written);
}
#elif defined(__DOS__)
int stderr = 2;
qse_mchar_t tmp[1024];
write (stderr, QSE_T("[ASSERTION FAILURE]\r\n"), 21);
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %hs LINE %lu\r\n"), file, (unsigned long)line);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("FILE %ls LINE %lu\r\n"), file, (unsigned long)line);
#endif
write (stderr, tmp, qse_mbslen(tmp));
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %hs\r\n"), expr);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[EXPRESSION] %ls\r\n"), expr);
#endif
write (stderr, tmp, qse_mbslen(tmp));
if (desc)
{
#if defined(QSE_CHAR_IS_MCHAR)
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %hs\r\n"), desc);
#else
qse_mbsxfmt (tmp, QSE_COUNTOF(tmp), QSE_MT("[DESCRIPTION] %ls\r\n"), desc);
#endif
write (stderr, tmp, qse_mbslen(tmp));
}
#elif defined(macintosh)
/* note 'desc' is not used for macintosh at this moment.
* TODO: include 'desc' in the message */
@ -168,8 +200,8 @@ void qse_assert_failed (
WHAT TO DO????
*/
#else
#else
static qse_mchar_t* static_msg[] =
{
QSE_MT("=[ASSERTION FAILURE]============================================================\n"),

View File

@ -108,13 +108,14 @@ typedef struct qse_wfmtout_t qse_wfmtout_t;
extern "C" {
#endif
int qse_mfmtout (
/* QSE_EXPORTed, but keep in it the private header for used by other libraries in QSE */
QSE_EXPORT int qse_mfmtout (
const qse_mchar_t* fmt,
qse_mfmtout_t* data,
va_list ap
);
int qse_wfmtout (
QSE_EXPORT int qse_wfmtout (
const qse_wchar_t* fmt,
qse_wfmtout_t* data,
va_list ap

View File

@ -182,6 +182,8 @@ int qse_initsckconn (qse_sck_hnd_t handle, const qse_nwad_t* nwad)
int n;
#if defined(_WIN32)
unsigned long cmd;
#elif defined(__OS2__)
int enabled;
#else
int saved = 0;
#endif
@ -204,13 +206,30 @@ int qse_initsckconn (qse_sck_hnd_t handle, const qse_nwad_t* nwad)
n = connect (handle, (struct sockaddr*)&skad, skadlen);
if (n == -1 && WSAGetLastError() != WSAEWOULDBLOCK)
{
/* attemp to restore to the blocking mode upon failure.
/* attempt to restore to the blocking mode upon failure.
* there is no guarantee that this was the previous mode. */
cmd = 0;
ioctlsocket (handle, FIONBIO, &cmd);
return -1;
}
#elif defined(__OS2__)
enabled = 1;
if (ioctl (handle, FIONBIO, (char*)&enabled, sizeof(enabled)) <= -1) return -1;
/* attempt to connet */
n = connect (handle, (struct sockaddr*)&skad, skadlen);
if (n == -1 && sock_errno() != EINPROGRESS)
{
/* attempt to restore to the blocking mode upon failure.
* there is no guarantee that this was the previous mode. */
enabled = 0;
ioctl (handle, FIONBIO, (char*)&enabled, sizeof(enabled));
return -1;
}
#else
/* switch to the non-blocking mode */
saved = fcntl (handle, F_GETFL, 0);
if (saved == -1) return -1;
@ -242,7 +261,7 @@ int qse_finisckconn (qse_sck_hnd_t handle)
len = (qse_sck_len_t)QSE_SIZEOF (ret);
if (getsockopt (handle, SOL_SOCKET, SO_ERROR, (char*)&ret, &len) == -1) return -1;
#ifdef _WIN32
#if defined(_WIN32)
if (ret == WSAETIMEDOUT)
#else
if (ret == ETIMEDOUT)
@ -250,7 +269,7 @@ int qse_finisckconn (qse_sck_hnd_t handle)
{
return -1; /* failure - timed out */
}
#ifdef _WIN32
#if defined(_WIN32)
else if (ret == WSAEWOULDBLOCK)
#else
else if (ret == EINPROGRESS)