fixed some wrong code

This commit is contained in:
hyunghwan.chung 2017-01-09 14:52:15 +00:00
parent cd79383202
commit 95885e4dec
9 changed files with 94 additions and 54 deletions

View File

@ -47,10 +47,10 @@ libmoo_la_SOURCES = \
logfmt.c \ logfmt.c \
gc.c \ gc.c \
heap.c \ heap.c \
moo.c \
obj.c \ obj.c \
proc.c \ proc.c \
rbt.c \ rbt.c \
moo.c \
sym.c \ sym.c \
utf8.c \ utf8.c \
utl.c utl.c

View File

@ -139,8 +139,8 @@ libmoo_la_DEPENDENCIES = $(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
am_libmoo_la_OBJECTS = libmoo_la-bigint.lo libmoo_la-comp.lo \ am_libmoo_la_OBJECTS = libmoo_la-bigint.lo libmoo_la-comp.lo \
libmoo_la-debug.lo libmoo_la-decode.lo libmoo_la-dic.lo \ libmoo_la-debug.lo libmoo_la-decode.lo libmoo_la-dic.lo \
libmoo_la-err.lo libmoo_la-exec.lo libmoo_la-logfmt.lo \ libmoo_la-err.lo libmoo_la-exec.lo libmoo_la-logfmt.lo \
libmoo_la-gc.lo libmoo_la-heap.lo libmoo_la-obj.lo \ libmoo_la-gc.lo libmoo_la-heap.lo libmoo_la-moo.lo \
libmoo_la-proc.lo libmoo_la-rbt.lo libmoo_la-moo.lo \ libmoo_la-obj.lo libmoo_la-proc.lo libmoo_la-rbt.lo \
libmoo_la-sym.lo libmoo_la-utf8.lo libmoo_la-utl.lo libmoo_la-sym.lo libmoo_la-utf8.lo libmoo_la-utl.lo
libmoo_la_OBJECTS = $(am_libmoo_la_OBJECTS) libmoo_la_OBJECTS = $(am_libmoo_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@) AM_V_lt = $(am__v_lt_@AM_V@)
@ -416,10 +416,10 @@ libmoo_la_SOURCES = \
logfmt.c \ logfmt.c \
gc.c \ gc.c \
heap.c \ heap.c \
moo.c \
obj.c \ obj.c \
proc.c \ proc.c \
rbt.c \ rbt.c \
moo.c \
sym.c \ sym.c \
utf8.c \ utf8.c \
utl.c utl.c
@ -692,6 +692,13 @@ libmoo_la-heap.lo: heap.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmoo_la-heap.lo `test -f 'heap.c' || echo '$(srcdir)/'`heap.c @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmoo_la-heap.lo `test -f 'heap.c' || echo '$(srcdir)/'`heap.c
libmoo_la-moo.lo: moo.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmoo_la-moo.lo -MD -MP -MF $(DEPDIR)/libmoo_la-moo.Tpo -c -o libmoo_la-moo.lo `test -f 'moo.c' || echo '$(srcdir)/'`moo.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmoo_la-moo.Tpo $(DEPDIR)/libmoo_la-moo.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='moo.c' object='libmoo_la-moo.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmoo_la-moo.lo `test -f 'moo.c' || echo '$(srcdir)/'`moo.c
libmoo_la-obj.lo: obj.c libmoo_la-obj.lo: obj.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmoo_la-obj.lo -MD -MP -MF $(DEPDIR)/libmoo_la-obj.Tpo -c -o libmoo_la-obj.lo `test -f 'obj.c' || echo '$(srcdir)/'`obj.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmoo_la-obj.lo -MD -MP -MF $(DEPDIR)/libmoo_la-obj.Tpo -c -o libmoo_la-obj.lo `test -f 'obj.c' || echo '$(srcdir)/'`obj.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmoo_la-obj.Tpo $(DEPDIR)/libmoo_la-obj.Plo @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmoo_la-obj.Tpo $(DEPDIR)/libmoo_la-obj.Plo
@ -713,13 +720,6 @@ libmoo_la-rbt.lo: rbt.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmoo_la-rbt.lo `test -f 'rbt.c' || echo '$(srcdir)/'`rbt.c @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmoo_la-rbt.lo `test -f 'rbt.c' || echo '$(srcdir)/'`rbt.c
libmoo_la-moo.lo: moo.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmoo_la-moo.lo -MD -MP -MF $(DEPDIR)/libmoo_la-moo.Tpo -c -o libmoo_la-moo.lo `test -f 'moo.c' || echo '$(srcdir)/'`moo.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmoo_la-moo.Tpo $(DEPDIR)/libmoo_la-moo.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='moo.c' object='libmoo_la-moo.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libmoo_la-moo.lo `test -f 'moo.c' || echo '$(srcdir)/'`moo.c
libmoo_la-sym.lo: sym.c libmoo_la-sym.lo: sym.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmoo_la-sym.lo -MD -MP -MF $(DEPDIR)/libmoo_la-sym.Tpo -c -o libmoo_la-sym.lo `test -f 'sym.c' || echo '$(srcdir)/'`sym.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libmoo_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libmoo_la-sym.lo -MD -MP -MF $(DEPDIR)/libmoo_la-sym.Tpo -c -o libmoo_la-sym.lo `test -f 'sym.c' || echo '$(srcdir)/'`sym.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmoo_la-sym.Tpo $(DEPDIR)/libmoo_la-sym.Plo @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libmoo_la-sym.Tpo $(DEPDIR)/libmoo_la-sym.Plo

View File

@ -166,7 +166,12 @@ const moo_ooch_t* moo_synerrnumtoerrstr (moo_synerrnum_t errnum)
# include <os2.h> # include <os2.h>
#elif defined(__DOS__) #elif defined(__DOS__)
# include <dos.h> # include <dos.h>
# if defined(_INTELC32_)
# define DOS_EXIT 0x4C
# else
# include <dosfunc.h> # include <dosfunc.h>
# endif
# include <errno.h>
#elif defined(vms) || defined(__vms) #elif defined(vms) || defined(__vms)
# define __NEW_STARLET 1 # define __NEW_STARLET 1
# include <starlet.h> /* (SYS$...) */ # include <starlet.h> /* (SYS$...) */
@ -194,9 +199,17 @@ moo_errnum_t moo_syserrtoerrnum (int e)
case EPERM: return MOO_EPERM; case EPERM: return MOO_EPERM;
case ENOTDIR: return MOO_ENOTDIR; case ENOTDIR: return MOO_ENOTDIR;
case ENOENT: return MOO_ENOENT; case ENOENT: return MOO_ENOENT;
#if defined(EEXIST)
case EEXIST: return MOO_EEXIST; case EEXIST: return MOO_EEXIST;
#endif
#if defined(EINTR)
case EINTR: return MOO_EINTR; case EINTR: return MOO_EINTR;
#endif
#if defined(EPIPE)
case EPIPE: return MOO_EPIPE; case EPIPE: return MOO_EPIPE;
#endif
#if defined(EAGAIN) && defined(EWOULDBLOCK) && (EAGAIN != EWOULDBLOCK) #if defined(EAGAIN) && defined(EWOULDBLOCK) && (EAGAIN != EWOULDBLOCK)
case EAGAIN: case EAGAIN:
case EWOULDBLOCK: return MOO_EAGAIN; case EWOULDBLOCK: return MOO_EAGAIN;

View File

@ -35,7 +35,7 @@
# define INCL_DOSERRORS # define INCL_DOSERRORS
# include <os2.h> # include <os2.h>
# include <time.h> # include <time.h>
#elif defined(__MSDOS__) #elif defined(__DOS__)
# include <time.h> # include <time.h>
#elif defined(macintosh) #elif defined(macintosh)
# include <Types.h> # include <Types.h>
@ -122,7 +122,12 @@
# define LOG_INST_3(moo,fmt,a1,a2,a3) # define LOG_INST_3(moo,fmt,a1,a2,a3)
#endif #endif
#define __PRIMITIVE_NAME__ (&__FUNCTION__[4]) #if defined(__DOS__) && defined(_INTELC32_)
/* the old intel c code builder doesn't support __FUNCTION__ */
# define __PRIMITIVE_NAME__ "<<primitive>>"
#else
# define __PRIMITIVE_NAME__ (&__FUNCTION__[4])
#endif
/* ------------------------------------------------------------------------- */ /* ------------------------------------------------------------------------- */
static MOO_INLINE void vm_gettime (moo_t* moo, moo_ntime_t* now) static MOO_INLINE void vm_gettime (moo_t* moo, moo_ntime_t* now)
@ -140,7 +145,7 @@ static MOO_INLINE void vm_gettime (moo_t* moo, moo_ntime_t* now)
/* it must return NO_ERROR */ /* it must return NO_ERROR */
MOO_INITNTIME (now, MOO_MSEC_TO_SEC(out), MOO_MSEC_TO_NSEC(out)); MOO_INITNTIME (now, MOO_MSEC_TO_SEC(out), MOO_MSEC_TO_NSEC(out));
#elif defined(__MSDOS__) && defined(_INTELC32_) #elif defined(__DOS__) && defined(_INTELC32_)
clock_t c; clock_t c;
/* TODO: handle overflow?? */ /* TODO: handle overflow?? */
@ -213,7 +218,7 @@ static MOO_INLINE void vm_sleep (moo_t* moo, const moo_ntime_t* dur)
/* TODO: ... */ /* TODO: ... */
#elif defined(__MSDOS__) && defined(_INTELC32_) #elif defined(__DOS__) && defined(_INTELC32_)
clock_t c; clock_t c;
@ -1763,8 +1768,8 @@ static moo_pfrc_t pf_exceptionize_error (moo_t* moo, moo_ooi_t nargs)
return MOO_PF_FAILURE; return MOO_PF_FAILURE;
} }
// TODO: ....... /* TODO: .......
// MOO_OBJ_SET_FLAGS_EXTRA (rcv, xxx); MOO_OBJ_SET_FLAGS_EXTRA (rcv, xxx); */
MOO_STACK_SETRETTORCV (moo, nargs); MOO_STACK_SETRETTORCV (moo, nargs);
return MOO_PF_SUCCESS; return MOO_PF_SUCCESS;
} }

View File

@ -45,8 +45,9 @@
# define INCL_DOSPROCESS # define INCL_DOSPROCESS
# define INCL_DOSERRORS # define INCL_DOSERRORS
# include <os2.h> # include <os2.h>
#elif defined(__MSDOS__) #elif defined(__DOS__)
# include <dos.h> # include <dos.h>
# include <time.h>
#elif defined(macintosh) #elif defined(macintosh)
# include <Timer.h> # include <Timer.h>
#else #else
@ -69,9 +70,9 @@
# if defined(_WIN32) # if defined(_WIN32)
# define MOO_DEFAULT_MODPREFIX "moo-" # define MOO_DEFAULT_MODPREFIX "moo-"
# elif defined(__OS2__) # elif defined(__OS2__)
# define MOO_DEFAULT_MODPREFIX "st-" # define MOO_DEFAULT_MODPREFIX "moo"
# elif defined(__MSDOS__) # elif defined(__DOS__)
# define MOO_DEFAULT_MODPREFIX "st-" # define MOO_DEFAULT_MODPREFIX "moo"
# else # else
# define MOO_DEFAULT_MODPREFIX "libmoo-" # define MOO_DEFAULT_MODPREFIX "libmoo-"
# endif # endif
@ -82,7 +83,7 @@
# define MOO_DEFAULT_MODPOSTFIX "" # define MOO_DEFAULT_MODPOSTFIX ""
# elif defined(__OS2__) # elif defined(__OS2__)
# define MOO_DEFAULT_MODPOSTFIX "" # define MOO_DEFAULT_MODPOSTFIX ""
# elif defined(__MSDOS__) # elif defined(__DOS__)
# define MOO_DEFAULT_MODPOSTFIX "" # define MOO_DEFAULT_MODPOSTFIX ""
# else # else
# define MOO_DEFAULT_MODPOSTFIX "" # define MOO_DEFAULT_MODPOSTFIX ""
@ -172,7 +173,7 @@ static MOO_INLINE moo_ooi_t open_input (moo_t* moo, moo_ioarg_t* arg)
/* TODO: make bcs relative to the includer */ /* TODO: make bcs relative to the includer */
#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) #if defined(__DOS__) || defined(_WIN32) || defined(__OS2__)
fp = fopen (bcs, "rb"); fp = fopen (bcs, "rb");
#else #else
fp = fopen (bcs, "r"); fp = fopen (bcs, "r");
@ -181,7 +182,7 @@ static MOO_INLINE moo_ooi_t open_input (moo_t* moo, moo_ioarg_t* arg)
else else
{ {
/* main stream */ /* main stream */
#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) #if defined(__DOS__) || defined(_WIN32) || defined(__OS2__)
fp = fopen (xtn->source_path, "rb"); fp = fopen (xtn->source_path, "rb");
#else #else
fp = fopen (xtn->source_path, "r"); fp = fopen (xtn->source_path, "r");
@ -341,7 +342,7 @@ static void dl_close (moo_t* moo, void* handle)
FreeLibrary ((HMODULE)handle); FreeLibrary ((HMODULE)handle);
#elif defined(__OS2__) #elif defined(__OS2__)
DosFreeModule ((HMODULE)handle); DosFreeModule ((HMODULE)handle);
#elif defined(__MSDOS__) && defined(QSE_ENABLE_DOS_DYNAMIC_MODULE) #elif defined(__DOS__) && defined(QSE_ENABLE_DOS_DYNAMIC_MODULE)
FreeModule (handle); FreeModule (handle);
#else #else
/* nothing to do */ /* nothing to do */
@ -438,13 +439,14 @@ static void log_write (moo_t* moo, moo_oow_t mask, const moo_ooch_t* msg, moo_oo
struct tm tm, *tmp; struct tm tm, *tmp;
time_t now; time_t now;
if (mask & MOO_LOG_GC) return; /* don't show gc logs */ if (mask & MOO_LOG_GC) return; /* don't show gc logs */
/* TODO: beautify the log message. /* TODO: beautify the log message.
* do classification based on mask. */ * do classification based on mask. */
now = time(NULL); now = time(NULL);
#if defined(__MSDOS__) #if defined(__DOS__)
tmp = localtime (&now); tmp = localtime (&now);
#else #else
tmp = localtime_r (&now, &tm); tmp = localtime_r (&now, &tm);
@ -502,7 +504,7 @@ static moo_t* g_moo = MOO_NULL;
/* ========================================================================= */ /* ========================================================================= */
#if defined(__MSDOS__) && defined(_INTELC32_) #if defined(__DOS__) && defined(_INTELC32_)
static void (*prev_timer_intr_handler) (void); static void (*prev_timer_intr_handler) (void);
#pragma interrupt(timer_intr_handler) #pragma interrupt(timer_intr_handler)
@ -543,7 +545,7 @@ static void arrange_process_switching (int sig)
static void setup_tick (void) static void setup_tick (void)
{ {
#if defined(__MSDOS__) && defined(_INTELC32_) #if defined(__DOS__) && defined(_INTELC32_)
prev_timer_intr_handler = _dos_getvect (0x1C); prev_timer_intr_handler = _dos_getvect (0x1C);
_dos_setvect (0x1C, timer_intr_handler); _dos_setvect (0x1C, timer_intr_handler);
@ -579,7 +581,7 @@ static void setup_tick (void)
static void cancel_tick (void) static void cancel_tick (void)
{ {
#if defined(__MSDOS__) && defined(_INTELC32_) #if defined(__DOS__) && defined(_INTELC32_)
_dos_setvect (0x1C, prev_timer_intr_handler); _dos_setvect (0x1C, prev_timer_intr_handler);

View File

@ -37,7 +37,7 @@
# include "moo-msw.h" # include "moo-msw.h"
#elif defined(__OS2__) #elif defined(__OS2__)
# include "moo-os2.h" # include "moo-os2.h"
#elif defined(__MSDOS__) #elif defined(__DOS__)
# include "moo-dos.h" # include "moo-dos.h"
#elif defined(macintosh) #elif defined(macintosh)
# include "moo-mac.h" /* class mac os */ # include "moo-mac.h" /* class mac os */
@ -131,7 +131,7 @@
# define MOO_HAVE_INT32_T # define MOO_HAVE_INT32_T
typedef unsigned __int32_t moo_uint32_t; typedef unsigned __int32_t moo_uint32_t;
typedef signed __int32_t moo_int32_t; typedef signed __int32_t moo_int32_t;
#elif defined(__MSDOS__) #elif defined(__DOS__)
# define MOO_HAVE_UINT32_T # define MOO_HAVE_UINT32_T
# define MOO_HAVE_INT32_T # define MOO_HAVE_INT32_T
typedef unsigned long int moo_uint32_t; typedef unsigned long int moo_uint32_t;

View File

@ -71,12 +71,6 @@ MOO_EXPORT moo_oow_t moo_hashbytes (
# define moo_hashoochars(ptr,len) moo_hashbchars(ptr,len) # define moo_hashoochars(ptr,len) moo_hashbchars(ptr,len)
#endif #endif
MOO_EXPORT moo_oow_t moo_hashwords (
const moo_oow_t* ptr,
moo_oow_t len
);
/** /**
* The moo_equaluchars() function determines equality of two strings * The moo_equaluchars() function determines equality of two strings
* of the same length \a len. * of the same length \a len.

View File

@ -28,15 +28,18 @@
#include "console.h" #include "console.h"
#include <moo-utl.h> #include <moo-utl.h>
#include <unistd.h> #if defined(_WIN32)
#include <fcntl.h>
#include <stdlib.h> /* getenv */ #elif defined(__DOS__)
#include <curses.h> #else
#include <term.h> # include <unistd.h>
# include <fcntl.h>
#include <sys/ioctl.h> # include <stdlib.h> /* getenv */
# include <curses.h>
# include <term.h>
# include <sys/ioctl.h>
#endif
typedef struct console_t console_t; typedef struct console_t console_t;
struct console_t struct console_t
@ -66,7 +69,9 @@ static moo_pfrc_t pf_open (moo_t* moo, moo_ooi_t nargs)
/* error */ /* error */
} }
#elif defined(__DOS__)
moo->errnum = MOO_ENOIMPL;
return -1;
#else #else
console_t* con; console_t* con;
@ -114,11 +119,10 @@ static moo_pfrc_t pf_open (moo_t* moo, moo_ooi_t nargs)
/*write (fd, tparm (cup, wsz.ws_row - 1, 0), strlen(tparm (cup, wsz.ws_row - 1, 0)));*/ /*write (fd, tparm (cup, wsz.ws_row - 1, 0), strlen(tparm (cup, wsz.ws_row - 1, 0)));*/
write (fd, tiparm (cup, 0, 0), strlen(tiparm (cup, 0, 0))); write (fd, tiparm (cup, 0, 0), strlen(tiparm (cup, 0, 0)));
} }
#endif
#endif #endif
MOO_STACK_SETRET (moo, nargs, MOO_SMOOI_TO_OOP((moo_oow_t)con)); MOO_STACK_SETRET (moo, nargs, MOO_SMOOI_TO_OOP((moo_oow_t)con));
#endif
return MOO_PF_SUCCESS; return MOO_PF_SUCCESS;
} }
@ -128,11 +132,14 @@ static moo_pfrc_t pf_close (moo_t* moo, moo_ooi_t nargs)
HANDLE h; HANDLE h;
h = MOO_STACK_GETARG (moo, nargs, 0); h = MOO_STACK_GETARG (moo, nargs, 0);
#elif defined(__DOS__)
/* TODO */
#else #else
#endif
console_t* con; console_t* con;
con = MOO_OOP_TO_SMOOI(MOO_STACK_GETARG (moo, nargs, 0)); con = (console_t*)MOO_OOP_TO_SMOOI(MOO_STACK_GETARG (moo, nargs, 0));
/* TODO: sanity check */ /* TODO: sanity check */
if (con->fd_opened) close (con->fd); if (con->fd_opened) close (con->fd);
@ -140,10 +147,15 @@ static moo_pfrc_t pf_close (moo_t* moo, moo_ooi_t nargs)
moo_freemem (moo, con); moo_freemem (moo, con);
MOO_STACK_SETRETTORCV (moo, nargs); MOO_STACK_SETRETTORCV (moo, nargs);
return MOO_PF_SUCCESS; return MOO_PF_SUCCESS;
#endif
} }
static moo_pfrc_t pf_write (moo_t* moo, moo_ooi_t nargs) static moo_pfrc_t pf_write (moo_t* moo, moo_ooi_t nargs)
{ {
#if defined(_WIN32)
#elif defined(__DOS__)
#else
console_t* con; console_t* con;
moo_oop_char_t oomsg; moo_oop_char_t oomsg;
@ -183,10 +195,15 @@ static moo_pfrc_t pf_write (moo_t* moo, moo_ooi_t nargs)
MOO_STACK_SETRETTORCV (moo, nargs); /* TODO: change return code */ MOO_STACK_SETRETTORCV (moo, nargs); /* TODO: change return code */
return MOO_PF_SUCCESS; return MOO_PF_SUCCESS;
#endif
} }
static moo_pfrc_t pf_clear (moo_t* moo, moo_ooi_t nargs) static moo_pfrc_t pf_clear (moo_t* moo, moo_ooi_t nargs)
{ {
#if defined(_WIN32)
#elif defined(__DOS__)
#else
console_t* con; console_t* con;
con = MOO_OOP_TO_SMOOI(MOO_STACK_GETARG(moo, nargs, 0)); con = MOO_OOP_TO_SMOOI(MOO_STACK_GETARG(moo, nargs, 0));
@ -195,10 +212,15 @@ static moo_pfrc_t pf_clear (moo_t* moo, moo_ooi_t nargs)
MOO_STACK_SETRETTORCV (moo, nargs); MOO_STACK_SETRETTORCV (moo, nargs);
return MOO_PF_SUCCESS; return MOO_PF_SUCCESS;
#endif
} }
static moo_pfrc_t pf_setcursor (moo_t* moo, moo_ooi_t nargs) static moo_pfrc_t pf_setcursor (moo_t* moo, moo_ooi_t nargs)
{ {
#if defined(_WIN32)
#elif defined(__DOS__)
#else
console_t* con; console_t* con;
moo_oop_oop_t point; moo_oop_oop_t point;
char* cup; char* cup;
@ -217,6 +239,7 @@ static moo_pfrc_t pf_setcursor (moo_t* moo, moo_ooi_t nargs)
MOO_STACK_SETRETTORCV (moo, nargs); MOO_STACK_SETRETTORCV (moo, nargs);
return MOO_PF_SUCCESS; return MOO_PF_SUCCESS;
#endif
} }
/* ------------------------------------------------------------------------ */ /* ------------------------------------------------------------------------ */
@ -268,7 +291,6 @@ static void unload (moo_t* moo, moo_mod_t* mod)
/* TODO: close all open handle?? */ /* TODO: close all open handle?? */
} }
int moo_mod_console (moo_t* moo, moo_mod_t* mod) int moo_mod_console (moo_t* moo, moo_mod_t* mod)
{ {
mod->query = query; mod->query = query;

View File

@ -32,6 +32,10 @@
#include <errno.h> #include <errno.h>
#include <limits.h> #include <limits.h>
#if !defined(PATH_MAX)
# define PATH_MAX 256
#endif
typedef struct stdio_t stdio_t; typedef struct stdio_t stdio_t;
struct stdio_t struct stdio_t
{ {