fixed some build problems
This commit is contained in:
		| @ -73,6 +73,18 @@ typedef DWORD WINAPI (*getmappedfilename_t) ( | ||||
|  | ||||
| #elif defined(__OS2__) | ||||
|  | ||||
| #if defined(__WATCOMC__) && (__WATCOMC__ <= 1100) && !defined(LONGLONG_INCLUDED) | ||||
| typedef struct _LONGLONG { | ||||
| 	ULONG ulLo; | ||||
| 	LONG  ulHi; | ||||
| } LONGLONG, *PLONGLONG; | ||||
|  | ||||
| typedef struct _ULONGLONG { | ||||
| 	ULONG ulLo; | ||||
| 	ULONG ulHi; | ||||
| } ULONGLONG, *PULONGLONG; | ||||
| #endif | ||||
|  | ||||
| typedef APIRET APIENTRY (*dosopenl_t) ( | ||||
| 	PSZ pszFileName, | ||||
| 	PHFILE pHf, | ||||
|  | ||||
| @ -97,12 +97,23 @@ enum | ||||
| 	FLAGC_LENMOD    = (1 << 10) /* length modifier */ | ||||
| }; | ||||
|  | ||||
| /* ------------------------------------------------------------------ */ | ||||
|  | ||||
| static const qse_mchar_t* m_hex2ascii = | ||||
| 	QSE_MT("0123456789abcdefghijklmnopqrstuvwxyz"); | ||||
| static const qse_wchar_t* w_hex2ascii = | ||||
| 	QSE_WT("0123456789abcdefghijklmnopqrstuvwxyz"); | ||||
|  | ||||
| /* ------------------------------------------------------------------ */ | ||||
|  | ||||
| #include <stdio.h> /* TODO: remove dependency on this */ | ||||
| #if defined(_MSC_VER) || defined(__BORLANDC__) || (defined(__WATCOMC__) && (__WATCOMC__ < 1200)) | ||||
| #	define snprintf _snprintf | ||||
| #	define vsnprintf _vsnprintf | ||||
| #endif | ||||
|  | ||||
| /* ------------------------------------------------------------------ */ | ||||
|  | ||||
| static int put_wchar (qse_wchar_t c, void *arg) | ||||
| { | ||||
| 	qse_cmgr_t* cmgr; | ||||
| @ -131,6 +142,8 @@ static int put_mchar (qse_mchar_t c, void *arg) | ||||
| 	return (putchar (c) == EOF)? -1: 0; | ||||
| } | ||||
|  | ||||
| /* ------------------------------------------------------------------ */ | ||||
|  | ||||
| #undef char_t | ||||
| #undef uchar_t | ||||
| #undef ochar_t | ||||
| @ -150,7 +163,6 @@ static int put_mchar (qse_mchar_t c, void *arg) | ||||
| #define sprintn m_sprintn | ||||
| #define xprintf qse_mxprintf  | ||||
|  | ||||
| static const qse_mchar_t m_hex2ascii[] = QSE_MT("0123456789abcdefghijklmnopqrstuvwxyz"); | ||||
| #define hex2ascii(hex)  (m_hex2ascii[hex]) | ||||
|  | ||||
| #include "fmt-print.h" | ||||
| @ -191,7 +203,6 @@ qse_ssize_t qse_mvprintf (const char_t* fmt, va_list ap) | ||||
| #define sprintn w_sprintn | ||||
| #define xprintf qse_wxprintf  | ||||
|  | ||||
| static const qse_wchar_t w_hex2ascii[] = QSE_WT("0123456789abcdefghijklmnopqrstuvwxyz"); | ||||
| #define hex2ascii(hex)  (w_hex2ascii[hex]) | ||||
|  | ||||
| #include "fmt-print.h" | ||||
|  | ||||
| @ -24,22 +24,32 @@ | ||||
| #include <qse/cmn/fmt.h> | ||||
| #include <stdarg.h> | ||||
|  | ||||
| typedef int (*qse_printf_mchar_t) ( | ||||
| 	qse_mchar_t c, | ||||
| 	void*       ctx | ||||
| ); | ||||
|  | ||||
| typedef int (*qse_printf_wchar_t) ( | ||||
| 	qse_mchar_t c, | ||||
| 	void*       ctx | ||||
| ); | ||||
|  | ||||
| #ifdef __cplusplus | ||||
| extern { | ||||
| #endif | ||||
|  | ||||
| qse_ssize_t qse_mxprintf ( | ||||
| 	const qse_mchar_t* fmt, | ||||
| 	int              (*put_mchar) (qse_mchar_t, void*), | ||||
| 	int              (*put_wchar) (qse_wchar_t, void*), | ||||
| 	qse_printf_mchar_t put_mchar, | ||||
| 	qse_printf_wchar_t put_wchar, | ||||
| 	void*              arg, | ||||
| 	va_list            ap | ||||
| ); | ||||
|  | ||||
| qse_ssize_t qse_wxprintf ( | ||||
| 	const qse_wchar_t* fmt, | ||||
| 	int              (*put_wchar) (qse_wchar_t, void*), | ||||
| 	int              (*put_mchar) (qse_mchar_t, void*), | ||||
| 	qse_printf_wchar_t put_wchar, | ||||
| 	qse_printf_mchar_t put_mchar, | ||||
| 	void*              arg, | ||||
| 	va_list            ap | ||||
| ); | ||||
|  | ||||
| @ -27,6 +27,9 @@ | ||||
| #	include <windows.h> | ||||
| #	define USE_SELECT | ||||
| #elif defined(__OS2__) | ||||
| #	if defined(TCPV40HDRS) | ||||
| #		define BSD_SELECT | ||||
| #	endif | ||||
| #	include <types.h> | ||||
| #	include <sys/socket.h> | ||||
| #	include <netinet/in.h> | ||||
| @ -34,7 +37,6 @@ | ||||
| #	include <nerrno.h> | ||||
| #	if defined(TCPV40HDRS) | ||||
| #		define USE_SELECT | ||||
| #		define BSD_SELECT | ||||
| #		include <sys/select.h> | ||||
| #	else | ||||
| #		include <unistd.h> | ||||
|  | ||||
| @ -28,12 +28,16 @@ | ||||
| #	include <ws2tcpip.h> | ||||
| #	include <iphlpapi.h>  | ||||
| #elif defined(__OS2__) | ||||
| #	if defined(TCPV40HDRS) | ||||
| #		define BSD_SELECT | ||||
| #	endif | ||||
| #	include <types.h> | ||||
| #	include <sys/socket.h> | ||||
| #	include <netinet/in.h> | ||||
| #	include <sys/ioctl.h> | ||||
| #	include <nerrno.h> | ||||
| #	if defined(TCPV40HDRS) | ||||
| #		define USE_SELECT | ||||
| #		include <sys/select.h> | ||||
| #	else | ||||
| #		include <unistd.h> | ||||
|  | ||||
| @ -28,6 +28,9 @@ | ||||
| #	include <windows.h> | ||||
| #	define  USE_SELECT | ||||
| #elif defined(__OS2__) | ||||
| #	if defined(TCPV40HDRS) | ||||
| #		define  BSD_SELECT | ||||
| #	endif | ||||
| #	include <types.h> | ||||
| #	include <sys/socket.h> | ||||
| #	include <netinet/in.h> | ||||
|  | ||||
| @ -35,10 +35,10 @@ | ||||
| /* internal status codes */ | ||||
| enum | ||||
| { | ||||
| 	STATUS_UTF8_CONSOLE = (1 << 0) | ||||
| 	STATUS_UTF8_CONSOLE = (1 << 0), | ||||
| 	STATUS_LINE_BREAK = (1 << 1) | ||||
| }; | ||||
|  | ||||
|  | ||||
| static qse_ssize_t file_input ( | ||||
| 	qse_tio_t* tio, qse_tio_cmd_t cmd, void* buf, qse_size_t size); | ||||
| static qse_ssize_t file_output ( | ||||
| @ -208,6 +208,9 @@ int qse_sio_init ( | ||||
| 		goto oops03; | ||||
| 	} | ||||
|  | ||||
| #if defined(__OS2__) | ||||
| 	if (flags & QSE_SIO_LINEBREAK) sio->status |= STATUS_LINE_BREAK; | ||||
| #endif | ||||
| 	return 0; | ||||
|  | ||||
| oops03: | ||||
| @ -583,12 +586,26 @@ qse_ssize_t qse_sio_putwcsn ( | ||||
|  | ||||
| static int put_wchar (qse_wchar_t c, void *arg) | ||||
| { | ||||
| 	return qse_sio_putwc (arg, c); | ||||
| #if defined(__OS2__) | ||||
| 	if (c == QSE_WT('\n') && (((qse_sio_t*)arg)->status & STATUS_LINE_BREAK)) | ||||
| 		return qse_sio_putwcs ((qse_sio_t*)arg, QSE_WT("\r\n")); | ||||
| 	else | ||||
| 		return qse_sio_putwc ((qse_sio_t*)arg, c); | ||||
| #else | ||||
| 	return qse_sio_putwc ((qse_sio_t*)arg, c); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| static int put_mchar (qse_mchar_t c, void *arg) | ||||
| { | ||||
| 	return qse_sio_putmb (arg, c); | ||||
| #if defined(__OS2__) | ||||
| 	if (c == QSE_MT('\n') && (((qse_sio_t*)arg)->status & STATUS_LINE_BREAK)) | ||||
| 		return qse_sio_putmbs ((qse_sio_t*)arg, QSE_MT("\r\n")); | ||||
| 	else | ||||
| 		return qse_sio_putmb ((qse_sio_t*)arg, c); | ||||
| #else | ||||
| 	return qse_sio_putmb ((qse_sio_t*)arg, c); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| qse_ssize_t qse_sio_putmbsf (qse_sio_t* sio, const qse_mchar_t* fmt, ...) | ||||
| @ -737,6 +754,8 @@ static qse_ssize_t file_output ( | ||||
| 	return 0; | ||||
| } | ||||
|  | ||||
| /* ---------------------------------------------------------- */ | ||||
|  | ||||
| static qse_sio_t* sio_stdout = QSE_NULL; | ||||
| static qse_sio_t* sio_stderr = QSE_NULL; | ||||
|  | ||||
| @ -744,11 +763,11 @@ int qse_openstdsios (void) | ||||
| { | ||||
| 	if (sio_stdout == QSE_NULL) | ||||
| 	{	 | ||||
| 		sio_stdout = qse_sio_openstd (QSE_MMGR_GETDFL(), 0, QSE_SIO_STDOUT, 0); | ||||
| 		sio_stdout = qse_sio_openstd (QSE_MMGR_GETDFL(), 0, QSE_SIO_STDOUT, QSE_SIO_LINEBREAK); | ||||
| 	} | ||||
| 	if (sio_stderr == QSE_NULL) | ||||
| 	{	 | ||||
| 		sio_stderr = qse_sio_openstd (QSE_MMGR_GETDFL(), 0, QSE_SIO_STDERR, 0); | ||||
| 		sio_stderr = qse_sio_openstd (QSE_MMGR_GETDFL(), 0, QSE_SIO_STDERR, QSE_SIO_LINEBREAK); | ||||
| 	} | ||||
|  | ||||
| 	if (sio_stdout == QSE_NULL || sio_stderr == QSE_NULL)  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user