made minor changes to support MINGW32
This commit is contained in:
@ -72,7 +72,6 @@ ase_fio_t* ase_fio_init (
|
||||
DWORD share_mode = FILE_SHARE_READ | FILE_SHARE_WRITE;
|
||||
DWORD creation_disposition = 0;
|
||||
DWORD attributes = FILE_ATTRIBUTE_NORMAL;
|
||||
DWORD file_type;
|
||||
|
||||
if (flags & ASE_FIO_READ) desired_access |= GENERIC_READ;
|
||||
if (flags & ASE_FIO_WRITE) desired_access |= GENERIC_WRITE;
|
||||
@ -105,13 +104,15 @@ ase_fio_t* ase_fio_init (
|
||||
creation_disposition, attributes, 0);
|
||||
}
|
||||
|
||||
if (handle == INVALID_HANDLE) return ASE_NULL;
|
||||
if (handle == INVALID_HANDLE_VALUE) return ASE_NULL;
|
||||
|
||||
file_type = GetFileType(handle);
|
||||
if (file_type == FILE_TYPE_UNKNOWN)
|
||||
{
|
||||
CloseHandle (handle);
|
||||
return ASE_NULL;
|
||||
DWORD file_type = GetFileType(handle);
|
||||
if (file_type == FILE_TYPE_UNKNOWN)
|
||||
{
|
||||
CloseHandle (handle);
|
||||
return ASE_NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: a lot more */
|
||||
@ -259,7 +260,7 @@ ase_ssize_t ase_fio_read (ase_fio_t* fio, void* buf, ase_size_t size)
|
||||
#ifdef _WIN32
|
||||
DWORD count;
|
||||
if (size > ASE_TYPE_MAX(DWORD)) size = ASE_TYPE_MAX(DWORD);
|
||||
if (ReadFile(handle, buf, size, &count, ASE_NULL) == FALSE) return -1;
|
||||
if (ReadFile(fio->handle, buf, size, &count, ASE_NULL) == FALSE) return -1;
|
||||
return (ase_ssize_t)count;
|
||||
#else
|
||||
if (size > ASE_TYPE_MAX(size_t)) size = ASE_TYPE_MAX(size_t);
|
||||
@ -276,7 +277,7 @@ ase_ssize_t ase_fio_write (ase_fio_t* fio, const void* data, ase_size_t size)
|
||||
#ifdef _WIN32
|
||||
DWORD count;
|
||||
if (size > ASE_TYPE_MAX(DWORD)) size = ASE_TYPE_MAX(DWORD);
|
||||
if (WriteFile(handle, buf, &count, ASE_NULL) == FALSE) return -1;
|
||||
if (WriteFile(fio->handle, data, size, &count, ASE_NULL) == FALSE) return -1;
|
||||
return (ase_ssize_t)count;
|
||||
#else
|
||||
if (size > ASE_TYPE_MAX(size_t)) size = ASE_TYPE_MAX(size_t);
|
||||
|
@ -8,6 +8,10 @@
|
||||
static ase_ssize_t __sio_input (int cmd, void* arg, void* buf, ase_size_t size);
|
||||
static ase_ssize_t __sio_output (int cmd, void* arg, void* buf, ase_size_t size);
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
static ase_sio_t __sio_in =
|
||||
{
|
||||
ASE_NULL, /* mmgr */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: main.c 116 2008-03-03 11:15:37Z baconevi $
|
||||
* $Id: main.c 463 2008-12-09 06:52:03Z baconevi $
|
||||
*
|
||||
* {License}
|
||||
*/
|
||||
@ -10,7 +10,7 @@
|
||||
#include <string.h>
|
||||
#include <locale.h>
|
||||
|
||||
#if defined(_WIN32)
|
||||
#if defined(_WIN32) && !defined(__MINGW32__)
|
||||
|
||||
int ase_runmain (int argc, ase_achar_t* argv[], int(*mf) (int,ase_char_t*[]))
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: stdio.c 341 2008-08-20 10:58:19Z baconevi $
|
||||
* $Id: stdio.c 463 2008-12-09 06:52:03Z baconevi $
|
||||
*
|
||||
* {License}
|
||||
*/
|
||||
@ -21,7 +21,11 @@ int ase_vsprintf (ase_char_t* buf, size_t size, const ase_char_t* fmt, va_list a
|
||||
{
|
||||
int n;
|
||||
|
||||
n = _vsntprintf (buf, size, fmt, ap);
|
||||
#ifdef ASE_CHAR_IS_MCHAR
|
||||
n = _vsnprintf (buf, size, fmt, ap);
|
||||
#else
|
||||
n = _vsnwprintf (buf, size, fmt, ap);
|
||||
#endif
|
||||
if (n < 0 || (size_t)n >= size)
|
||||
{
|
||||
if (size > 0) buf[size-1] = ASE_T('\0');
|
||||
@ -319,10 +323,10 @@ int ase_dprintf (const ase_char_t* fmt, ...)
|
||||
|
||||
ASE_FILE* ase_fopen (const ase_char_t* path, const ase_char_t* mode)
|
||||
{
|
||||
#if defined(_WIN32)
|
||||
return _tfopen (path, mode);
|
||||
#elif defined(ASE_CHAR_IS_MCHAR)
|
||||
#if defined(ASE_CHAR_IS_MCHAR)
|
||||
return fopen (path, mode);
|
||||
#elif defined(_WIN32)
|
||||
return _wfopen (path, mode);
|
||||
#else
|
||||
|
||||
char path_mb[PATH_MAX + 1];
|
||||
@ -343,24 +347,10 @@ ASE_FILE* ase_fopen (const ase_char_t* path, const ase_char_t* mode)
|
||||
|
||||
ASE_FILE* ase_popen (const ase_char_t* cmd, const ase_char_t* mode)
|
||||
{
|
||||
#if defined(__SPU__)
|
||||
/* popen is not available */
|
||||
#warning ############################################
|
||||
#warning ase_popen is NOT SUPPORTED in this platform.
|
||||
#warning #############################################
|
||||
return ASE_NULL;
|
||||
#elif defined(_WIN32)
|
||||
#if defined(__DMC__)
|
||||
/* TODO: implement this for DMC */
|
||||
#warning ############################################
|
||||
#warning ase_popen is NOT SUPPORTED in this platform.
|
||||
#warning #############################################
|
||||
return ASE_NULL;
|
||||
#else
|
||||
return _tpopen (cmd, mode);
|
||||
#endif
|
||||
#elif defined(ASE_CHAR_IS_MCHAR)
|
||||
#if defined(ASE_CHAR_IS_MCHAR)
|
||||
return popen (cmd, mode);
|
||||
#elif defined(_WIN32)
|
||||
return _wpopen (cmd, mode);
|
||||
#else
|
||||
char cmd_mb[PATH_MAX + 1];
|
||||
char mode_mb[32];
|
||||
@ -407,11 +397,11 @@ ase_ssize_t ase_getdelim (
|
||||
if (b == ASE_NULL)
|
||||
{
|
||||
capa = 256;
|
||||
#if (defined(vms) || defined(__vms)) && (ASE_SIZEOF_VOID_P >= 8)
|
||||
#if (defined(vms) || defined(__vms)) && (ASE_SIZEOF_VOID_P >= 8)
|
||||
b = (ase_char_t*) _malloc32 (sizeof(ase_char_t)*(capa+1));
|
||||
#else
|
||||
#else
|
||||
b = (ase_char_t*) malloc (sizeof(ase_char_t)*(capa+1));
|
||||
#endif
|
||||
#endif
|
||||
if (b == ASE_NULL) return -2;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user