merged sys and io to si
This commit is contained in:
@ -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"),
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Reference in New Issue
Block a user