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:
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 ) );
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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" )
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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$
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 &&
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#include "hbdefs.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC_EXTERN( DBSEEK );
|
||||
HB_FUNC_EXTERN( DBSKIP );
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifndef HB_C52_STRICT
|
||||
#ifndef HB_CLP_STRICT
|
||||
|
||||
HB_FUNC_EXTERN( HB_RDDINFO );
|
||||
|
||||
|
||||
@@ -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 )
|
||||
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
{
|
||||
|
||||
@@ -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() ) )
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC_EXTERN( __DEFPATH );
|
||||
|
||||
|
||||
@@ -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 ) )
|
||||
|
||||
@@ -86,7 +86,7 @@ HB_FUNC( DIRREMOVE )
|
||||
|
||||
/* NOTE: Clipper 5.3 undocumented */
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC( ISDISK )
|
||||
{
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
FUNCTION _eInstVar( ... )
|
||||
#ifdef HB_COMPAT_C53
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC_EXTERN( __ERRINHANDLER );
|
||||
|
||||
|
||||
@@ -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--;
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
FUNCTION __Input( xPrompt )
|
||||
LOCAL cString := __Accept( xPrompt )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC_EXTERN( __NATISAFFIRM );
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
#include "hbapigt.h"
|
||||
#include "hbapiitm.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC( __BOX )
|
||||
{
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#include "hbapigt.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC( __ATCLEAR )
|
||||
{
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
FUNCTION SetTypeahead( nSize )
|
||||
RETURN Set( _SET_TYPEAHEAD, nSize )
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC_EXTERN( HB_SHADOW );
|
||||
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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] */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 )
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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] */
|
||||
|
||||
@@ -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" );
|
||||
|
||||
@@ -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 ),
|
||||
|
||||
@@ -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 )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -61,7 +61,7 @@ HB_FUNC_EXTERN( __MVRESTORE );
|
||||
|
||||
/* NOTE: Undocumented Clipper internal function. */
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
#ifdef HB_CLP_UNDOC
|
||||
|
||||
HB_FUNC( __QQPUB )
|
||||
{
|
||||
|
||||
@@ -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 ) )
|
||||
|
||||
@@ -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" )
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -71,5 +71,5 @@
|
||||
#ifdef __HARBOUR__
|
||||
#pragma linenumber=on
|
||||
#else
|
||||
#define HB_C52_STRICT
|
||||
#define HB_CLP_STRICT
|
||||
#endif
|
||||
|
||||
@@ -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] */
|
||||
|
||||
@@ -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" )
|
||||
|
||||
@@ -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" )
|
||||
|
||||
Reference in New Issue
Block a user