New ACC version.

committer: mfx <mfx> 1066732570 +0000
This commit is contained in:
Markus F.X.J. Oberhumer
2003-10-21 10:36:10 +00:00
parent e4f6378dfe
commit bcb5e7d852
23 changed files with 623 additions and 140 deletions
+12 -8
View File
@@ -13,6 +13,7 @@
*/
#define __ACCLIB_MISC_CH_INCLUDED 1
#if !defined(ACCLIB_PUBLIC)
# define ACCLIB_PUBLIC(r,f) r __ACCLIB_FUNCNAME(f)
#endif
@@ -29,8 +30,9 @@ ACCLIB_PUBLIC(acclib_handle_t, acc_get_osfhandle) (int fd)
#if (ACC_OS_CYGWIN)
return get_osfhandle(fd);
#elif (ACC_OS_EMX && defined(__RSXNT__))
/* FIXME */
return -1;
return -1; /* FIXME */
#elif (ACC_OS_WIN32 && defined(__PW32__) && defined(__GNUC__))
return -1; /* FIXME */
#elif (ACC_OS_WIN32 || ACC_OS_WIN64)
# if (ACC_CC_WATCOMC && (__WATCOMC__ < 1100))
/* FIXME */
@@ -75,21 +77,23 @@ ACCLIB_PUBLIC(int, acc_set_binmode) (int fd, int binary)
if (r == -1)
return -1;
return (r & O_TEXT) ? 0 : 1;
#elif (ACC_OS_WIN32 && defined(__PW32__) && defined(__GNUC__))
if (fd < 0) return -1;
ACC_UNUSED(binary);
return 1;
#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64 || ACC_OS_CYGWIN || ACC_OS_EMX)
int r;
#if !defined(ACC_CC_ZORTECHC)
ACC_COMPILE_TIME_ASSERT(O_BINARY > 0)
#endif
ACC_COMPILE_TIME_ASSERT(O_TEXT > 0)
if (fd < 0)
return -1;
if (fd < 0) return -1;
r = setmode(fd, binary ? O_BINARY : O_TEXT);
if (r == -1)
return -1;
return (r & O_TEXT) ? 0 : 1;
#else
if (fd < 0)
return -1;
if (fd < 0) return -1;
ACC_UNUSED(binary);
return 1;
#endif
@@ -106,7 +110,6 @@ ACCLIB_PUBLIC(int, acc_isatty) (int fd)
{
union REGS ri, ro;
ri.x.ax = 0x4400; ri.x.bx = fd;
ro.x.ax = 0xffff; ro.x.cflag = 1;
int86(0x21, &ri, &ro);
if ((ro.x.cflag & 1) == 0) /* if carry flag not set */
if ((ro.x.ax & 0x83) != 0x83)
@@ -116,7 +119,6 @@ ACCLIB_PUBLIC(int, acc_isatty) (int fd)
{
union REGS ri, ro;
ri.w.ax = 0x4400; ri.w.bx = (unsigned short) fd;
ro.w.ax = 0xffff; ro.w.cflag = 1;
int386(0x21, &ri, &ro);
if ((ro.w.cflag & 1) == 0) /* if carry flag not set */
if ((ro.w.ax & 0x83) != 0x83)
@@ -144,6 +146,8 @@ ACCLIB_PUBLIC(int, acc_mkdir) (const char* name, unsigned mode)
return Dcreate(name);
#elif (ACC_OS_DOS32 && defined(__DJGPP__))
return mkdir(name, mode);
#elif (ACC_OS_WIN32 && defined(__PW32__) && defined(__GNUC__))
return mkdir(name, mode);
#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)
ACC_UNUSED(mode);
return mkdir(name);