2009-10-07 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)

* tests/transtst.prg
  * doc/pp.txt
  * doc/en-EN/string.txt
  * doc/en-EN/terminal.txt
  * doc/en-EN/dbstrux.txt
  * include/hbpp.h
  * include/std.ch
  * include/hbclass.ch
  * include/hbsetup.ch
  * include/hbdefs.h
  * include/dbedit.ch
  * include/hbapigt.h
  * include/hbextern.ch
  * include/hbexprb.c
  * ChangeLog
  * source/pp/ppcore.c
  * source/vm/macro.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/arrays.c
  * source/vm/proc.c
  * source/vm/memvars.c
  * source/vm/arrayshb.c
  * source/vm/memvclip.c
  * source/common/hbverdsp.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/setposbs.c
  * source/rtl/round.c
  * source/rtl/oldbox.c
  * source/rtl/trim.c
  * source/rtl/tpopup.prg
  * source/rtl/einstvau.prg
  * source/rtl/setta.prg
  * source/rtl/transfrm.c
  * source/rtl/browse.prg
  * source/rtl/tget.prg
  * source/rtl/setfunc.prg
  * source/rtl/achoice.prg
  * source/rtl/strzero.c
  * source/rtl/natmsgu.c
  * source/rtl/strtran.c
  * source/rtl/errapiu.c
  * source/rtl/einstvar.prg
  * source/rtl/dbedit.prg
  * source/rtl/einstv52.prg
  * source/rtl/console.c
  * source/rtl/mousehb.c
  * source/rtl/chrasc.c
  * source/rtl/dircmd.prg
  * source/rtl/oldclear.c
  * source/rtl/hbgtcore.c
  * source/rtl/dirdrive.c
  * source/rtl/mlcfunc.c
  * source/rtl/datesx.c
  * source/rtl/accept.c
  * source/rtl/defpathu.c
  * source/rtl/tgetlist.prg
  * source/rtl/input.prg
  * source/rtl/alert.prg
  * source/rtl/tmenuitm.prg
  * source/rtl/shadowu.c
  * source/rtl/tbrowse.prg
  * source/rdd/dbfntx/dbfntx1.c
  * source/rdd/dbdelim.prg
  * source/rdd/rddordu.prg
  * source/rdd/workarea.c
  * source/rdd/dbnubs.c
  * source/rdd/rddinfo.c
  * source/rdd/dbstruxu.prg
  * source/rdd/sdf1.c
  * source/rdd/dbfnsx/dbfnsx1.c
  * source/rdd/dbcmd.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbdrop.c
  * source/rdd/delim1.c
  * source/rdd/dbf1.c
  * source/rdd/dbrename.c
  * source/rdd/dbexists.c
  * source/rdd/fieldhb.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/cursor.c
  * contrib/xhb/xhbver.prg
  * contrib/xhb/xhbtrim.c
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_array.prg
  * examples/hbdoc/examples/core_es/dbstrux.txt
  *  examples/hbdoc2/hbdoc2.prg
    * HB_C52_STRICT -> HB_CLP_STRICT
      We use it cover strict Clipper compatibility in general, not 
      just for C5.2.
    * HB_C52_UNDOC -> HB_CLP_UNDOC
      We use it cover Clipper undocumented stuff in general, not 
      just C5.2 version specific ones.
This commit is contained in:
Viktor Szakats
2009-10-07 09:35:33 +00:00
parent 754c315529
commit 8e15abc1bd
91 changed files with 275 additions and 176 deletions

View File

@@ -17,6 +17,105 @@
past entries belonging to author(s): Viktor Szakats.
*/
2009-10-07 11:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/transtst.prg
* doc/pp.txt
* doc/en-EN/string.txt
* doc/en-EN/terminal.txt
* doc/en-EN/dbstrux.txt
* include/hbpp.h
* include/std.ch
* include/hbclass.ch
* include/hbsetup.ch
* include/hbdefs.h
* include/dbedit.ch
* include/hbapigt.h
* include/hbextern.ch
* include/hbexprb.c
* ChangeLog
* source/pp/ppcore.c
* source/vm/macro.c
* source/vm/hvm.c
* source/vm/cmdarg.c
* source/vm/arrays.c
* source/vm/proc.c
* source/vm/memvars.c
* source/vm/arrayshb.c
* source/vm/memvclip.c
* source/common/hbverdsp.c
* source/common/hbstr.c
* source/common/hbdate.c
* source/rtl/setposbs.c
* source/rtl/round.c
* source/rtl/oldbox.c
* source/rtl/trim.c
* source/rtl/tpopup.prg
* source/rtl/einstvau.prg
* source/rtl/setta.prg
* source/rtl/transfrm.c
* source/rtl/browse.prg
* source/rtl/tget.prg
* source/rtl/setfunc.prg
* source/rtl/achoice.prg
* source/rtl/strzero.c
* source/rtl/natmsgu.c
* source/rtl/strtran.c
* source/rtl/errapiu.c
* source/rtl/einstvar.prg
* source/rtl/dbedit.prg
* source/rtl/einstv52.prg
* source/rtl/console.c
* source/rtl/mousehb.c
* source/rtl/chrasc.c
* source/rtl/dircmd.prg
* source/rtl/oldclear.c
* source/rtl/hbgtcore.c
* source/rtl/dirdrive.c
* source/rtl/mlcfunc.c
* source/rtl/datesx.c
* source/rtl/accept.c
* source/rtl/defpathu.c
* source/rtl/tgetlist.prg
* source/rtl/input.prg
* source/rtl/alert.prg
* source/rtl/tmenuitm.prg
* source/rtl/shadowu.c
* source/rtl/tbrowse.prg
* source/rdd/dbfntx/dbfntx1.c
* source/rdd/dbdelim.prg
* source/rdd/rddordu.prg
* source/rdd/workarea.c
* source/rdd/dbnubs.c
* source/rdd/rddinfo.c
* source/rdd/dbstruxu.prg
* source/rdd/sdf1.c
* source/rdd/dbfnsx/dbfnsx1.c
* source/rdd/dbcmd.c
* source/rdd/dbfcdx/dbfcdx1.c
* source/rdd/dbdrop.c
* source/rdd/delim1.c
* source/rdd/dbf1.c
* source/rdd/dbrename.c
* source/rdd/dbexists.c
* source/rdd/fieldhb.c
* contrib/hbct/ctwin.c
* contrib/hbct/cursor.c
* contrib/xhb/xhbver.prg
* contrib/xhb/xhbtrim.c
* utils/hbtest/rt_main.ch
* utils/hbtest/rt_trans.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_array.prg
* examples/hbdoc/examples/core_es/dbstrux.txt
* examples/hbdoc2/hbdoc2.prg
* HB_C52_STRICT -> HB_CLP_STRICT
We use it cover strict Clipper compatibility in general, not
just for C5.2.
* HB_C52_UNDOC -> HB_CLP_UNDOC
We use it cover Clipper undocumented stuff in general, not
just C5.2 version specific ones.
2009-10-07 11:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtwvt/gtwvt.c
* check if startup (default or user (SetMode())) console window dimensions

View File

@@ -75,7 +75,7 @@ static int s_GtId;
#define HB_CTWIN_ALLOC 16
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
#define HB_CTWIN_MINROWS 1
#define HB_CTWIN_MINCOLS 1
#define HB_CTWIN_MAXROWS 255
@@ -337,7 +337,7 @@ static int hb_ctw_SetWindowBoard( PHB_GTCTW pCTW, int iTop, int iLeft, int iBott
{
HB_TRACE(HB_TR_DEBUG, ("hb_ctw_SetWindowBoard(%p,%d,%d,%d,%d)", pCTW, iTop, iLeft, iBottom, iRight));
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/*
* This limitation is only for strict CT3 compatibility, the CTW GTs
* can work in practice with any virtual board size and position and
@@ -634,7 +634,7 @@ static int hb_ctw_CreateWindow( PHB_GTCTW pCTW, int iTop, int iLeft, int iBottom
if( iWidth > pCTW->iBoardRight - pCTW->iBoardLeft + 1 )
iWidth = pCTW->iBoardRight - pCTW->iBoardLeft + 1;
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( iHeight < HB_CTWIN_MINROWS || iWidth < HB_CTWIN_MINCOLS ||
iHeight > HB_CTWIN_MAXROWS || iWidth > HB_CTWIN_MAXCOLS )
return -1;

View File

@@ -63,7 +63,7 @@ HB_FUNC( SAVECURSOR )
hb_gtGetPos( &iRow, &iCol );
hb_gtGetCursor( &iCursor );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
iCursor = ( iCursor != 0 );
#endif
hb_retnl( ( long ) iCol | ( iRow << 8 ) | ( iCursor << 16 ) );
@@ -75,7 +75,7 @@ HB_FUNC( RESTCURSOR )
long lCursor = hb_parnl( 1 );
hb_gtSetPos( ( int ) ( ( lCursor >> 8 ) & 0xFF ), ( int ) ( lCursor & 0xFF ) );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_gtSetCursor( ( int ) ( ( lCursor >> 16 ) & 0x01 ) );
#else
hb_gtSetCursor( ( int ) ( ( lCursor >> 16 ) & 0xFF ) );

View File

@@ -111,7 +111,7 @@ HB_FUNC( XHB_ALLTRIM )
else
#ifdef HB_COMPAT_C53
/* NOTE: This runtime error appeared in CA-Cl*pper 5.3 [vszakats] */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE_SubstR( EG_ARG, 2022, NULL, "ALLTRIM", 0 );
#else
hb_errRT_BASE_SubstR( EG_ARG, 2022, NULL, "ALLTRIM", HB_ERR_ARGS_BASEPARAMS );

View File

@@ -74,12 +74,12 @@ FUNCTION hb_buildinfo( n )
v[ _HB_VER_L_USR ] := hb_Version( HB_VERSION_FLAG_LINKER )
v[ _HB_VER_PRG_USR ] := hb_Version( HB_VERSION_FLAG_PRG )
v[ _HB_EXTENSION ] := .F.
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
v[ _HB_C52_UNDOC ] := .T.
#else
v[ _HB_C52_UNDOC ] := .F.
#endif
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
v[ _HB_C52_STRICT ] := .T.
#else
v[ _HB_C52_STRICT ] := .F.

View File

@@ -615,7 +615,7 @@
* function to use.
*
* This function is only visible if source/rdd/dbstrux.prg was compiled
* with the HB_C52_UNDOC flag.
* with the HB_CLP_UNDOC flag.
* $PLATFORMS$
* All
* $FILES$

View File

@@ -241,11 +241,11 @@
* $STATUS$
* R
* $COMPLIANCE$
* This function is sensitive to HB_C52_STRICT settings during the
* This function is sensitive to HB_CLP_STRICT settings during the
* compilation of source/rtl/at.c
*
* <nStart> and <nEnd> are Harbour extensions and do not exist if
* HB_C52_STRICT is defined. In that case, the whole string is searched.
* HB_CLP_STRICT is defined. In that case, the whole string is searched.
* $PLATFORMS$
* All
* $FILES$

View File

@@ -238,7 +238,7 @@
*
* The return value is NIL
* if ALERT() is called with no parameters, or if <xMessage> type is
* not Character and HB_C52_STRICT option was used. If <nDelay> seconds
* not Character and HB_CLP_STRICT option was used. If <nDelay> seconds
* had passed without user response, the return value is 1.
* $DESCRIPTION$
* ALERT() display simple dialog box on screen and let the user select
@@ -279,7 +279,7 @@
* $STATUS$
* R
* $COMPLIANCE$
* This function is sensitive to HB_C52_STRICT settings during the
* This function is sensitive to HB_CLP_STRICT settings during the
* compilation of source/rtl/alert.prg
*
* <b>defined</b>: <xMessage> accept Character values only and return
@@ -298,7 +298,7 @@
* an option.
*
* The interpretation of the //NOALERT command line switch is done only
* if HB_C52_UNDOC was define during compilation of source/rtl/alert.prg
* if HB_CLP_UNDOC was define during compilation of source/rtl/alert.prg
*
* <cColorNorm> is a Harbour extension, or at least un-documented
* in Clipper 5.2 NG.
@@ -693,7 +693,7 @@
* OUTERR() to output to the same file handle as OUTSTD(), //STDERR:n
* set output to file handle n. Like other undocumented features this
* switch is available only if source/rtl/console.c was compiled with
* the HB_C52_UNDOC flag.
* the HB_CLP_UNDOC flag.
* $EXAMPLES$
* // write error log information
* OUTERR( DATE(), TIME(), "Core meltdown detected" )

View File

@@ -668,7 +668,7 @@ making in last days.
-----------------------------------------------------------------------------
Other things you can see in the new PP code. I was adding comments or
using HB_C52_STRICT macro to mark the most important things. In few places
using HB_CLP_STRICT macro to mark the most important things. In few places
I had to break Clipper compatibility to keep FLEX working. Just simply
I cannot generate preprocessed line in exactly the same form as Clipper
does because FLEX or SIMPLEX will not be able to decode it.

View File

@@ -645,7 +645,7 @@
* y por tanto la segunda es la funci¢n recomendada.
*
* Esta funci¢n es s¢lo visible si ../source/rdd/dbstrux.prg fu
* compilado con la bandera HB_C52_UNDOC.
* compilado con la bandera HB_CLP_UNDOC.
* $PLATFORMS$
* Todas
* $FILES$

View File

@@ -878,8 +878,8 @@ FUNCTION Decode( cType, hsBlock, cKey )
CASE cCode == "C" ; RETURN "This is CA-Cl*pper v5.2 compliant"
CASE cCode == "C(array)" ; RETURN "This is CA-Cl*pper v5.2 compliant except that arrays in Harbour can have an unlimited number of elements"
CASE cCode == "C(menu)" ; RETURN "This is CA-Cl*pper v5.2 compliant except that menus (internally arrays) in Harbour can have an unlimited number of elements"
CASE cCode == "C52U" ; RETURN "This is an undocumented CA-Cl*pper v5.2 function and is only visible if source was compiled with the HB_C52_UNDOC flag"
CASE cCode == "C52S" ; RETURN "? verbage: This is an CA-Cl*pper v5.2 compliant and is only visible if source was compiled with the HB_C52_STRICT flag"
CASE cCode == "C52U" ; RETURN "This is an undocumented CA-Cl*pper v5.2 function and is only visible if source was compiled with the HB_CLP_UNDOC flag"
CASE cCode == "C52S" ; RETURN "? verbage: This is an CA-Cl*pper v5.2 compliant and is only visible if source was compiled with the HB_CLP_STRICT flag"
CASE cCode == "C53" ; RETURN "This is CA-Cl*pper v5.3 compliant and is only visible if source was compiled with the HB_COMPAT_C53 flag"
CASE cCode == "FS" ; RETURN "This a Flagship compatibility function and is only visible if source was compiled with the HB_COMPAT_FLAGSHIP flag"
CASE cCode == "H" ; RETURN "This is Harbour specific"

View File

@@ -64,7 +64,7 @@
#define DE_ABORT 0 /* Abort DBEDIT() */
#define DE_CONT 1 /* Continue DBEDIT() */
#define DE_REFRESH 2 /* Force reread/redisplay of all data rows */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
#define DE_APPEND 3 /* Undocumented CA-Cl*pper append mode in DBEdit */
#endif

View File

@@ -123,7 +123,7 @@ HB_EXTERN_BEGIN
#define HB_B_DOUBLE_V '\xBA'
#define HB_B_DOUBLE_H '\xCD'
#if defined( HB_COMPAT_C53 ) && !defined( HB_C52_STRICT )
#if defined( HB_COMPAT_C53 ) && !defined( HB_CLP_STRICT )
# define HB_DEFAULT_INKEY_BUFSIZE 50
#else
# define HB_DEFAULT_INKEY_BUFSIZE 15

View File

@@ -138,7 +138,7 @@
/* Disable method decoration when Harbour compiled strict compatibility mode.
In strict mode, PP doesn't support identifier concatenation, which
would be needed for method decoration. */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
#ifndef HB_CLS_NO_DECORATION
#define HB_CLS_NO_DECORATION
#endif

View File

@@ -618,7 +618,7 @@ typedef unsigned long HB_COUNTER;
/* This value is used to hack the double FL value in round/int
operation - similar thing is done by CL5.3 - I do not know
only the exact factor value but it should be close to this one.
When HB_C52_STRICT is set this macro is not used.
When HB_CLP_STRICT is set this macro is not used.
*/
#define HB_DBLFL_PREC_FACTOR 1.0000000000000002;

View File

@@ -957,7 +957,7 @@ static HB_EXPR_FUNC( hb_compExprUseIIF )
case HB_EA_PUSH_POP:
case HB_EA_STATEMENT:
{
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
HB_GEN_FUNC1( PCode1, HB_P_POP ); /* remove a value if used in statement */
#else

View File

@@ -334,7 +334,7 @@ EXTERNAL YEAR
/* Harbour extensions violating extension namespace rules.
See reasons in source. */
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
EXTERNAL RDDINFO
EXTERNAL DBDROP
EXTERNAL DBEXISTS
@@ -604,7 +604,7 @@ EXTERNAL RDDSYS
/* CA-Cl*pper 5.2 compatible undocumented functions */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
EXTERNAL __ACCEPTSTR
EXTERNAL __ATCLEAR
@@ -654,7 +654,7 @@ EXTERNAL SETTYPEAHEAD
EXTERNAL ERRORINHAN
EXTERNAL ERRORINHANDLER
#endif /* HB_C52_UNDOC */
#endif /* HB_CLP_UNDOC */
/* CA-Cl*pper 5.3 compatible functions */
@@ -664,7 +664,7 @@ EXTERNAL __CAPTION
EXTERNAL __GUICOLOR
EXTERNAL __CAPLENGTH
EXTERNAL __CAPMETRICS
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
EXTERNAL __MICOLUMN
EXTERNAL __MIROW
#endif

View File

@@ -234,7 +234,7 @@ typedef HB_PP_SWITCH_FUNC * PHB_PP_SWITCH_FUNC;
#define HB_PP_TOKEN_ISEOC(t) ( HB_PP_TOKEN_ISEOL(t) || \
HB_PP_TOKEN_TYPE((t)->type) == HB_PP_TOKEN_EOC )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
# define HB_PP_TOKEN_ISEOS(t) HB_PP_TOKEN_ISEOL(t)
# define HB_PP_TOKEN_ISEOP(t,l) HB_PP_TOKEN_ISEOL(t)
#else
@@ -302,7 +302,7 @@ typedef HB_PP_SWITCH_FUNC * PHB_PP_SWITCH_FUNC;
with a code example so I'll be able if it should be implemented or not.
Now I simply disabled HB_PP_TOKEN_NEEDRIGHT() macro.
*/
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
#define HB_PP_TOKEN_NEEDRIGHT(t) ( FALSE )
#else
#define HB_PP_TOKEN_NEEDRIGHT(t) ( HB_PP_TOKEN_TYPE(t) == HB_PP_TOKEN_PLUS || \
@@ -313,7 +313,7 @@ typedef HB_PP_SWITCH_FUNC * PHB_PP_SWITCH_FUNC;
HB_PP_TOKEN_TYPE(t) == HB_PP_TOKEN_POWER )
#endif
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
# define HB_PP_TOKEN_ISUNARY(t) ( HB_PP_TOKEN_TYPE(t) == HB_PP_TOKEN_MINUS || \
HB_PP_TOKEN_TYPE(t) == HB_PP_TOKEN_DEC || \
HB_PP_TOKEN_TYPE(t) == HB_PP_TOKEN_INC || \
@@ -351,7 +351,7 @@ typedef HB_PP_SWITCH_FUNC * PHB_PP_SWITCH_FUNC;
( (t)->pNext && HB_PP_TOKEN_ISUNARY( (t)->type ) && \
HB_PP_TOKEN_ISEXPVAL( (t)->pNext->type ) ) )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* Clipper supports quoting by [] for 1-st token in the line so we
are not checking for HB_PP_TOKEN_NUL in this macro */
#define HB_PP_TOKEN_CANQUOTE(t) ( HB_PP_TOKEN_TYPE(t) != HB_PP_TOKEN_KEYWORD && \
@@ -437,7 +437,7 @@ HB_PP_TOKEN, * PHB_PP_TOKEN;
/* For platforms which does not use ASCII based character tables this macros
have to be changed to use valid C functions, f.e.:
isalpha(), isdigit(), ... */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
# define HB_PP_ISILLEGAL(c) ( (c) < 32 || (c) >= 126 )
#else
# define HB_PP_ISILLEGAL(c) ( (c) < 32 || (c) == 127 )

View File

@@ -59,8 +59,8 @@
/* NOTE: You can select here, which features you want to include of the
different Clipper implementations. */
/* #define HB_C52_STRICT */ /* Enable Cl*pper 5.2e/5.3x strict compatibility */
#define HB_C52_UNDOC /* Enable Cl*pper 5.2e/5.3x undocumented features */
/* #define HB_CLP_STRICT */ /* Enable Cl*pper 5.2e/5.3x strict compatibility */
#define HB_CLP_UNDOC /* Enable Cl*pper 5.2e/5.3x undocumented features */
#define HB_COMPAT_C53 /* Enable Cl*pper 5.3x extensions */
#define HB_COMPAT_XPP /* Enable Xbase++ extensions */
#define HB_COMPAT_FLAGSHIP /* Enable Flagship extensions */

View File

@@ -60,7 +60,7 @@
It can be used in codeblocks, too. */
#define HB_SYMBOL_UNUSED( symbol ) ( ( symbol ) )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
#command END SEQUENCE => end
#command ENDSEQUENCE => end
#else

View File

@@ -93,7 +93,7 @@
#endif
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
#define HB_DATE_YEAR_LIMIT 2999
#else
#define HB_DATE_YEAR_LIMIT 9999
@@ -297,7 +297,7 @@ void hb_dateStrGet( const char * szDate, int * piYear, int * piMonth, int * piDa
{
HB_TRACE(HB_TR_DEBUG, ("hb_dateStrGet(%s, %p, %p, %p)", szDate, piYear, piMonth, piDay));
#if defined( HB_C52_STRICT ) || 1
#if defined( HB_CLP_STRICT ) || 1
if( szDate )
#else
if( szDate &&

View File

@@ -489,7 +489,7 @@ double hb_numRound( double dNum, int iDec )
doComplete5 /= doBase;
#if defined( HB_DBLFL_PREC_FACTOR ) && !defined( HB_C52_STRICT )
#if defined( HB_DBLFL_PREC_FACTOR ) && !defined( HB_CLP_STRICT )
/* similar operation is done by Cl5.3
it's a hack to force rounding FL values UP */
doComplete5 *= HB_DBLFL_PREC_FACTOR;
@@ -516,7 +516,7 @@ double hb_numInt( double dNum )
{
double dInt;
#if defined( HB_DBLFL_PREC_FACTOR ) && !defined( HB_C52_STRICT )
#if defined( HB_DBLFL_PREC_FACTOR ) && !defined( HB_CLP_STRICT )
/* Similar hack as in round to make this functions compatible */
dNum *= HB_DBLFL_PREC_FACTOR;
#endif

View File

@@ -157,10 +157,10 @@ void hb_verBuildInfo( void )
#if defined( HB_COMPAT_C53 )
hb_conOutErr( "(Clipper 5.3) ", 0 );
#endif
#if defined( HB_C52_UNDOC )
#if defined( HB_CLP_UNDOC )
hb_conOutErr( "(Clipper 5.x undoc) ", 0 );
#endif
#if defined( HB_C52_STRICT )
#if defined( HB_CLP_STRICT )
hb_conOutErr( "(Clipper 5.x strict) ", 0 );
#endif
#if defined( HB_COMPAT_XPP )

View File

@@ -51,7 +51,7 @@
*/
/* #define HB_PP_MULTILINE_STRING */
/* #define HB_C52_STRICT */
/* #define HB_CLP_STRICT */
/* #define HB_PP_NO_LINEINFO_TOKEN */
/* #define HB_PP_STRICT_LINEINFO_TOKEN */
@@ -158,7 +158,7 @@ static const HB_PP_OPERATOR s_operators[] =
{ ".NOT.", 5, "!" , HB_PP_TOKEN_NOT | HB_PP_TOKEN_STATIC },
{ ".AND.", 5, ".AND.", HB_PP_TOKEN_AND | HB_PP_TOKEN_STATIC },
{ ".OR." , 4, ".OR." , HB_PP_TOKEN_OR | HB_PP_TOKEN_STATIC },
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
{ "..." , 3, "..." , HB_PP_TOKEN_EPSILON | HB_PP_TOKEN_STATIC },
#endif
{ "**=" , 3, "^=" , HB_PP_TOKEN_EXPEQ | HB_PP_TOKEN_STATIC },
@@ -440,7 +440,7 @@ static PHB_PP_TOKEN hb_pp_tokenResultEnd( PHB_PP_TOKEN * pTokenPtr, BOOL fDirect
{
PHB_PP_TOKEN pNext = NULL;
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
HB_SYMBOL_UNUSED( fDirect );
#endif
@@ -595,7 +595,7 @@ static void hb_pp_tokenAddNext( PHB_PP_STATE pState, const char * value, ULONG u
}
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
if( pState->iSpacesMin != 0 && pState->iSpaces == 0 &&
HB_PP_TOKEN_TYPE( type ) == HB_PP_TOKEN_KEYWORD )
pState->iSpaces = pState->iSpacesMin;
@@ -1088,7 +1088,7 @@ static void hb_pp_getLine( PHB_PP_STATE pState )
ul = ulLen; /* hb_strRemEscSeq() above could change ul */
}
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else if( ( ( ch == 'e' || ch == 'E' ) && ulLen > 1 &&
pBuffer[ 1 ] == '"' ) || ( ch == '"' && pState->fEscStr ) )
{
@@ -1241,7 +1241,7 @@ static void hb_pp_getLine( PHB_PP_STATE pState )
}
else if( ch == '/' && ulLen > 1 && pBuffer[ 1 ] == '*' )
{
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* In Clipper multiline comments used after ';' flushes
the EOC token what causes that ';' is always command
separator and cannot be used as line concatenator just
@@ -1283,7 +1283,7 @@ static void hb_pp_getLine( PHB_PP_STATE pState )
* statement separator ';' it does not work like a single line
* comment.
*/
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( pState->pFile->iTokens == 0 &&
#else
if( pState->fNewStatement &&
@@ -3170,7 +3170,7 @@ static void hb_pp_directiveNew( PHB_PP_STATE pState, PHB_PP_TOKEN pToken,
PHB_PP_TOKEN pResult, pMatch, pStart, pLast;
BOOL fValid = FALSE;
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
HB_SYMBOL_UNUSED( fDirect );
#endif
@@ -3289,7 +3289,7 @@ static void hb_pp_directiveNew( PHB_PP_STATE pState, PHB_PP_TOKEN pToken,
( * pOptStart )->pMTokens = ( * pOptStart )->pNext;
( * pOptStart )->pNext = pLast->pNext;
HB_PP_TOKEN_SETTYPE( * pOptStart, HB_PP_RMARKER_OPTIONAL );
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* This is not Clipper compatible but we have word
concatenation and without this modification we
will introduce very serious bug */
@@ -4917,7 +4917,7 @@ static void hb_pp_preprocessToken( PHB_PP_STATE pState )
{
fError = TRUE;
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* Harbour PP extension */
else if( fDirect && pState->pFile->iCurrentLine == 1 &&
HB_PP_TOKEN_TYPE( pToken->type ) == HB_PP_TOKEN_NOT &&
@@ -4942,7 +4942,7 @@ static void hb_pp_preprocessToken( PHB_PP_STATE pState )
{
hb_pp_condCompile( pState, pToken->pNext, FALSE );
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* xHarbour PP extension */
else if( hb_pp_tokenValueCmp( pToken, "IF", HB_PP_CMP_DBASE ) )
{
@@ -5040,7 +5040,7 @@ static void hb_pp_preprocessToken( PHB_PP_STATE pState )
{
hb_pp_directiveNew( pState, pToken, HB_PP_CMP_STD, FALSE, fDirect, FALSE );
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else if( hb_pp_tokenValueCmp( pToken, "YTRANSLATE", HB_PP_CMP_DBASE ) )
{
hb_pp_directiveNew( pState, pToken, HB_PP_CMP_CASE, FALSE, fDirect, FALSE );
@@ -5054,7 +5054,7 @@ static void hb_pp_preprocessToken( PHB_PP_STATE pState )
{
hb_pp_directiveNew( pState, pToken, HB_PP_CMP_STD, TRUE, fDirect, FALSE );
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else if( hb_pp_tokenValueCmp( pToken, "YCOMMAND", HB_PP_CMP_DBASE ) )
{
hb_pp_directiveNew( pState, pToken, HB_PP_CMP_CASE, TRUE, fDirect, FALSE );
@@ -5115,7 +5115,7 @@ static void hb_pp_preprocessToken( PHB_PP_STATE pState )
fDirective = TRUE;
break;
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* Harbour extension: concatenate keywords without spaces between
them */
hb_pp_concatenateKeywords( pState, &pState->pFile->pTokenList );

View File

@@ -365,7 +365,7 @@ HB_FUNC( DBCREATE )
* level, [druzus]
*/
if( !pStruct ||
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_arrayLen( pStruct ) == 0 ||
#endif
!szFileName )
@@ -422,7 +422,7 @@ HB_FUNC( HB_DBCREATETEMP )
* level, [druzus]
*/
if( !szAlias || !pStruct
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
|| hb_arrayLen( pStruct ) == 0
#endif
)
@@ -1645,7 +1645,7 @@ HB_FUNC( SELECT )
if( szAlias )
{
#if defined( HB_C52_STRICT ) || 1
#if defined( HB_CLP_STRICT ) || 1
/*
* I do not like this Clipper behavior, in some constructions
* programmer may use "<aliasNum>" in some others not. [Druzus]

View File

@@ -60,7 +60,7 @@ REQUEST DELIM
FUNCTION __dbDelim( lExport, cFile, cDelimArg, aFields, bFor, bWhile, nNext, nRecord, lRest, cCodePage )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
LOCAL nSrcArea
LOCAL nDstArea

View File

@@ -53,7 +53,7 @@
#include "hbapi.h"
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* NOTE: This function is a new Harbour function implemented in the
original CA-Cl*pper namespace. This should have been

View File

@@ -53,7 +53,7 @@
#include "hbapi.h"
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* NOTE: This function is a new Harbour function implemented in the
original CA-Cl*pper namespace. This should have been

View File

@@ -2600,7 +2600,7 @@ static HB_ERRCODE hb_dbfRecId( DBFAREAP pArea, PHB_ITEM pRecNo )
errCode = SELF_RECNO( ( AREAP ) pArea, &ulRecNo );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* this is for strict Clipper compatibility but IMHO Clipper should not
do that and always set fixed size independent to the record number */
if( ulRecNo < 10000000 )
@@ -3902,7 +3902,7 @@ static HB_ERRCODE hb_dbfOpen( DBFAREAP pArea, LPDBOPENINFO pOpenInfo )
}
/* CL5.3 allow to create and open DBFs without fields */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( uiFields == 0 )
{
errCode = HB_FAILURE;

View File

@@ -7493,7 +7493,7 @@ static HB_ERRCODE hb_cdxOrderCreate( CDXAREAP pArea, LPDBORDERCREATEINFO pOrderI
break;
case 'C':
uiLen = ( USHORT ) hb_itemGetCLen( pResult );
#if !( defined( HB_COMPAT_C53 ) && defined( HB_C52_STRICT ) )
#if !( defined( HB_COMPAT_C53 ) && defined( HB_CLP_STRICT ) )
if( uiLen > CDX_MAXKEY )
uiLen = CDX_MAXKEY;
#endif
@@ -7512,7 +7512,7 @@ static HB_ERRCODE hb_cdxOrderCreate( CDXAREAP pArea, LPDBORDERCREATEINFO pOrderI
hb_cdxErrorRT( pArea, bType == 'U' ? EG_DATATYPE : EG_DATAWIDTH, EDBF_INVALIDKEY, NULL, 0, 0, NULL );
return HB_FAILURE;
}
#if defined( HB_COMPAT_C53 ) && defined( HB_C52_STRICT )
#if defined( HB_COMPAT_C53 ) && defined( HB_CLP_STRICT )
else if( bType == 'C' && uiLen > CDX_MAXKEY )
{
if( hb_cdxErrorRT( pArea, EG_DATAWIDTH, EDBF_INVALIDKEY, NULL, 0, EF_CANDEFAULT, NULL ) == E_DEFAULT )

View File

@@ -7915,7 +7915,7 @@ static HB_ERRCODE hb_nsxOrderListFocus( NSXAREAP pArea, LPDBORDERINFO pOrderInfo
* I'd like to keep the same behavior in all native [x]Harbour
* RDDs and I chosen DBFCDX one as default. [druzus]
*/
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
LPTAGINFO pTag = hb_nsxFindTag( pArea, pOrderInfo->itmOrder,
pOrderInfo->atomBagName );
if( pTag )

View File

@@ -7545,7 +7545,7 @@ static HB_ERRCODE hb_ntxOrderListFocus( NTXAREAP pArea, LPDBORDERINFO pOrderInfo
* but not in DBFCDX. I'd like to keep the same behavior in
* [x]Harbour RDDs and I chosen DBFCDX one as default. [druzus]
*/
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
LPTAGINFO pTag = hb_ntxFindTag( pArea, pOrderInfo->itmOrder,
pOrderInfo->atomBagName );
if( pTag )

View File

@@ -52,7 +52,7 @@
#include "hbdefs.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC_EXTERN( DBSEEK );
HB_FUNC_EXTERN( DBSKIP );

View File

@@ -52,7 +52,7 @@
#include "hbapi.h"
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* NOTE: This function is a new Harbour function implemented in the
original CA-Cl*pper namespace. This should have been

View File

@@ -54,7 +54,7 @@
/* NOTE: Undocumented, internal Clipper function */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
FUNCTION __FLEDIT( aStruct, aFieldList )
RETURN __dbStructFilter( aStruct, aFieldList )

View File

@@ -482,7 +482,7 @@ static HB_ERRCODE hb_delimRecId( DELIMAREAP pArea, PHB_ITEM pRecNo )
errCode = SELF_RECNO( ( AREAP ) pArea, &ulRecNo );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* this is for strict Clipper compatibility but IMHO Clipper should not
do that and always set fixed size independent to the record number */
if( ulRecNo < 10000000 )
@@ -932,7 +932,7 @@ static HB_ERRCODE hb_delimInfo( DELIMAREAP pArea, USHORT uiIndex, PHB_ITEM pItem
pArea->cDelim = '\0';
pArea->cSeparator = ' ';
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else if( hb_stricmp( szDelim, "PIPE" ) == 0 )
{
pArea->cDelim = '\0';
@@ -957,7 +957,7 @@ static HB_ERRCODE hb_delimInfo( DELIMAREAP pArea, USHORT uiIndex, PHB_ITEM pItem
* array. F.e.:
* COPY TO test DELIMITED WITH ({"","|"})
*/
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else if( hb_itemType( pItem ) & HB_IT_ARRAY )
{
char cSeparator;

View File

@@ -53,7 +53,7 @@
#include "hbapi.h"
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* NOTE: These functions are a new Harbour functions implemented in the
original CA-Cl*pper namespace. These should have been marked as

View File

@@ -53,7 +53,7 @@
#include "hbapi.h"
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
HB_FUNC_EXTERN( HB_RDDINFO );

View File

@@ -54,7 +54,7 @@
/* NOTE: Undocumented Clipper function */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
FUNCTION _dtxCondSet( cFor, bFor, lAll, bWhile, bEval, nEvery, xDummy, nRecNo, nNext, nRecord, lRest )

View File

@@ -305,7 +305,7 @@ static HB_ERRCODE hb_sdfRecId( SDFAREAP pArea, PHB_ITEM pRecNo )
errCode = SELF_RECNO( ( AREAP ) pArea, &ulRecNo );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* this is for strict Clipper compatibility but IMHO Clipper should not
do that and always set fixed size independent to the record number */
if( ulRecNo < 10000000 )

View File

@@ -312,7 +312,7 @@ static HB_ERRCODE hb_waCreateFields( AREAP pArea, PHB_ITEM pStruct )
pFieldInfo.uiLen = uiLen;
/* Too many people reported the behavior with code below as a
Clipper compatibility bug so I commented this code. Druzus.
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
pFieldInfo.uiLen = uiLen;
#else
pFieldInfo.uiLen = uiLen + uiDec * 256;

View File

@@ -71,7 +71,7 @@ HB_FUNC_EXTERN( QOUT );
#define ACCEPT_BUFFER_LEN 256 /* length of input buffer for ACCEPT command */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
static HB_TSD_NEW( s_szAcceptResult, ACCEPT_BUFFER_LEN, NULL, NULL );
@@ -126,7 +126,7 @@ HB_FUNC( __ACCEPT )
szAcceptResult[ ulLen ] = '\0';
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
hb_strncpy( hb_acceptBuffer(), szAcceptResult, ACCEPT_BUFFER_LEN - 1 );
#endif

View File

@@ -183,7 +183,7 @@ FUNCTION AChoice( nTop, nLeft, nBottom, nRight, acItems, xSelect, xUserFunc, nPo
ENDIF
ENDIF
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
CASE nKey == K_UP
#else
CASE nKey == K_UP .OR. nKey == K_MWFORWARD
@@ -219,7 +219,7 @@ FUNCTION AChoice( nTop, nLeft, nBottom, nRight, acItems, xSelect, xUserFunc, nPo
ENDIF
ENDIF
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
CASE nKey == K_DOWN
#else
CASE nKey == K_DOWN .OR. nKey == K_MWBACKWARD

View File

@@ -37,7 +37,7 @@
/* NOTE: Clipper handles these buttons { "Ok", "", "Cancel" } in a buggy way.
This is fixed. [vszakats] */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
STATIC s_lNoAlert
#endif
@@ -46,7 +46,7 @@ FUNCTION Alert( cMessage, aOptions, cColorNorm )
LOCAL aOptionsOK
LOCAL nEval
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
DEFAULT s_lNoAlert TO hb_argCheck( "NOALERT" )
@@ -83,7 +83,7 @@ FUNCTION Alert( cMessage, aOptions, cColorNorm )
IF Len( aOptionsOK ) == 0
aOptionsOK := { "Ok" }
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* NOTE: Clipper allows only four options [vszakats] */
ELSEIF Len( aOptionsOK ) > 4
ASize( aOptionsOK, 4 )
@@ -103,7 +103,7 @@ FUNCTION hb_Alert( xMessage, aOptions, cColorNorm, nDelay )
LOCAL lFirst
LOCAL cLine
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
DEFAULT s_lNoAlert TO hb_argCheck( "NOALERT" )
@@ -155,7 +155,7 @@ FUNCTION hb_Alert( xMessage, aOptions, cColorNorm, nDelay )
IF Len( aOptionsOK ) == 0
aOptionsOK := { "Ok" }
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* NOTE: Clipper allows only four options [vszakats] */
ELSEIF Len( aOptionsOK ) > 4
ASize( aOptionsOK, 4 )
@@ -164,7 +164,7 @@ FUNCTION hb_Alert( xMessage, aOptions, cColorNorm, nDelay )
RETURN hb_gtAlert( cMessage, aOptionsOK, cColorNorm, cColorHigh, nDelay )
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
PROCEDURE __NONOALERT()

View File

@@ -150,7 +150,7 @@ FUNCTION Browse( nTop, nLeft, nBottom, nRight )
TBMOUSE( oBrw, MRow(), MCol() )
EXIT
#endif
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
CASE K_MWFORWARD
#endif
CASE K_UP
@@ -161,7 +161,7 @@ FUNCTION Browse( nTop, nLeft, nBottom, nRight )
ENDIF
EXIT
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
CASE K_MWBACKWARD
#endif
CASE K_DOWN

View File

@@ -65,7 +65,7 @@ HB_FUNC( CHR )
will return an empty string instead of a Chr(0). [vszakats] */
/* Believe it or not, clipper does this! */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
char szChar[ 2 ];
szChar[ 0 ] = hb_parnl( 1 ) % 256;
szChar[ 1 ] = '\0';

View File

@@ -132,7 +132,7 @@ void hb_conInit( void )
#endif
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
{
/* Undocumented CA-Cl*pper switch //STDERR:x */
int iStderr = hb_cmdargNum( "STDERR" );
@@ -143,7 +143,7 @@ void hb_conInit( void )
* dangerous because it can redirect error messages to data files
* [druzus]
*/
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
else if( iStderr > 0 ) /* //STDERR:x */
s_hFilenoStderr = ( HB_FHANDLE ) iStderr;
#endif

View File

@@ -64,7 +64,7 @@
source file to avoid linking errors when a 3rd party
library would also define this function. [vszakats] */
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
HB_FUNC( STOD )
{

View File

@@ -237,7 +237,7 @@ FUNCTION DBEDIT( nTop, nLeft, nBottom, nRight, ;
lDoIdleCall := .T.
IF nKey != 0
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
IF lAppend
SWITCH nKey
CASE K_DOWN
@@ -318,7 +318,7 @@ STATIC FUNCTION CallUser( oBrowse, xUserFunc, nKey, lAppend, lFlag )
dbSkip( -1 )
ENDIF
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
IF nAction == DE_APPEND
IF ( lAppend := !( lAppend .AND. EOF() ) )

View File

@@ -52,7 +52,7 @@
#include "hbapi.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC_EXTERN( __DEFPATH );

View File

@@ -67,7 +67,7 @@ PROCEDURE __Dir( cFileMask )
This is hard wired to English. So this is a small
incompatibility. */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
QOut( "Database Files # Records Last Update Size" )
#else
QOut( __NatMsg( _DIR_HEADER ) )

View File

@@ -86,7 +86,7 @@ HB_FUNC( DIRREMOVE )
/* NOTE: Clipper 5.3 undocumented */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC( ISDISK )
{

View File

@@ -81,7 +81,7 @@ FUNCTION __eInstVar52( oVar, cMethod, xValue, cType, nSubCode, xMin, xMax )
oError:severity := 2
oError:cansubstitute := .T.
oError:subsystem := oVar:className
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
HB_SYMBOL_UNUSED( cMethod )
#else
oError:operation := cMethod

View File

@@ -67,7 +67,7 @@ FUNCTION __eInstVar53( oVar, cMethod, xValue, cType, nSubCode, bValid )
oError:severity := 2
oError:cansubstitute := .T.
oError:subsystem := oVar:className
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
HB_SYMBOL_UNUSED( cMethod )
#else
oError:operation := cMethod

View File

@@ -51,7 +51,7 @@
*
*/
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
FUNCTION _eInstVar( ... )
#ifdef HB_COMPAT_C53

View File

@@ -52,7 +52,7 @@
#include "hbapi.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC_EXTERN( __ERRINHANDLER );

View File

@@ -536,7 +536,7 @@ static void hb_gt_def_ColorsToString( PHB_GT pGT, int * pColors, int iColorCount
which is quite ugly, otherwise it will put the "+" to the
first half and the "*" to the second (like "W+/B*"), which
is how it should be done. [vszakats] */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( ( pColors[ iColorIndex ] & 0x80 ) != 0 )
pszColorString[ iPos++ ] = '*';
#endif
@@ -546,7 +546,7 @@ static void hb_gt_def_ColorsToString( PHB_GT pGT, int * pColors, int iColorCount
pszColorString[ iPos++ ] = '/';
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else
{
if( ( pColors[ iColorIndex ] & 0x80 ) != 0 )
@@ -1721,7 +1721,7 @@ static int hb_gt_def_Alert( PHB_GT pGT, PHB_ITEM pMessage, PHB_ITEM pOptions,
szMsgDsp[ ulDst++ ] = '\n';
ulLast = ulDst;
}
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
else
{
ulCurrWidth--;

View File

@@ -50,7 +50,7 @@
*
*/
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
FUNCTION __Input( xPrompt )
LOCAL cString := __Accept( xPrompt )

View File

@@ -162,7 +162,7 @@ static PHB_EOL_INFO hb_mlGetEOLs( int iParam, int * piEOLs )
because there was no other idea which seemed natural enough.
Clipper will ignore these parameters and use CRLF EOL hard
coded. [vszakats] */
#ifndef HB_C52_STRICT /* HB_EXTENSION */
#ifndef HB_CLP_STRICT /* HB_EXTENSION */
ULONG ulLen = hb_parclen( iParam );
if( ulLen )
{
@@ -235,7 +235,7 @@ static const char * hb_mlGetParams( int iParAdd, ULONG * pulLen,
* pulTabSize = HB_ISNUM( 3 + iParAdd ) ? hb_parnl( 3 + iParAdd ) : 4;
* pfWordWrap = HB_ISLOG( 4 + iParAdd ) ? hb_parl( 4 + iParAdd ) : TRUE;
* pEOLs = hb_mlGetEOLs( 5 + iParAdd, piEOLs );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( * pulLineLength > 254 )
* pulLineLength = 79;
#endif

View File

@@ -52,7 +52,7 @@
#include "hbapigt.h"
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* NOTE: This function is a new Harbour functions implemented in the
original CA-Cl*pper namespace. It should have been marked as

View File

@@ -64,7 +64,7 @@
#include "hbapi.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC_EXTERN( __NATISAFFIRM );

View File

@@ -54,7 +54,7 @@
#include "hbapigt.h"
#include "hbapiitm.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC( __BOX )
{

View File

@@ -52,7 +52,7 @@
#include "hbapigt.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC( __ATCLEAR )
{

View File

@@ -96,7 +96,7 @@ HB_FUNC( ROUND )
{
int iDec = hb_parni( 2 );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* In CA-Cl*pper ROUND() always returns double item, what in some
* applications may be important due to different formatting rules
* when SET FIXED is ON [druzus]

View File

@@ -60,7 +60,7 @@ PROCEDURE __SetFunction( nFunctionKey, xKeySeq )
DO CASE
CASE nFunctionKey == 1 ; nFunctionKey := K_F1
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
CASE nFunctionKey == 11 ; nFunctionKey := K_F11
CASE nFunctionKey == 12 ; nFunctionKey := K_F12
#endif

View File

@@ -53,7 +53,7 @@
#include "hbapi.h"
#include "hbapigt.h"
/* NOTE: Cannot be disabled with the HB_C52_UNDOC macro, because this symbol
/* NOTE: Cannot be disabled with the HB_CLP_UNDOC macro, because this symbol
is referenced by the VM [vszakats] */
/* NOTE: Clipper 5.x undocumented */

View File

@@ -50,7 +50,7 @@
*
*/
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
FUNCTION SetTypeahead( nSize )
RETURN Set( _SET_TYPEAHEAD, nSize )

View File

@@ -52,7 +52,7 @@
#include "hbapi.h"
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC_EXTERN( HB_SHADOW );

View File

@@ -190,7 +190,7 @@ HB_FUNC( STRTRAN )
else
{
/* NOTE: Undocumented but existing Clipper Run-time error [vszakats] */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE_SubstR( EG_ARG, 1126, NULL, HB_ERR_FUNCNAME, 0 );
#else
hb_errRT_BASE_SubstR( EG_ARG, 1126, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );

View File

@@ -115,7 +115,7 @@ HB_FUNC( STRZERO )
hb_retc_null();
}
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* NOTE: In CA-Cl*pper STRZERO() is written in Clipper, and will call
STR() to do the job, the error (if any) will also be thrown
by STR(). [vszakats] */

View File

@@ -510,7 +510,7 @@ METHOD dispRow( nRow ) CLASS TBROWSE
hb_dispOutAt( nRowPos, nColPos, ;
Left( cValue, ::n_Right - nColPos + 1 ), cColor )
ELSE
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_dispOutAt( nRowPos, nColPos, ;
Left( cValue, aCol[ _TBCI_COLWIDTH ] - aCol[ _TBCI_CELLPOS ] ), cColor )
#else
@@ -1375,7 +1375,7 @@ METHOD doConfigure() CLASS TBROWSE
aCol[ _TBCI_CELLPOS ] := Int( ( aCol[ _TBCI_COLWIDTH ] - aCol[ _TBCI_CELLWIDTH ] ) / 2 )
ENDIF
ENDIF
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* This is bug in CA-Cl*pper TBrowse. It causes that column
* is not well centered when picture increase the field size
* it also has other bad side effects in Clipper. :hiLite()
@@ -2144,7 +2144,7 @@ METHOD delColumn( nColumn ) CLASS TBROWSE
LOCAL oCol
/* NOTE: CA-Cl*pper doesn't check the parameters. */
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
IF nColumn >= 1 .AND. nColumn <= ::colCount
#else
IF .T. /* It's optimized by compiler without any RT overhead */
@@ -2162,7 +2162,7 @@ METHOD delColumn( nColumn ) CLASS TBROWSE
METHOD insColumn( nColumn, oCol ) CLASS TBROWSE
/* NOTE: CA-Cl*pper doesn't check the parameters. */
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
IF nColumn >= 1 .AND. nColumn <= ::colCount + 1
#else
IF .T. /* It's optimized by compiler without any RT overhead */
@@ -2187,7 +2187,7 @@ METHOD setColumn( nColumn, oCol ) CLASS TBROWSE
/* NOTE: CA-Cl*pper doesn't check nColumn range (and type in C5.3 - I didn't implement this behaviour),
but crashes instead. */
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
IF nColumn >= 1 .AND. nColumn <= ::colCount
#else
IF .T. /* It's optimized by compiler without any RT overhead */
@@ -2202,7 +2202,7 @@ METHOD setColumn( nColumn, oCol ) CLASS TBROWSE
column, but it's returning Self instead. In C5.3 this bug
was fixed and it works as expected (except when wrong
parameter is passed, when it returns NIL). [vszakats] */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
RETURN Self
#else
RETURN oPrevCol
@@ -2212,7 +2212,7 @@ METHOD setColumn( nColumn, oCol ) CLASS TBROWSE
/* Gets a specific TBColumn object */
METHOD getColumn( nColumn ) CLASS TBROWSE
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
RETURN ::columns[ nColumn ]
#else
RETURN iif( nColumn >= 1 .AND. nColumn <= ::colCount, ::columns[ nColumn ], NIL )
@@ -2680,7 +2680,7 @@ METHOD setKey( nKey, bBlock ) CLASS TBROWSE
{ K_ESC , {| | TBR_EXIT } },;
{ K_LBUTTONDOWN, {| o | TBMouse( o, MRow(), MCol() ) } } }
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
AAdd( ::keys, { K_MWFORWARD , {| o | o:Up() , TBR_CONTINUE } } )
AAdd( ::keys, { K_MWBACKWARD , {| o | o:Down() , TBR_CONTINUE } } )
#endif

View File

@@ -138,7 +138,7 @@ CREATE CLASS GET
METHOD picture( cPicture ) SETGET
ACCESS pos METHOD getPos()
ASSIGN pos METHOD setPos( nPos )
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
METHOD reform()
#endif
METHOD reset()
@@ -1471,7 +1471,7 @@ METHOD badDate() CLASS GET
RETURN .F.
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
METHOD reform() CLASS GET

View File

@@ -1222,7 +1222,7 @@ METHOD TBApplyKey( oGet, oTB, nKey, oMenu, aMsg ) CLASS HBGetList
oGet:exitState := GE_UP
CASE nKey == K_ENTER
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
IF !oTb:Stable()
oTb:ForceStable()
ENDIF

View File

@@ -196,7 +196,7 @@ METHOD New( cCaption, boData, nShortcut, cMessage, nID ) CLASS MENUITEM
FUNCTION MenuItem( cCaption, boData, nShortcut, cMessage, nID )
RETURN HBMenuItem():New( cCaption, boData, nShortcut, cMessage, nID )
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
FUNCTION __miColumn( o, nColumn )

View File

@@ -682,7 +682,7 @@ METHOD border( cBorder ) CLASS POPUPMENU
METHOD bottom( nBottom ) CLASS POPUPMENU
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
IF nBottom != NIL
::nBottom := __eInstVar53( Self, "BOTTOM", nBottom, "N", 1001 )
ENDIF
@@ -711,7 +711,7 @@ METHOD itemCount() CLASS POPUPMENU
METHOD left( nLeft ) CLASS POPUPMENU
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
IF nLeft != NIL
::nLeft := __eInstVar53( Self, "LEFT", nLeft, "N", 1001 )
ENDIF
@@ -725,7 +725,7 @@ METHOD left( nLeft ) CLASS POPUPMENU
METHOD right( nRight ) CLASS POPUPMENU
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
IF nRight != NIL
::nRight := __eInstVar53( Self, "RIGHT", nRight, "N", 1001 )
ENDIF
@@ -739,7 +739,7 @@ METHOD right( nRight ) CLASS POPUPMENU
METHOD top( nTop ) CLASS POPUPMENU
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
IF nTop != NIL
::nTop := __eInstVar53( Self, "TOP", nTop, "N", 1001 )
ENDIF

View File

@@ -591,7 +591,7 @@ HB_FUNC( TRANSFORM )
while( ( ULONG ) iCount + 1 < i && szResult[ iCount + 1 ] == ' ' )
++iCount;
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* This is not Clipper compatible */
if( szResult[ iCount ] >= '1' && szResult[ iCount ] <= '9' &&
( ulPicLen == 0 || szPic[ iCount ] == '9' ||
@@ -613,7 +613,7 @@ HB_FUNC( TRANSFORM )
}
else if( ( uiPicFlags & PF_PARNEG ) )
{
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
/* This is not Clipper compatible */
if( *szResult >= '1' && *szResult <= '9' &&
( ulPicLen == 0 || *szPic == '9' || *szPic != *szResult ) )
@@ -664,7 +664,7 @@ HB_FUNC( TRANSFORM )
szResult = ( char * ) hb_xgrab( 13 );
szDateFormat = hb_setGetDateFormat();
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
if( uiPicFlags & PF_BRITISH )
{
/* When @E is used CA-Cl*pper do not update date format
@@ -709,7 +709,7 @@ HB_FUNC( TRANSFORM )
hb_dateFormat( hb_itemGetDS( pValue, szDate ), szResult, szDateFormat );
ulResultPos = strlen( szResult );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( uiPicFlags & PF_BRITISH )
{
/* replicated wrong Clipper behavior, see note above.
@@ -768,7 +768,7 @@ HB_FUNC( TRANSFORM )
if( ( uiPicFlags & ( PF_DATE | PF_TIME ) ) != PF_DATE )
szTimeFormat = hb_setGetTimeFormat();
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
if( szDateFormat && ( uiPicFlags & PF_BRITISH ) )
{
/* When @E is used CA-Cl*pper do not update date format
@@ -825,7 +825,7 @@ HB_FUNC( TRANSFORM )
}
ulResultPos = strlen( szResult );
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( uiPicFlags & PF_BRITISH )
{
/* replicated wrong Clipper behavior, see note above.

View File

@@ -168,7 +168,7 @@ HB_FUNC( ALLTRIM )
else
#ifdef HB_COMPAT_C53
/* NOTE: This runtime error appeared in CA-Cl*pper 5.3 [vszakats] */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE_SubstR( EG_ARG, 2022, NULL, HB_ERR_FUNCNAME, 0 );
#else
hb_errRT_BASE_SubstR( EG_ARG, 2022, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );

View File

@@ -1362,7 +1362,7 @@ BOOL hb_arrayCopy( PHB_ITEM pSrcArray, PHB_ITEM pDstArray, ULONG * pulStart,
ulCount = ulSrcLen - ulStart + 1;
/* This is probably a bug, present in all versions of CA-Cl*pper. */
#if defined( HB_C52_STRICT ) || 1
#if defined( HB_CLP_STRICT ) || 1
if( ulDstLen > 0 )
{
if( ulTarget > ulDstLen )

View File

@@ -98,7 +98,7 @@ HB_FUNC( ARRAY )
if( hb_parnl( iParam ) < 0 ) /* || hb_parnl( iParam ) <= 4096 */
{
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_BOUND, 1131, NULL, hb_langDGetErrorDesc( EG_ARRDIMENSION ), 0 );
#else
hb_errRT_BASE( EG_BOUND, 1131, NULL, hb_langDGetErrorDesc( EG_ARRDIMENSION ), HB_ERR_ARGS_BASEPARAMS );
@@ -147,7 +147,7 @@ HB_FUNC( ASIZE )
}
#ifdef HB_COMPAT_C53 /* From CA-Cl*pper 5.3a */
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_ARG, 2023, NULL, HB_ERR_FUNCNAME, 0 );
#else
hb_errRT_BASE( EG_ARG, 2023, NULL, HB_ERR_FUNCNAME, HB_ERR_ARGS_BASEPARAMS );
@@ -239,7 +239,7 @@ HB_FUNC( AFILL )
}
}
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* NOTE: In CA-Cl*pper AFILL() is written in a manner that it will
call AEVAL() to do the job, so the error (if any) will also be
thrown by AEVAL(). [vszakats] */

View File

@@ -484,7 +484,7 @@ ULONG hb_cmdargProcessVM( int *pCancelKey, int *pCancelKeyEx )
{
char buffer[ 128 ];
#if defined( HB_C52_STRICT )
#if defined( HB_CLP_STRICT )
hb_snprintf( buffer, sizeof( buffer ), "DS avail=%luKB OS avail=%luKB EMM avail=%luKB", hb_xquery( HB_MEM_BLOCK ), hb_xquery( HB_MEM_VM ), hb_xquery( HB_MEM_EMS ) );
#else
hb_snprintf( buffer, sizeof( buffer ), "DS avail=%luKB OS avail=%luKB EMM avail=%luKB MemStat:%s MT:%s", hb_xquery( HB_MEM_BLOCK ), hb_xquery( HB_MEM_VM ), hb_xquery( HB_MEM_EMS ), hb_xquery( HB_MEM_USEDMAX ) ? "On" : "Off", hb_vmIsMt() ? "On" : "Off" );

View File

@@ -1036,7 +1036,7 @@ void hb_vmInit( BOOL bStartMainProc )
s_pSymStart = NULL;
#endif
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
if( bStartMainProc && ! s_pSymStart )
{
if( pszMain )
@@ -5062,7 +5062,7 @@ static void hb_vmArrayPush( void )
hb_objOperatorCall( HB_OO_OP_ARRAYINDEX, pArray, pArray, pIndex, NULL ) )
hb_stackPop();
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 0 );
#else
hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 2, pArray, pIndex );
@@ -5158,7 +5158,7 @@ static void hb_vmArrayPushRef( void )
return;
}
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 0 );
#else
hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 2, pArray, pIndex );
@@ -5259,7 +5259,7 @@ static void hb_vmArrayPop( void )
hb_stackPop();
}
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_BOUND, 1133, NULL, hb_langDGetErrorDesc( EG_ARRASSIGN ), 0 );
#else
hb_errRT_BASE( EG_BOUND, 1133, NULL, hb_langDGetErrorDesc( EG_ARRASSIGN ), 1, pIndex );
@@ -8401,7 +8401,7 @@ void hb_vmRequestBreak( PHB_ITEM pItem )
}
else
{
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/*
* do not execute EXIT procedures to be as close as possible
* buggy Clipper behavior. [druzus]
@@ -10710,7 +10710,7 @@ static void hb_vmArrayItemPush( ULONG ulIndex )
hb_stackItemFromTop( -1 ), NULL ) )
hb_stackPop();
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ), 0 );
#else
hb_errRT_BASE( EG_BOUND, 1132, NULL, hb_langDGetErrorDesc( EG_ARRACCESS ),
@@ -10794,7 +10794,7 @@ static void hb_vmArrayItemPop( ULONG ulIndex )
hb_stackPop();
}
else
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
hb_errRT_BASE( EG_BOUND, 1133, NULL, hb_langDGetErrorDesc( EG_ARRASSIGN ), 0 );
#else
hb_errRT_BASE( EG_BOUND, 1133, NULL, hb_langDGetErrorDesc( EG_ARRASSIGN ),

View File

@@ -63,7 +63,7 @@
/* various flags for macro compiler */
#ifndef HB_SM_DEFAULT
# ifdef HB_C52_STRICT
# ifdef HB_CLP_STRICT
# define HB_SM_DEFAULT ( HB_SM_SHORTCUTS )
# else
# define HB_SM_DEFAULT ( HB_SM_SHORTCUTS | HB_SM_HARBOUR )

View File

@@ -1412,7 +1412,7 @@ static HB_DYNS_FUNC( hb_memvarSave )
dNumber = hb_itemGetND( pMemvar );
hb_itemGetNLen( pMemvar, &iWidth, &iDec );
buffer[ 11 ] = 'N' + 128;
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
/* NOTE: This is the buggy, but fully CA-Cl*pper compatible method. [vszakats] */
buffer[ 16 ] = ( BYTE ) iWidth + ( HB_IS_DOUBLE( pMemvar ) ? ( BYTE ) ( iDec + 1 ) : 0 );
#else
@@ -1516,7 +1516,7 @@ HB_FUNC( __MVSAVE )
/* NOTE: Here, we're not CA-Cl*pper compatible by default settings.
[vszakats] */
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
if( hb_setGetHardCommit() )
hb_fsCommit( fhnd );
#endif
@@ -1540,7 +1540,7 @@ HB_FUNC( __MVRESTORE )
{
/* Clipper checks for the number of arguments here here, but we cannot
in Harbour since we have two optional parameters as an extension. */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
if( hb_pcount() == 2 && HB_ISCHAR( 1 ) && HB_ISLOG( 2 ) )
#else
if( HB_ISCHAR( 1 ) && HB_ISLOG( 2 ) )
@@ -1595,7 +1595,7 @@ HB_FUNC( __MVRESTORE )
char *szName;
PHB_ITEM pItem = NULL;
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
pszMask = "*";
bIncludeMask = TRUE;
#else

View File

@@ -61,7 +61,7 @@ HB_FUNC_EXTERN( __MVRESTORE );
/* NOTE: Undocumented Clipper internal function. */
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
HB_FUNC( __QQPUB )
{

View File

@@ -97,14 +97,14 @@ HB_FUNC( PROCLINE )
hb_retni( 0 );
}
#ifdef HB_C52_UNDOC
#ifdef HB_CLP_UNDOC
/* NOTE: Clipper undocumented function, which always returns an empty
string. [vszakats] */
HB_FUNC( PROCFILE )
{
#ifndef HB_C52_STRICT
#ifndef HB_CLP_STRICT
PHB_SYMB pSym = NULL;
if( HB_ISSYMBOL( 1 ) )

View File

@@ -225,7 +225,7 @@ set fixed on
? transtest( 1234, "@!", " 1234" )
? transtest( -1234, , " -1234" )
? transtest( -1234, "@" , " -1234" )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
? transtest( round(123,0), , " 123.00" )
? transtest( round(123,0), "@!", " 123.00" )
? transtest( round(123.0,0), , " 123.00" )

View File

@@ -95,7 +95,7 @@ PROCEDURE Main_ARRAY()
TEST_LINE( ASort(10) , NIL )
TEST_LINE( ASort({}) , "{.[0].}" )
TEST_LINE( ASort(ErrorNew()) , NIL )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
#ifndef __XPP__
TEST_LINE( AFill() , "E 1 BASE 2017 Argument error (AEVAL) OS:0 #:0 A:4:U:NIL;B:{||...};U:NIL;U:NIL " )
#endif

View File

@@ -71,5 +71,5 @@
#ifdef __HARBOUR__
#pragma linenumber=on
#else
#define HB_C52_STRICT
#define HB_CLP_STRICT
#endif

View File

@@ -57,10 +57,10 @@
/* Don't change the position of this #include. */
#include "rt_vars.ch"
#undef HB_C52_STRICT_OFF
#undef HB_CLP_STRICT_OFF
#ifdef __HARBOUR__
#ifndef HB_C52_STRICT
#define HB_C52_STRICT_OFF
#ifndef HB_CLP_STRICT
#define HB_CLP_STRICT_OFF
#endif
#endif
@@ -169,7 +169,7 @@ PROCEDURE Main_MISC()
TEST_LINE( ( SetColor( "N/N,N/N,N/N,N/N,N/N" ), SetColor( "," ), SetColor() ) , "N/N,N/N,N/N,N/N,N/N" )
TEST_LINE( ( SetColor( "N/N,N/N,N/N,N/N,N/N" ), SetColor( ",," ), SetColor() ) , "N/N,N/N,N/N,N/N,N/N" )
TEST_LINE( ( SetColor( "N/N,N/N,N/N,N/N,N/N" ), SetColor( "+" ), SetColor() ) , "N+/N,N/N,N/N,N/N,N/N" )
#ifdef HB_C52_STRICT_OFF
#ifdef HB_CLP_STRICT_OFF
TEST_LINE( ( SetColor( "N/N,N/N,N/N,N/N,N/N" ), SetColor( "+*" ), SetColor() ) , "N+/N*,N/N,N/N,N/N,N/N" )
TEST_LINE( ( SetColor( "N/N,N/N,N/N,N/N,N/N" ), SetColor( "*" ), SetColor() ) , "N/N*,N/N,N/N,N/N,N/N" )
TEST_LINE( ( SetColor( "N/N,N/N,N/N,N/N,N/N" ), SetColor( "*+" ), SetColor() ) , "N+/N*,N/N,N/N,N/N,N/N" )
@@ -252,7 +252,7 @@ PROCEDURE Main_MISC()
TEST_LINE( ( o:colorSpec := "," , o:colorSpec ) , "N/N,N/N,N/N,N/N" )
TEST_LINE( ( o:colorSpec := ",," , o:colorSpec ) , "N/N,N/N,N/N,N/N" )
TEST_LINE( ( o:colorSpec := "+" , o:colorSpec ) , "N+/N,N+/N,N+/N,N+/N" )
#ifdef HB_C52_STRICT_OFF
#ifdef HB_CLP_STRICT_OFF
TEST_LINE( ( o:colorSpec := "+*" , o:colorSpec ) , "N+/N*,N+/N*,N+/N*,N+/N*")
TEST_LINE( ( o:colorSpec := "*" , o:colorSpec ) , "N/N*,N/N*,N/N*,N/N*" )
TEST_LINE( ( o:colorSpec := "*+" , o:colorSpec ) , "N+/N*,N+/N*,N+/N*,N+/N*")
@@ -330,7 +330,7 @@ PROCEDURE Main_MISC()
TEST_LINE( ( o:colorSpec := "," , o:colorSpec ) , "N/N,N/N" )
TEST_LINE( ( o:colorSpec := ",," , o:colorSpec ) , "N/N,N/N" )
TEST_LINE( ( o:colorSpec := "+" , o:colorSpec ) , "N+/N,N+/N" )
#ifdef HB_C52_STRICT_OFF
#ifdef HB_CLP_STRICT_OFF
TEST_LINE( ( o:colorSpec := "+*" , o:colorSpec ) , "N+/N*,N+/N*" )
TEST_LINE( ( o:colorSpec := "*" , o:colorSpec ) , "N/N*,N/N*" )
TEST_LINE( ( o:colorSpec := "*+" , o:colorSpec ) , "N+/N*,N+/N*" )
@@ -410,7 +410,7 @@ PROCEDURE Main_MISC()
/* NATION functions (do not exist in 5.2e US) */
#ifdef __HARBOUR__
#ifndef HB_C52_UNDOC
#ifndef HB_CLP_UNDOC
/* NOTE: Use the identical internal versions if Harbour
was compiled without C5.x undocumented features.
[vszakats] */

View File

@@ -162,7 +162,7 @@ PROCEDURE Main_STRA()
/* STRZERO() */
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
TEST_LINE( StrZero(NIL) , "E 1 BASE 1099 Argument error (STR) OS:0 #:0 A:1:U:NIL F:S" )
TEST_LINE( StrZero("A", 10, 2) , "E 1 BASE 1099 Argument error (STR) OS:0 #:0 A:3:C:A;N:10;N:2 F:S" )
TEST_LINE( StrZero(100, 10, "A") , "E 1 BASE 1099 Argument error (STR) OS:0 #:0 A:3:N:100;N:10;C:A F:S" )

View File

@@ -702,7 +702,7 @@ PROCEDURE Main_TRANS()
TEST_LINE( Transform( 1234, "@!" ), " 1234" )
TEST_LINE( Transform( -1234, ), " -1234" )
TEST_LINE( Transform( -1234, "@" ), " -1234" )
#ifdef HB_C52_STRICT
#ifdef HB_CLP_STRICT
TEST_LINE( Transform( round(123 ,0), ), " 123.00" )
TEST_LINE( Transform( round(123, 0), "@!" ), " 123.00" )
TEST_LINE( Transform( round(123.0,0), ), " 123.00" )