Updating hbpp.c

This commit is contained in:
Alexander S.Kresin
1999-07-16 17:06:44 +00:00
parent cc0abe85a1
commit 5eaf5ae76f
2 changed files with 229 additions and 225 deletions

View File

@@ -1,3 +1,7 @@
19990716-20:43 Alexander Kresin
* source\hbpp\hbpp.c
* Problem with C++ Builder resolved
19990716-18:10 CET Eddie Runia <eddie@runia.com>
+ tests/working/clasname.prg
Test program for clasname implemented. Warning : Just a partial
@@ -36,27 +40,27 @@
19990716-06:45 GMT+1 Ryszard Glab <rglab@imid.med.pl>
*source/compiler/harbour.y
* corrected generation of proper static frame for functions
(the values of static variables defined in different modules
are no longer overlapped)
*source/compiler/harbour.y
* corrected generation of proper static frame for functions
(the values of static variables defined in different modules
are no longer overlapped)
*tests/broken/statics1.prg
*tests/broken/statics2.prg
-moved to tests/working directory
*tests/broken/statics1.prg
*tests/broken/statics2.prg
-moved to tests/working directory
*config/dos/watcom.cf
* corrected to support HB_*_COMPILE variables
*config/dos/watcom.cf
* corrected to support HB_*_COMPILE variables
*config/global.cf
*config/rules.cf
* removed duplicated definition of HB variable
* HB_*_COMPILE variables are defined now before architecture
and compiler specific config file is included (it allows to change
these variables for specific architecture/compiler requirements)
*config/global.cf
*config/rules.cf
* removed duplicated definition of HB variable
* HB_*_COMPILE variables are defined now before architecture
and compiler specific config file is included (it allows to change
these variables for specific architecture/compiler requirements)
*doc/codebloc.txt
+ added description of an incompatibility with Clipper
*doc/codebloc.txt
+ added description of an incompatibility with Clipper
19990715-23:40 CET Eddie Runia <eddie@runia.com>
* tests/working/arrays.prg;
@@ -84,39 +88,39 @@
Thu Jul 15 17:32:29 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* config/rules.cf:
Added support for a couple of environment variables for the user
to specify additional flags for compilation. They are C_USR and
PRG_USR. An example using bash:
* config/rules.cf:
Added support for a couple of environment variables for the user
to specify additional flags for compilation. They are C_USR and
PRG_USR. An example using bash:
export C_USR='-DHARBOUR_USE_GTAPI -DHARBOUR_USE_WIN_GTAPI'
make -w
* include/hbdefs.h:
* source/rtl/gt/gtwin.c:
Modified these files to be able to compile gtwin.c with gcc. It
compiles and links, but it dumps core on execution...
export C_USR='-DHARBOUR_USE_GTAPI -DHARBOUR_USE_WIN_GTAPI'
make -w
* include/hbdefs.h:
* source/rtl/gt/gtwin.c:
Modified these files to be able to compile gtwin.c with gcc. It
compiles and links, but it dumps core on execution...
19990715-16:30 Ryszard Glab <rglab@imid.med.pl>
*source/compiler/harbour.l
* added support for
* added support for
case ::variable
while ::variable
while ::variable
* corrected line numbering in NEXT and END keywords
* changed ';' (line continuation logic)
*source/compiler/harbour.y
* corrected line numbering (opcode for line number is no longer placed
inside an expression)
*tests/working/procline.prg
* corrected line numbering
*config/linux/gcc.cf
*config/linux/gcc.cf
*config/linux/global.cf
* corrected to support the latest changes in GNU make system
19990715-09:50 CET Patrick Mast <harbour@PatrickMast.com>
*makefile.vc
* Changed output for PRG's that needed to be compiled with Harbour
@@ -197,39 +201,39 @@ Thu Jul 15 17:32:29 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
Wed Jul 14 20:02:55 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* config/bin.cf:
* config/c.cf:
* config/global.cf:
* config/header.cf:
* config/lib.cf:
* config/rules.cf:
* config/win32/bcc32.cf:
* config/win32/gcc.cf:
* config/win32/icc.cf:
* config/win32/msvc.cf:
Now there are two sets of variables to control compilation and
installation: HB_*_COMPILE points to where to get all the files
(binaries, includes, etc.); if not defined, it will pick them off
the working repository. HB_*_INSTALL points to where you want to
install the files (binaries, includes, etc.) when you issue a
"make install".
* config/bin.cf:
* config/c.cf:
* config/global.cf:
* config/header.cf:
* config/lib.cf:
* config/rules.cf:
* config/win32/bcc32.cf:
* config/win32/gcc.cf:
* config/win32/icc.cf:
* config/win32/msvc.cf:
Now there are two sets of variables to control compilation and
installation: HB_*_COMPILE points to where to get all the files
(binaries, includes, etc.); if not defined, it will pick them off
the working repository. HB_*_INSTALL points to where you want to
install the files (binaries, includes, etc.) when you issue a
"make install".
Wed Jul 14 18:20:24 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* config/global.cf:
* config/rules.cf:
* config/dos/djgpp.cf:
* config/linux/gcc.cf:
* config/win32/gcc.cf:
* config/win32/msvc.cf:
Now it is not necessary to "install" harbour anywhere.
If you do NOT define HB_BIN_DIR, HB_INC_DIR and HB_LIB_DIR, it
uses all the files (binaries, headers, libraries, etc.) right off
the working repository.
* config/global.cf:
* config/rules.cf:
* config/dos/djgpp.cf:
* config/linux/gcc.cf:
* config/win32/gcc.cf:
* config/win32/msvc.cf:
Now it is not necessary to "install" harbour anywhere.
If you do NOT define HB_BIN_DIR, HB_INC_DIR and HB_LIB_DIR, it
uses all the files (binaries, headers, libraries, etc.) right off
the working repository.
* include/Makefile:
Updated list of files.
* include/Makefile:
Updated list of files.
19990714-12:01 Alexander Kresin
* source\hbpp\hbpp.c
* source\hbpp\hbppint.c
@@ -251,164 +255,164 @@ Wed Jul 14 18:20:24 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
Tue Jul 13 14:06:03 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* include/classes.ch:
* include/compat.h:
* include/extra.h:
* include/super.h:
* source/rtl/natmsg/msgbas.c:
* source/runner/run_exp.h:
* source/runner/runner.c:
* tests/broken/clasname.prg:
* tests/broken/parexpr.prg:
* tests/broken/statics1.prg:
* tests/broken/statics2.prg:
* tests/broken/vec1.prg:
* tests/working/ainstest.prg:
* tests/working/and_or.prg:
* tests/working/array16.prg:
* tests/working/arrayidx.prg:
* tests/working/arrays.prg:
* tests/working/arrindex.prg:
* tests/working/atest.prg:
* tests/working/box.prg:
* tests/working/byref.prg:
* tests/working/calling.prg:
* tests/working/cdow.prg:
* tests/working/clasinit.prg:
* tests/working/classch.prg:
* tests/working/classes.prg:
* tests/working/clsdata.prg:
* tests/working/cmphello.prg:
* tests/working/codebl.prg:
* tests/working/codebloc.prg:
* tests/working/comments.prg:
* tests/working/copyfile.prg:
* tests/working/dates.prg:
* tests/working/dates2.prg:
* tests/working/dates3.prg:
* tests/working/debugtst.prg:
* tests/working/descend.prg:
* tests/working/dirtest.prg:
* tests/working/docase.prg:
* tests/working/dosshell.prg:
* tests/working/dupvars.prg:
* tests/working/dynobj.prg:
* tests/working/empty.prg:
* tests/working/exittest.prg:
* tests/working/extend1.prg:
* tests/working/extend2.c:
* tests/working/fib.prg:
* tests/working/fileio.prg:
* tests/working/filexist.prg:
* tests/working/fornext.prg:
* tests/working/fornext2.prg:
* tests/working/funcarr.prg:
* tests/working/guess.prg:
* tests/working/hardcr.prg:
* tests/working/hello.prg:
* tests/working/ifelse.prg:
* tests/working/ifinline.prg:
* tests/working/inherit.prg:
* tests/working/inifiles.prg:
* tests/working/initexit.prg:
* tests/working/inline.prg:
* tests/working/instr.prg:
* tests/working/iotest.prg:
* tests/working/iotest2.prg:
* tests/working/keywords.prg:
* tests/working/linecont.prg:
* tests/working/longstr.prg:
* tests/working/longstr2.prg:
* tests/working/mankala.prg:
* tests/working/mathtest.prg:
* tests/working/mtran.prg:
* tests/working/multiarg.prg:
* tests/working/nums.prg:
* tests/working/objarr.prg:
* tests/working/objasign.prg:
* tests/working/objects.prg:
* tests/working/operat.prg:
* tests/working/os.prg:
* tests/working/output.prg:
* tests/working/overload.prg:
* tests/working/passref.prg:
* tests/working/procline.prg:
* tests/working/procname.prg:
* tests/working/readhrb.prg:
* tests/working/recursiv.prg:
* tests/working/returns.prg:
* tests/working/round.prg:
* tests/working/rtfclass.prg:
* tests/working/rtl_test.prg:
* tests/working/say.prg:
* tests/working/scroll.prg:
* tests/working/seconds.prg:
* tests/working/set_num.prg:
* tests/working/set_test.prg:
* tests/working/spawn.prg:
* tests/working/spawn2.prg:
* tests/working/statfun.prg:
* tests/working/statics.prg:
* tests/working/strcmp.prg:
* tests/working/strdelim.prg:
* tests/working/strings.prg:
* tests/working/strings2.prg:
* tests/working/strings3.prg:
* tests/working/strings4.prg:
* tests/working/strip.prg:
* tests/working/syserror.prg:
* tests/working/t1.prg:
* tests/working/test.prg:
* tests/working/test10.prg:
* tests/working/test_all.prg:
* tests/working/testcgi.prg:
* tests/working/testcopy.prg:
* tests/working/testerro.prg:
* tests/working/testfor.prg:
* tests/working/testgt.prg:
* tests/working/testhbf.prg:
* tests/working/testhtml.prg:
* tests/working/testid.prg:
* tests/working/testinc.prg:
* tests/working/testmem.prg:
* tests/working/teststr.prg:
* tests/working/testtok.prg:
* tests/working/testvars.prg:
* tests/working/testwarn.prg:
* tests/working/transfrm.prg:
* tests/working/val.prg:
* tests/working/version.prg:
* tests/working/while.prg:
Added RCS Id keywords to all these files.
Got rid of a few '//' comments in C/H files.
Added include guards to a few H files.
* include/classes.ch:
* include/compat.h:
* include/extra.h:
* include/super.h:
* source/rtl/natmsg/msgbas.c:
* source/runner/run_exp.h:
* source/runner/runner.c:
* tests/broken/clasname.prg:
* tests/broken/parexpr.prg:
* tests/broken/statics1.prg:
* tests/broken/statics2.prg:
* tests/broken/vec1.prg:
* tests/working/ainstest.prg:
* tests/working/and_or.prg:
* tests/working/array16.prg:
* tests/working/arrayidx.prg:
* tests/working/arrays.prg:
* tests/working/arrindex.prg:
* tests/working/atest.prg:
* tests/working/box.prg:
* tests/working/byref.prg:
* tests/working/calling.prg:
* tests/working/cdow.prg:
* tests/working/clasinit.prg:
* tests/working/classch.prg:
* tests/working/classes.prg:
* tests/working/clsdata.prg:
* tests/working/cmphello.prg:
* tests/working/codebl.prg:
* tests/working/codebloc.prg:
* tests/working/comments.prg:
* tests/working/copyfile.prg:
* tests/working/dates.prg:
* tests/working/dates2.prg:
* tests/working/dates3.prg:
* tests/working/debugtst.prg:
* tests/working/descend.prg:
* tests/working/dirtest.prg:
* tests/working/docase.prg:
* tests/working/dosshell.prg:
* tests/working/dupvars.prg:
* tests/working/dynobj.prg:
* tests/working/empty.prg:
* tests/working/exittest.prg:
* tests/working/extend1.prg:
* tests/working/extend2.c:
* tests/working/fib.prg:
* tests/working/fileio.prg:
* tests/working/filexist.prg:
* tests/working/fornext.prg:
* tests/working/fornext2.prg:
* tests/working/funcarr.prg:
* tests/working/guess.prg:
* tests/working/hardcr.prg:
* tests/working/hello.prg:
* tests/working/ifelse.prg:
* tests/working/ifinline.prg:
* tests/working/inherit.prg:
* tests/working/inifiles.prg:
* tests/working/initexit.prg:
* tests/working/inline.prg:
* tests/working/instr.prg:
* tests/working/iotest.prg:
* tests/working/iotest2.prg:
* tests/working/keywords.prg:
* tests/working/linecont.prg:
* tests/working/longstr.prg:
* tests/working/longstr2.prg:
* tests/working/mankala.prg:
* tests/working/mathtest.prg:
* tests/working/mtran.prg:
* tests/working/multiarg.prg:
* tests/working/nums.prg:
* tests/working/objarr.prg:
* tests/working/objasign.prg:
* tests/working/objects.prg:
* tests/working/operat.prg:
* tests/working/os.prg:
* tests/working/output.prg:
* tests/working/overload.prg:
* tests/working/passref.prg:
* tests/working/procline.prg:
* tests/working/procname.prg:
* tests/working/readhrb.prg:
* tests/working/recursiv.prg:
* tests/working/returns.prg:
* tests/working/round.prg:
* tests/working/rtfclass.prg:
* tests/working/rtl_test.prg:
* tests/working/say.prg:
* tests/working/scroll.prg:
* tests/working/seconds.prg:
* tests/working/set_num.prg:
* tests/working/set_test.prg:
* tests/working/spawn.prg:
* tests/working/spawn2.prg:
* tests/working/statfun.prg:
* tests/working/statics.prg:
* tests/working/strcmp.prg:
* tests/working/strdelim.prg:
* tests/working/strings.prg:
* tests/working/strings2.prg:
* tests/working/strings3.prg:
* tests/working/strings4.prg:
* tests/working/strip.prg:
* tests/working/syserror.prg:
* tests/working/t1.prg:
* tests/working/test.prg:
* tests/working/test10.prg:
* tests/working/test_all.prg:
* tests/working/testcgi.prg:
* tests/working/testcopy.prg:
* tests/working/testerro.prg:
* tests/working/testfor.prg:
* tests/working/testgt.prg:
* tests/working/testhbf.prg:
* tests/working/testhtml.prg:
* tests/working/testid.prg:
* tests/working/testinc.prg:
* tests/working/testmem.prg:
* tests/working/teststr.prg:
* tests/working/testtok.prg:
* tests/working/testvars.prg:
* tests/working/testwarn.prg:
* tests/working/transfrm.prg:
* tests/working/val.prg:
* tests/working/version.prg:
* tests/working/while.prg:
Added RCS Id keywords to all these files.
Got rid of a few '//' comments in C/H files.
Added include guards to a few H files.
Tue Jul 13 13:44:04 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* include/Makefile:
* source/rtl/Makefile:
* tests/working/Makefile:
Updated list of files.
* source/rtl/arrays.c:
* source/rtl/classes.c:
* source/rtl/console.c:
* source/rtl/dates.c:
* source/rtl/descend.c:
* source/rtl/dir.c:
* source/rtl/environ.c:
* source/rtl/files.c:
* source/rtl/hardcr.c:
* source/rtl/math.c:
* source/rtl/mtran.c:
* source/rtl/set.c:
* source/rtl/strings.c:
* source/rtl/transfrm.c:
Protected all uses of #pragma startup so they won't trigger a
warning with gcc.
* tests/working/inifiles.prg:
Fixed a typo.
* include/Makefile:
* source/rtl/Makefile:
* tests/working/Makefile:
Updated list of files.
* source/rtl/arrays.c:
* source/rtl/classes.c:
* source/rtl/console.c:
* source/rtl/dates.c:
* source/rtl/descend.c:
* source/rtl/dir.c:
* source/rtl/environ.c:
* source/rtl/files.c:
* source/rtl/hardcr.c:
* source/rtl/math.c:
* source/rtl/mtran.c:
* source/rtl/set.c:
* source/rtl/strings.c:
* source/rtl/transfrm.c:
Protected all uses of #pragma startup so they won't trigger a
warning with gcc.
* tests/working/inifiles.prg:
Fixed a typo.
19990712-23:40 EDT David G. Holm <dholm@jsd-llc.com>
* include/hbdefs.h

View File

@@ -230,7 +230,7 @@ int ParseDirective( char* sLine )
int ParseDefine( char* sLine)
{
char defname[MAX_NAME], pars[MAX_NAME];
int i = 0, npars = -1;
int i, npars = -1;
DEFINES *lastdef;
NextName( &sLine, defname, NULL );
@@ -621,7 +621,7 @@ int ParseExpression( char* sLine, char* sOutLine )
int WorkDefine ( char** ptri, char** ptro, DEFINES *stdef, int lenToken )
{
int rezDef = 0, npars, i;
int rezDef = 0, npars;
char *ptr;
if ( stdef->npars < 0 )
{
@@ -767,7 +767,7 @@ int WorkTranslate ( char* sToken, char** ptri, char* ptro, int ndef )
int CommandStuff ( char *ptrmp, char *inputLine, char * ptro, int *lenres, int com_or_tra )
{
int nbr = 0, endTranslation = FALSE, rez;
int nbr = 0, endTranslation = FALSE;
char *lastopti[2];
char *ptri = inputLine, *ptr;
@@ -800,7 +800,7 @@ int CommandStuff ( char *ptrmp, char *inputLine, char * ptro, int *lenres, int c
}
break;
case '\1': /* Match marker */
if ( (rez = WorkMarkers( &ptrmp, &ptri, ptro, lenres, nbr )) == 0 )
if ( !WorkMarkers( &ptrmp, &ptri, ptro, lenres, nbr ) )
{
if ( nbr )
{
@@ -1204,10 +1204,10 @@ void SearnRep( char *exppatt,char *expreal,int lenreal,char *ptro, int *lenres)
{
if ( lastchar == '0' ) lastchar = *(ptrOut + ifou + 2);
if ( lastchar != *(ptrOut + ifou + 2) )
{
{
isdvig += ifou + 3;
ptrOut = ptro + isdvig;
continue;
continue;
}
}
*lenres += ReplacePattern ( exppatt[2], expreal, lenreal,
@@ -1608,7 +1608,7 @@ int NextParm ( char** sSource, char* sDest )
lenName++;
}
*sDest = '\0';
if ( sDest != NULL ) *sDest = '\0';
return lenName;
}