20000321-02:00 GMT+1 Victor Szakats <info@szelvesz.hu>
This commit is contained in:
@@ -1,3 +1,33 @@
|
||||
20000321-02:00 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
+ source/vm/runner.c
|
||||
- source/runner/runlib.c
|
||||
- source/runner/Makefile
|
||||
- source/runner/stdalone/Makefile
|
||||
- source/runner/stdalone/hbrun.prg
|
||||
+ utils/hbrun/Makefile
|
||||
+ utils/hbrun/hbrun.prg
|
||||
* source/Makefile
|
||||
source/vm/Makefile
|
||||
utils/Makefile
|
||||
makefile.bc
|
||||
makefile.vc
|
||||
* Runner library code moved to SOURCE/VM
|
||||
* Runner standalone utility moved to UTILS/HBRUN
|
||||
|
||||
* source/rtl/filesys.c
|
||||
+ source/rtl/philes.c
|
||||
- source/rtl/getenv.c
|
||||
+ source/rtl/gete.c
|
||||
- source/rtl/stris.c
|
||||
+ source/rtl/is.c
|
||||
source/rtl/Makefile
|
||||
makefile.bc
|
||||
makefile.vc
|
||||
+ Harbour callable low-level file handling routines moved to a separate
|
||||
source file.
|
||||
* Two files renamed to match Clipper.
|
||||
|
||||
20000321-01:10 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* source/rtl/gtapi.c
|
||||
|
||||
@@ -49,9 +49,9 @@ MACRO_DIR = source\macro
|
||||
PP_DIR = source\pp
|
||||
RDD_DIR = source\rdd
|
||||
RTL_DIR = source\rtl
|
||||
RUNNER_DIR = source\runner
|
||||
TOOLS_DIR = source\tools
|
||||
VM_DIR = source\vm
|
||||
HBRUN_DIR = utils\hbrun
|
||||
HBTEST_DIR = utils\hbtest
|
||||
HBDOC_DIR = utils\hbdoc
|
||||
|
||||
@@ -77,7 +77,6 @@ NULSYS_LIB = $(LIB_DIR)\nulsys.lib
|
||||
PP_LIB = $(LIB_DIR)\pp.lib
|
||||
RDD_LIB = $(LIB_DIR)\rdd.lib
|
||||
RTL_LIB = $(LIB_DIR)\rtl.lib
|
||||
RUNNER_LIB = $(LIB_DIR)\runner.lib
|
||||
TOOLS_LIB = $(LIB_DIR)\tools.lib
|
||||
VM_LIB = $(LIB_DIR)\vm.lib
|
||||
|
||||
@@ -161,12 +160,13 @@ RTL_LIB_OBJS = \
|
||||
$(OBJ_DIR)\fnsplit.obj \
|
||||
$(OBJ_DIR)\fssize.obj \
|
||||
$(OBJ_DIR)\fstemp.obj \
|
||||
$(OBJ_DIR)\getenv.obj \
|
||||
$(OBJ_DIR)\gete.obj \
|
||||
$(OBJ_DIR)\gt.obj \
|
||||
$(OBJ_DIR)\gtapi.obj \
|
||||
$(OBJ_DIR)\gx.obj \
|
||||
$(OBJ_DIR)\hardcr.obj \
|
||||
$(OBJ_DIR)\inkey.obj \
|
||||
$(OBJ_DIR)\is.obj \
|
||||
$(OBJ_DIR)\isprint.obj \
|
||||
$(OBJ_DIR)\langapi.obj \
|
||||
$(OBJ_DIR)\left.obj \
|
||||
@@ -188,6 +188,7 @@ RTL_LIB_OBJS = \
|
||||
$(OBJ_DIR)\oldbox.obj \
|
||||
$(OBJ_DIR)\oldclear.obj \
|
||||
$(OBJ_DIR)\pad.obj \
|
||||
$(OBJ_DIR)\philes.obj \
|
||||
$(OBJ_DIR)\philes53.obj \
|
||||
$(OBJ_DIR)\philesx.obj \
|
||||
$(OBJ_DIR)\rat.obj \
|
||||
@@ -209,7 +210,6 @@ RTL_LIB_OBJS = \
|
||||
$(OBJ_DIR)\str.obj \
|
||||
$(OBJ_DIR)\strcase.obj \
|
||||
$(OBJ_DIR)\strings.obj \
|
||||
$(OBJ_DIR)\stris.obj \
|
||||
$(OBJ_DIR)\strmatch.obj \
|
||||
$(OBJ_DIR)\strtran.obj \
|
||||
$(OBJ_DIR)\strzero.obj \
|
||||
@@ -349,13 +349,6 @@ DBFCDX_LIB_OBJS = \
|
||||
\
|
||||
$(OBJ_DIR)\dbfcdx0.obj
|
||||
|
||||
#
|
||||
# RUNNER.LIB rules
|
||||
#
|
||||
|
||||
RUNNER_LIB_OBJS = \
|
||||
$(OBJ_DIR)\runlib.obj
|
||||
|
||||
#
|
||||
# PP.LIB rules
|
||||
#
|
||||
@@ -413,6 +406,7 @@ VM_LIB_OBJS = \
|
||||
$(OBJ_DIR)\pcount.obj \
|
||||
$(OBJ_DIR)\proc.obj \
|
||||
$(OBJ_DIR)\pvalue.obj \
|
||||
$(OBJ_DIR)\runner.obj \
|
||||
\
|
||||
$(OBJ_DIR)\symbols.obj \
|
||||
\
|
||||
@@ -519,7 +513,6 @@ all: \
|
||||
$(NULSYS_LIB) \
|
||||
$(DBFNTX_LIB) \
|
||||
$(DBFCDX_LIB) \
|
||||
$(RUNNER_LIB) \
|
||||
$(HB_GT_LIBS) \
|
||||
$(HBRUN_EXE) \
|
||||
$(HBPP_EXE) \
|
||||
@@ -539,7 +532,6 @@ $(NULSYS_LIB) : $(NULSYS_LIB_OBJS)
|
||||
$(PP_LIB) : $(PP_LIB_OBJS)
|
||||
$(RDD_LIB) : $(RDD_LIB_OBJS)
|
||||
$(RTL_LIB) : $(RTL_LIB_OBJS)
|
||||
$(RUNNER_LIB) : $(RUNNER_LIB_OBJS)
|
||||
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
|
||||
$(VM_LIB) : $(VM_LIB_OBJS)
|
||||
$(GTDOS_LIB) : $(GTDOS_LIB_OBJS)
|
||||
@@ -842,6 +834,10 @@ $(OBJ_DIR)\pvalue.obj : $(VM_DIR)\pvalue.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(VM_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\runner.obj : $(VM_DIR)\runner.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(VM_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\symbols.obj : $(VM_DIR)\symbols.asm
|
||||
$(AS) $**, $@
|
||||
tlib $(VM_LIB) -+$@,,
|
||||
@@ -1065,7 +1061,7 @@ $(OBJ_DIR)\fstemp.obj : $(RTL_DIR)\fstemp.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\getenv.obj : $(RTL_DIR)\getenv.c
|
||||
$(OBJ_DIR)\gete.obj : $(RTL_DIR)\gete.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
@@ -1096,6 +1092,10 @@ $(OBJ_DIR)\input.obj : $(OBJ_DIR)\input.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\is.obj : $(RTL_DIR)\is.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\isprint.obj : $(RTL_DIR)\isprint.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
@@ -1205,6 +1205,10 @@ $(OBJ_DIR)\pad.obj : $(RTL_DIR)\pad.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\philes.obj : $(RTL_DIR)\philes.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\philes53.obj : $(RTL_DIR)\philes53.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
@@ -1317,10 +1321,6 @@ $(OBJ_DIR)\strings.obj : $(RTL_DIR)\strings.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\stris.obj : $(RTL_DIR)\stris.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\strmatch.obj : $(RTL_DIR)\strmatch.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RTL_LIB) -+$@,,
|
||||
@@ -1722,14 +1722,6 @@ $(OBJ_DIR)\dbfcdx1.obj : $(RDD_DIR)\dbfcdx\dbfcdx1.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(DBFCDX_LIB) -+$@,,
|
||||
|
||||
#
|
||||
# RUNNER.LIB dependencies
|
||||
#
|
||||
|
||||
$(OBJ_DIR)\runlib.obj : $(RUNNER_DIR)\runlib.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
tlib $(RUNNER_LIB) -+$@,,
|
||||
|
||||
#
|
||||
# DEBUG.LIB dependencies
|
||||
#
|
||||
@@ -1823,11 +1815,9 @@ $(HBPP_EXE) : \
|
||||
#
|
||||
# HBRUN.EXE dependencies
|
||||
#
|
||||
$(HBRUN_EXE) : \
|
||||
$(RUNNER_DIR)\stdalone\hbrun.prg \
|
||||
$(RUNNER_LIB)
|
||||
$(HBRUN_EXE) : $(HBRUN_DIR)\hbrun.prg
|
||||
|
||||
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $(RUNNER_DIR)\stdalone\hbrun.prg
|
||||
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $(HBRUN_DIR)\hbrun.prg
|
||||
$(CC) $(CLIBFLAGS) -o$(OBJ_DIR)\hbrun.obj $(OBJ_DIR)\hbrun.c
|
||||
|
||||
echo. $(CFLAGS) > make.tmp
|
||||
@@ -1842,7 +1832,6 @@ $(HBRUN_EXE) : \
|
||||
echo. $(RDD_LIB) >> make.tmp
|
||||
echo. $(MACRO_LIB) >> make.tmp
|
||||
echo. $(TOOLS_LIB) >> make.tmp
|
||||
echo. $(RUNNER_LIB) >> make.tmp
|
||||
echo. $(DBFNTX_LIB) >> make.tmp
|
||||
echo. $(DBFCDX_LIB) >> make.tmp
|
||||
$(CC) @make.tmp
|
||||
@@ -1872,7 +1861,6 @@ $(HBTEST_EXE) : $(HBTEST_EXE_OBJS)
|
||||
echo. $(HB_GT_LIB) >> make.tmp
|
||||
echo. $(RDD_LIB) >> make.tmp
|
||||
echo. $(MACRO_LIB) >> make.tmp
|
||||
echo. $(RUNNER_LIB) >> make.tmp
|
||||
echo. $(DBFNTX_LIB) >> make.tmp
|
||||
echo. $(DBFCDX_LIB) >> make.tmp
|
||||
$(CC) @make.tmp
|
||||
@@ -1956,7 +1944,6 @@ $(HBDOC_EXE) : $(HBDOC_EXE_OBJS)
|
||||
echo. $(RDD_LIB) >> make.tmp
|
||||
echo. $(MACRO_LIB) >> make.tmp
|
||||
echo. $(TOOLS_LIB) >> make.tmp
|
||||
echo. $(RUNNER_LIB) >> make.tmp
|
||||
echo. $(DBFNTX_LIB) >> make.tmp
|
||||
echo. $(DBFCDX_LIB) >> make.tmp
|
||||
$(CC) @make.tmp
|
||||
|
||||
@@ -50,9 +50,9 @@ MACRO_DIR = source\macro
|
||||
PP_DIR = source\pp
|
||||
RDD_DIR = source\rdd
|
||||
RTL_DIR = source\rtl
|
||||
RUNNER_DIR = source\runner
|
||||
TOOLS_DIR = source\tools
|
||||
VM_DIR = source\vm
|
||||
HBRUN_DIR = utils\hbrun
|
||||
HBTEST_DIR = utils\hbtest
|
||||
HBDOC_DIR = utils\hbdoc
|
||||
|
||||
@@ -79,7 +79,6 @@ NULSYS_LIB = $(LIB_DIR)\nulsys.lib
|
||||
PP_LIB = $(LIB_DIR)\pp.lib
|
||||
RDD_LIB = $(LIB_DIR)\rdd.lib
|
||||
RTL_LIB = $(LIB_DIR)\rtl.lib
|
||||
RUNNER_LIB = $(LIB_DIR)\runner.lib
|
||||
TOOLS_LIB = $(LIB_DIR)\tools.lib
|
||||
VM_LIB = $(LIB_DIR)\vm.lib
|
||||
|
||||
@@ -126,7 +125,6 @@ LIBLIST = \
|
||||
$(DBFCDX_LIB) \
|
||||
$(DBFNTX_LIB) \
|
||||
$(NULSYS_LIB) \
|
||||
$(RUNNER_LIB) \
|
||||
$(TOOLS_LIB) \
|
||||
$(VM_LIB) \
|
||||
$(HB_GT_LIB)
|
||||
@@ -202,12 +200,13 @@ RTL_LIB_OBJS = \
|
||||
$(OBJ_DIR)\fnsplit.obj \
|
||||
$(OBJ_DIR)\fssize.obj \
|
||||
$(OBJ_DIR)\fstemp.obj \
|
||||
$(OBJ_DIR)\getenv.obj \
|
||||
$(OBJ_DIR)\gete.obj \
|
||||
$(OBJ_DIR)\gt.obj \
|
||||
$(OBJ_DIR)\gtapi.obj \
|
||||
$(OBJ_DIR)\gx.obj \
|
||||
$(OBJ_DIR)\hardcr.obj \
|
||||
$(OBJ_DIR)\inkey.obj \
|
||||
$(OBJ_DIR)\is.obj \
|
||||
$(OBJ_DIR)\isprint.obj \
|
||||
$(OBJ_DIR)\langapi.obj \
|
||||
$(OBJ_DIR)\left.obj \
|
||||
@@ -229,6 +228,7 @@ RTL_LIB_OBJS = \
|
||||
$(OBJ_DIR)\oldbox.obj \
|
||||
$(OBJ_DIR)\oldclear.obj \
|
||||
$(OBJ_DIR)\pad.obj \
|
||||
$(OBJ_DIR)\philes.obj \
|
||||
$(OBJ_DIR)\philes53.obj \
|
||||
$(OBJ_DIR)\philesx.obj \
|
||||
$(OBJ_DIR)\rat.obj \
|
||||
@@ -250,7 +250,6 @@ RTL_LIB_OBJS = \
|
||||
$(OBJ_DIR)\str.obj \
|
||||
$(OBJ_DIR)\strcase.obj \
|
||||
$(OBJ_DIR)\strings.obj \
|
||||
$(OBJ_DIR)\stris.obj \
|
||||
$(OBJ_DIR)\strmatch.obj \
|
||||
$(OBJ_DIR)\strtran.obj \
|
||||
$(OBJ_DIR)\strzero.obj \
|
||||
@@ -442,16 +441,6 @@ DBFCDX_LIB_OBJS = \
|
||||
\
|
||||
$(OBJ_DIR)\dbfcdx0.obj
|
||||
|
||||
#
|
||||
# RUNNER.LIB rules
|
||||
#
|
||||
|
||||
{$(RUNNER_DIR)}.c{$(OBJ_DIR)}.obj::
|
||||
$(CC) $(CLIBFLAGS) -Fo$(OBJ_DIR)\ $<
|
||||
|
||||
RUNNER_LIB_OBJS = \
|
||||
$(OBJ_DIR)\runlib.obj
|
||||
|
||||
#
|
||||
# PP.LIB rules
|
||||
#
|
||||
@@ -532,6 +521,7 @@ VM_LIB_OBJS = \
|
||||
$(OBJ_DIR)\pcount.obj \
|
||||
$(OBJ_DIR)\proc.obj \
|
||||
$(OBJ_DIR)\pvalue.obj \
|
||||
$(OBJ_DIR)\runner.obj \
|
||||
\
|
||||
$(OBJ_DIR)\symbols.obj \
|
||||
\
|
||||
@@ -590,7 +580,6 @@ all: zot \
|
||||
$(NULSYS_LIB) \
|
||||
$(DBFNTX_LIB) \
|
||||
$(DBFCDX_LIB) \
|
||||
$(RUNNER_LIB) \
|
||||
$(GTPCA_LIB) \
|
||||
$(GTSTD_LIB) \
|
||||
$(GTWIN_LIB) \
|
||||
@@ -627,7 +616,6 @@ all: \
|
||||
$(NULSYS_LIB) \
|
||||
$(DBFNTX_LIB) \
|
||||
$(DBFCDX_LIB) \
|
||||
$(RUNNER_LIB) \
|
||||
$(GTPCA_LIB) \
|
||||
$(GTSTD_LIB) \
|
||||
$(GTWIN_LIB) \
|
||||
@@ -646,11 +634,10 @@ $(HBPP_EXE) : \
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $** -o $(HBPP_EXE) /link $(PP_LIB) $(COMMON_LIB)
|
||||
|
||||
#
|
||||
# Runner
|
||||
# HBRUN.EXE rules
|
||||
#
|
||||
|
||||
$(HBRUN_EXE) : \
|
||||
$(RUNNER_DIR)\stdalone\hbrun.prg
|
||||
$(HBRUN_EXE) : $(HBRUN_DIR)\hbrun.prg
|
||||
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbrun.c -o $(BIN_DIR)\hbrun /link $(LIBS2)
|
||||
|
||||
@@ -659,8 +646,8 @@ $(HBRUN_EXE) : \
|
||||
#
|
||||
# To compile this you must have a JDK installed
|
||||
#
|
||||
$(HBRUNJAV_DLL) : $(RUNNER_DIR)\runjava.c
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(RUNNER_DIR)\runjava.c -o $(BIN_DIR)\runjava.dll /link-dll $(LIBS)
|
||||
$(HBRUNJAV_DLL) : $(HBRUN_DIR)\runjava.c
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(HBRUN_DIR)\runjava.c -o $(BIN_DIR)\runjava.dll /link-dll $(LIBS)
|
||||
-del $(BIN_DIR)\runjava.exp
|
||||
-del $(BIN_DIR)\runjava.lib
|
||||
|
||||
@@ -757,9 +744,6 @@ $(DBFNTX_LIB) : $(DBFNTX_LIB_OBJS)
|
||||
$(NULSYS_LIB) : $(NULSYS_LIB_OBJS)
|
||||
lib /out:$@ $**
|
||||
|
||||
$(RUNNER_LIB) : $(RUNNER_LIB_OBJS)
|
||||
lib /out:$@ $**
|
||||
|
||||
$(TOOLS_LIB) : $(TOOLS_LIB_OBJS)
|
||||
lib /out:$@ $**
|
||||
|
||||
@@ -815,7 +799,6 @@ $(RDD_LIB)2 : $(RDD_LIB_OBJS)
|
||||
$(DBFCDX_LIB)2 : $(DBFCDX_LIB_OBJS)
|
||||
$(DBFNTX_LIB)2 : $(DBFNTX_LIB_OBJS)
|
||||
$(NULSYS_LIB)2 : $(NULSYS_LIB_OBJS)
|
||||
$(RUNNER_LIB)2 : $(RUNNER_LIB_OBJS)
|
||||
$(TOOLS_LIB)2 : $(TOOLS_LIB_OBJS)
|
||||
$(VM_LIB)2 : $(VM_LIB_OBJS)
|
||||
$(GTPCA_LIB)2 : $(GTPCA_LIB_OBJS)
|
||||
|
||||
@@ -14,6 +14,5 @@ DIRS=\
|
||||
macro \
|
||||
debug \
|
||||
tools \
|
||||
runner \
|
||||
|
||||
include $(ROOT)config/dir.cf
|
||||
|
||||
@@ -35,12 +35,13 @@ C_SOURCES=\
|
||||
fnsplit.c \
|
||||
fssize.c \
|
||||
fstemp.c \
|
||||
getenv.c \
|
||||
gete.c \
|
||||
gt.c \
|
||||
gtapi.c \
|
||||
gx.c \
|
||||
hardcr.c \
|
||||
inkey.c \
|
||||
is.c \
|
||||
isprint.c \
|
||||
langapi.c \
|
||||
left.c \
|
||||
@@ -62,6 +63,7 @@ C_SOURCES=\
|
||||
oldbox.c \
|
||||
oldclear.c \
|
||||
pad.c \
|
||||
philes.c \
|
||||
philes53.c \
|
||||
philesx.c \
|
||||
rat.c \
|
||||
@@ -83,7 +85,6 @@ C_SOURCES=\
|
||||
str.c \
|
||||
strcase.c \
|
||||
strings.c \
|
||||
stris.c \
|
||||
strmatch.c \
|
||||
strtran.c \
|
||||
strzero.c \
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* The FileSys API
|
||||
* The FileSys API (C level)
|
||||
*
|
||||
* Copyright 1999 {list of individual authors and e-mail addresses}
|
||||
* www - http://www.harbour-project.org
|
||||
@@ -43,7 +43,6 @@
|
||||
* hb_fsReadLarge()
|
||||
* hb_fsWriteLarge()
|
||||
* hb_fsCurDirBuff()
|
||||
* HB_CURDIR()
|
||||
*
|
||||
* Copyright 1999 Jose Lalin <dezac@corevia.com>
|
||||
* hb_fsChDrv()
|
||||
@@ -67,9 +66,7 @@
|
||||
#include <ctype.h>
|
||||
|
||||
#include "hbapi.h"
|
||||
#include "hbapiitm.h"
|
||||
#include "hbapifs.h"
|
||||
#include "hbapierr.h"
|
||||
|
||||
#if defined(__GNUC__) && !defined(__MINGW32__)
|
||||
#include <sys/types.h>
|
||||
@@ -1287,110 +1284,6 @@ FHANDLE hb_fsExtOpen( BYTE * pFilename, BYTE * pDefExt,
|
||||
return s_uiErrorLast;
|
||||
}
|
||||
|
||||
HARBOUR HB_FOPEN( void )
|
||||
{
|
||||
if( ISCHAR( 1 ) )
|
||||
hb_retni( hb_fsOpen( ( BYTE * ) hb_parc( 1 ),
|
||||
ISNUM( 2 ) ? hb_parni( 2 ) : FO_READ | FO_COMPAT ) );
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2021, NULL, "FOPEN" ); /* NOTE: Undocumented but existing Clipper Run-time error */
|
||||
}
|
||||
|
||||
HARBOUR HB_FCREATE( void )
|
||||
{
|
||||
if( ISCHAR( 1 ) )
|
||||
hb_retni( hb_fsCreate( ( BYTE * ) hb_parc( 1 ),
|
||||
ISNUM( 2 ) ? hb_parni( 2 ) : FC_NORMAL ) );
|
||||
else
|
||||
hb_retni( FS_ERROR );
|
||||
}
|
||||
|
||||
HARBOUR HB_FREAD( void )
|
||||
{
|
||||
ULONG ulRead;
|
||||
|
||||
if( ISNUM( 1 ) && ISCHAR( 2 ) && ISBYREF( 2 ) && ISNUM( 3 ) )
|
||||
{
|
||||
ulRead = hb_parnl( 3 );
|
||||
|
||||
/* NOTE: CA-Clipper determines the maximum size by calling _parcsiz()
|
||||
instead of _parclen(), this means that the maximum read length
|
||||
will be one more than the length of the passed buffer, because
|
||||
the terminating zero could be used if needed. [vszakats] */
|
||||
|
||||
if( ulRead <= hb_parcsiz( 2 ) )
|
||||
/* NOTE: Warning, the read buffer will be directly modified,
|
||||
this is normal here ! [vszakats] */
|
||||
ulRead = hb_fsReadLarge( hb_parni( 1 ),
|
||||
( BYTE * ) hb_parc( 2 ),
|
||||
ulRead );
|
||||
else
|
||||
ulRead = 0;
|
||||
}
|
||||
else
|
||||
ulRead = 0;
|
||||
|
||||
hb_retnl( ulRead );
|
||||
}
|
||||
|
||||
HARBOUR HB_FWRITE( void )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISCHAR( 2 ) )
|
||||
hb_retnl( hb_fsWriteLarge( hb_parni( 1 ),
|
||||
( BYTE * ) hb_parc( 2 ),
|
||||
ISNUM( 3 ) ? hb_parnl( 3 ) : hb_parclen( 2 ) ) );
|
||||
else
|
||||
hb_retnl( 0 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FERROR( void )
|
||||
{
|
||||
hb_retni( hb_fsError() );
|
||||
}
|
||||
|
||||
HARBOUR HB_FCLOSE( void )
|
||||
{
|
||||
s_uiErrorLast = 0;
|
||||
|
||||
if( ISNUM( 1 ) )
|
||||
{
|
||||
hb_fsClose( hb_parni( 1 ) );
|
||||
hb_retl( s_uiErrorLast == 0 );
|
||||
}
|
||||
else
|
||||
hb_retl( FALSE );
|
||||
}
|
||||
|
||||
HARBOUR HB_FERASE( void )
|
||||
{
|
||||
s_uiErrorLast = 3;
|
||||
|
||||
if( ISCHAR( 1 ) )
|
||||
hb_retni( hb_fsDelete( ( BYTE * ) hb_parc( 1 ) ) );
|
||||
else
|
||||
hb_retni( -1 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FRENAME( void )
|
||||
{
|
||||
s_uiErrorLast = 2;
|
||||
|
||||
if( ISCHAR( 1 ) && ISCHAR( 2 ) )
|
||||
hb_retni( hb_fsRename( ( BYTE * ) hb_parc( 1 ), ( BYTE * ) hb_parc( 2 ) ) );
|
||||
else
|
||||
hb_retni( -1 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FSEEK( void )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISNUM( 2 ) )
|
||||
hb_retnl( hb_fsSeek( hb_parni( 1 ),
|
||||
hb_parnl( 2 ),
|
||||
ISNUM( 3 ) ? hb_parni( 3 ) : FS_SET ) );
|
||||
else
|
||||
hb_retnl( 0 );
|
||||
}
|
||||
|
||||
BOOL hb_fsFile( BYTE * pFilename )
|
||||
{
|
||||
BOOL bIsFile;
|
||||
@@ -1423,53 +1316,3 @@ BOOL hb_fsFile( BYTE * pFilename )
|
||||
return bIsFile;
|
||||
}
|
||||
|
||||
HARBOUR HB_FILE( void )
|
||||
{
|
||||
hb_retl( ISCHAR( 1 ) ? hb_fsFile( ( BYTE * ) hb_parc( 1 ) ) : FALSE );
|
||||
}
|
||||
|
||||
HARBOUR HB_FREADSTR( void )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISNUM( 2 ) )
|
||||
{
|
||||
ULONG ulToRead = ( ULONG ) hb_parnl( 2 );
|
||||
|
||||
if( ulToRead > 0 )
|
||||
{
|
||||
FHANDLE fhnd = ( FHANDLE ) hb_parni( 1 );
|
||||
BYTE * buffer = ( BYTE * ) hb_xgrab( ulToRead + 1 );
|
||||
ULONG ulRead;
|
||||
|
||||
ulRead = hb_fsReadLarge( fhnd, buffer, ulToRead );
|
||||
buffer[ ulRead ] = '\0';
|
||||
|
||||
/* NOTE: Clipper will not return zero chars from this functions. */
|
||||
|
||||
hb_retc( ( char * ) buffer );
|
||||
|
||||
hb_xfree( buffer );
|
||||
}
|
||||
else
|
||||
hb_retc( "" );
|
||||
}
|
||||
else
|
||||
hb_retc( "" );
|
||||
}
|
||||
|
||||
/* NOTE: This function should not return the leading and trailing */
|
||||
/* (back)slashes. */
|
||||
|
||||
HARBOUR HB_CURDIR( void )
|
||||
{
|
||||
USHORT uiErrorOld = s_uiErrorLast;
|
||||
BYTE * pbyBuffer = ( BYTE * ) hb_xgrab( _POSIX_PATH_MAX + 1 );
|
||||
|
||||
hb_fsCurDirBuff( ( ISCHAR( 1 ) && hb_parclen( 1 ) > 0 ) ?
|
||||
( USHORT )( toupper( *hb_parc( 1 ) ) - 'A' + 1 ) : 0, pbyBuffer, _POSIX_PATH_MAX + 1 );
|
||||
|
||||
hb_retc( ( char * ) pbyBuffer );
|
||||
hb_xfree( pbyBuffer );
|
||||
|
||||
s_uiErrorLast = uiErrorOld;
|
||||
}
|
||||
|
||||
|
||||
206
harbour/source/rtl/philes.c
Normal file
206
harbour/source/rtl/philes.c
Normal file
@@ -0,0 +1,206 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* The FileSys API (Harbour level)
|
||||
*
|
||||
* Copyright 1999 {list of individual authors and e-mail addresses}
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version, with one exception:
|
||||
*
|
||||
* The exception is that if you link the Harbour Runtime Library (HRL)
|
||||
* and/or the Harbour Virtual Machine (HVM) with other files to produce
|
||||
* an executable, this does not by itself cause the resulting executable
|
||||
* to be covered by the GNU General Public License. Your use of that
|
||||
* executable is in no way restricted on account of linking the HRL
|
||||
* and/or HVM code into it.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
|
||||
* their web site at http://www.gnu.org/).
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* The following parts are Copyright of the individual authors.
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* Copyright 1999 Victor Szakats <info@szelvesz.hu>
|
||||
* HB_CURDIR()
|
||||
*
|
||||
* See doc/license.txt for licensing terms.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <ctype.h>
|
||||
|
||||
#include "hbapi.h"
|
||||
#include "hbapifs.h"
|
||||
#include "hbapierr.h"
|
||||
|
||||
HARBOUR HB_FOPEN( void )
|
||||
{
|
||||
if( ISCHAR( 1 ) )
|
||||
hb_retni( hb_fsOpen( ( BYTE * ) hb_parc( 1 ),
|
||||
ISNUM( 2 ) ? hb_parni( 2 ) : FO_READ | FO_COMPAT ) );
|
||||
else
|
||||
hb_errRT_BASE( EG_ARG, 2021, NULL, "FOPEN" ); /* NOTE: Undocumented but existing Clipper Run-time error */
|
||||
}
|
||||
|
||||
HARBOUR HB_FCREATE( void )
|
||||
{
|
||||
if( ISCHAR( 1 ) )
|
||||
hb_retni( hb_fsCreate( ( BYTE * ) hb_parc( 1 ),
|
||||
ISNUM( 2 ) ? hb_parni( 2 ) : FC_NORMAL ) );
|
||||
else
|
||||
hb_retni( FS_ERROR );
|
||||
}
|
||||
|
||||
HARBOUR HB_FREAD( void )
|
||||
{
|
||||
ULONG ulRead;
|
||||
|
||||
if( ISNUM( 1 ) && ISCHAR( 2 ) && ISBYREF( 2 ) && ISNUM( 3 ) )
|
||||
{
|
||||
ulRead = hb_parnl( 3 );
|
||||
|
||||
/* NOTE: CA-Clipper determines the maximum size by calling _parcsiz()
|
||||
instead of _parclen(), this means that the maximum read length
|
||||
will be one more than the length of the passed buffer, because
|
||||
the terminating zero could be used if needed. [vszakats] */
|
||||
|
||||
if( ulRead <= hb_parcsiz( 2 ) )
|
||||
/* NOTE: Warning, the read buffer will be directly modified,
|
||||
this is normal here ! [vszakats] */
|
||||
ulRead = hb_fsReadLarge( hb_parni( 1 ),
|
||||
( BYTE * ) hb_parc( 2 ),
|
||||
ulRead );
|
||||
else
|
||||
ulRead = 0;
|
||||
}
|
||||
else
|
||||
ulRead = 0;
|
||||
|
||||
hb_retnl( ulRead );
|
||||
}
|
||||
|
||||
HARBOUR HB_FWRITE( void )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISCHAR( 2 ) )
|
||||
hb_retnl( hb_fsWriteLarge( hb_parni( 1 ),
|
||||
( BYTE * ) hb_parc( 2 ),
|
||||
ISNUM( 3 ) ? hb_parnl( 3 ) : hb_parclen( 2 ) ) );
|
||||
else
|
||||
hb_retnl( 0 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FERROR( void )
|
||||
{
|
||||
hb_retni( hb_fsError() );
|
||||
}
|
||||
|
||||
HARBOUR HB_FCLOSE( void )
|
||||
{
|
||||
hb_fsSetError( 0 );
|
||||
|
||||
if( ISNUM( 1 ) )
|
||||
{
|
||||
hb_fsClose( hb_parni( 1 ) );
|
||||
hb_retl( hb_fsError() == 0 );
|
||||
}
|
||||
else
|
||||
hb_retl( FALSE );
|
||||
}
|
||||
|
||||
HARBOUR HB_FERASE( void )
|
||||
{
|
||||
hb_fsSetError( 3 );
|
||||
|
||||
if( ISCHAR( 1 ) )
|
||||
hb_retni( hb_fsDelete( ( BYTE * ) hb_parc( 1 ) ) );
|
||||
else
|
||||
hb_retni( -1 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FRENAME( void )
|
||||
{
|
||||
hb_fsSetError( 2 );
|
||||
|
||||
if( ISCHAR( 1 ) && ISCHAR( 2 ) )
|
||||
hb_retni( hb_fsRename( ( BYTE * ) hb_parc( 1 ), ( BYTE * ) hb_parc( 2 ) ) );
|
||||
else
|
||||
hb_retni( -1 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FSEEK( void )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISNUM( 2 ) )
|
||||
hb_retnl( hb_fsSeek( hb_parni( 1 ),
|
||||
hb_parnl( 2 ),
|
||||
ISNUM( 3 ) ? hb_parni( 3 ) : FS_SET ) );
|
||||
else
|
||||
hb_retnl( 0 );
|
||||
}
|
||||
|
||||
HARBOUR HB_FILE( void )
|
||||
{
|
||||
hb_retl( ISCHAR( 1 ) ? hb_fsFile( ( BYTE * ) hb_parc( 1 ) ) : FALSE );
|
||||
}
|
||||
|
||||
HARBOUR HB_FREADSTR( void )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISNUM( 2 ) )
|
||||
{
|
||||
ULONG ulToRead = ( ULONG ) hb_parnl( 2 );
|
||||
|
||||
if( ulToRead > 0 )
|
||||
{
|
||||
FHANDLE fhnd = ( FHANDLE ) hb_parni( 1 );
|
||||
BYTE * buffer = ( BYTE * ) hb_xgrab( ulToRead + 1 );
|
||||
ULONG ulRead;
|
||||
|
||||
ulRead = hb_fsReadLarge( fhnd, buffer, ulToRead );
|
||||
buffer[ ulRead ] = '\0';
|
||||
|
||||
/* NOTE: Clipper will not return zero chars from this functions. */
|
||||
|
||||
hb_retc( ( char * ) buffer );
|
||||
|
||||
hb_xfree( buffer );
|
||||
}
|
||||
else
|
||||
hb_retc( "" );
|
||||
}
|
||||
else
|
||||
hb_retc( "" );
|
||||
}
|
||||
|
||||
/* NOTE: This function should not return the leading and trailing */
|
||||
/* (back)slashes. [vszakats] */
|
||||
|
||||
HARBOUR HB_CURDIR( void )
|
||||
{
|
||||
USHORT uiErrorOld = hb_fsError();
|
||||
BYTE * pbyBuffer = ( BYTE * ) hb_xgrab( _POSIX_PATH_MAX + 1 );
|
||||
|
||||
hb_fsCurDirBuff( ( ISCHAR( 1 ) && hb_parclen( 1 ) > 0 ) ?
|
||||
( USHORT )( toupper( *hb_parc( 1 ) ) - 'A' + 1 ) : 0, pbyBuffer, _POSIX_PATH_MAX + 1 );
|
||||
|
||||
hb_retc( ( char * ) pbyBuffer );
|
||||
hb_xfree( pbyBuffer );
|
||||
|
||||
hb_fsSetError( uiErrorOld );
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
ROOT = ../../
|
||||
|
||||
C_SOURCES=\
|
||||
runlib.c \
|
||||
|
||||
LIBNAME=runner
|
||||
|
||||
DIRS=\
|
||||
stdalone \
|
||||
|
||||
include $(TOP)$(ROOT)config/lib.cf
|
||||
include $(TOP)$(ROOT)config/dir.cf
|
||||
@@ -24,6 +24,7 @@ C_SOURCES=\
|
||||
pcount.c \
|
||||
proc.c \
|
||||
pvalue.c \
|
||||
runner.c \
|
||||
|
||||
PRG_SOURCES=\
|
||||
harbinit.prg \
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
ROOT = ../
|
||||
|
||||
DIRS=\
|
||||
hbrun \
|
||||
hbdoc \
|
||||
hbtest \
|
||||
# hbextern \
|
||||
|
||||
@@ -6,7 +6,7 @@ ifeq ($(HB_MAIN),)
|
||||
HB_MAIN = std
|
||||
endif
|
||||
|
||||
ROOT = ../../../
|
||||
ROOT = ../../
|
||||
|
||||
PRG_SOURCES=\
|
||||
hbrun.prg \
|
||||
Reference in New Issue
Block a user