20000411-13:12 GMT+1 Victor Szakats <info@szelvesz.hu>
This commit is contained in:
@@ -1,3 +1,79 @@
|
||||
20000411-13:12 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* include/hbextern.ch
|
||||
* source/vm/memvclip.c
|
||||
* source/vm/proc.c
|
||||
* source/vm/pvalue.c
|
||||
* source/vm/dynsym.c
|
||||
* source/rtl/dummy.prg
|
||||
* source/rtl/fssize.c
|
||||
* source/rtl/fstemp.c
|
||||
* source/rtl/setposbs.c
|
||||
* source/rtl/shadow.c
|
||||
* source/rtl/accept.c
|
||||
* source/rtl/oldbox.c
|
||||
* source/rtl/oldclear.c
|
||||
* source/rtl/alert.prg
|
||||
* source/rtl/setta.prg
|
||||
* source/rtl/console.c
|
||||
* source/rtl/setkey.prg
|
||||
* source/rtl/oemansi.c
|
||||
* source/rtl/inkey.c
|
||||
* source/rtl/valtostr.c
|
||||
* source/rtl/trace.c
|
||||
* source/rdd/dbnubs.c
|
||||
* source/rdd/dbstrux.prg
|
||||
* source/pp/pplib.c
|
||||
+ Updated/extended the guards for the UNDOC features and some extensions.
|
||||
It's now possible to turn UNDOC or EXTENSIONS off.
|
||||
! __ACCEPT made multithread safe, at least for the documented part.
|
||||
|
||||
* source/rtl/dbstrux.prg
|
||||
! Fixed for disabled HB_COMPAT_XPP mode.
|
||||
|
||||
* source/rtl/alert.prg
|
||||
* utils/hbdoc/hbdoc.prg
|
||||
! Fixed for disabled HB_COMPAT_C53 mode.
|
||||
|
||||
* source/rtl/getsys.prg
|
||||
* utils/hbtest/rt_stra.prg
|
||||
! Fixed for disabled HB_EXTENSION
|
||||
|
||||
; Note that HBDOC will still need HB_COMPAT_C53 to link (for MAKEDIR()).
|
||||
|
||||
* include/hbexprb.c
|
||||
* include/hbexprc.c
|
||||
* include/hbextern.ch
|
||||
* include/hbsetup.h
|
||||
* compiler/harbour.c
|
||||
* compiler/hbfunchk.c
|
||||
* rdd/dbstrux.prg
|
||||
* rtl/alert.prg
|
||||
* rtl/dircmd.prg
|
||||
* rtl/strzero.c
|
||||
* vm/arrayshb.c
|
||||
* vm/hvm.c
|
||||
* vm/memvars.c
|
||||
* utils/hbtest/rt_array.prg
|
||||
* utils/hbtest/rt_main.ch
|
||||
* utils/hbtest/rt_stra.prg
|
||||
* include/hbsetup.ch
|
||||
* source/vm/cmdarg.c
|
||||
+ Added HB_EXTENSION macro to guard Harbour extensions.
|
||||
+ Added HB_C52_UNDOC macro to guard undocumented interfaces of
|
||||
CA-Cl*pper 5.2e
|
||||
* HARBOUR_STRICT_CLIPPER_COMPATIBILITY renamed to HB_STRICT_C52
|
||||
|
||||
* source/rtl/is.c
|
||||
* source/rtl/at.c
|
||||
* source/rtl/replic.c
|
||||
* source/rtl/space.c
|
||||
* source/rtl/trim.c
|
||||
- Some tests embedded to the source removed.
|
||||
|
||||
* utils/hbtest/Makefile
|
||||
- PP removed.
|
||||
|
||||
20000411-03:04 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* utils/hbtest/*
|
||||
@@ -6,6 +82,7 @@
|
||||
* include/hbsetup.ch
|
||||
* source/vm/cmdarg.c
|
||||
+ Added defines for Flagship/FoxPro/dBase extensions.
|
||||
- Disabled HB_COMPAT_VO by default.
|
||||
|
||||
20000411-02:32 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
|
||||
@@ -2011,7 +2011,7 @@ static HB_EXPR_FUNC( hb_compExprUseOr )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2080,7 +2080,7 @@ static HB_EXPR_FUNC( hb_compExprUseAnd )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2145,7 +2145,7 @@ static HB_EXPR_FUNC( hb_compExprUseNot )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2267,7 +2267,7 @@ static HB_EXPR_FUNC( hb_compExprUseEqual )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2344,7 +2344,7 @@ static HB_EXPR_FUNC( hb_compExprUseEQ )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2399,7 +2399,7 @@ static HB_EXPR_FUNC( hb_compExprUseLT )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2454,7 +2454,7 @@ static HB_EXPR_FUNC( hb_compExprUseGT )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2510,7 +2510,7 @@ static HB_EXPR_FUNC( hb_compExprUseLE )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2566,7 +2566,7 @@ static HB_EXPR_FUNC( hb_compExprUseGE )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2622,7 +2622,7 @@ static HB_EXPR_FUNC( hb_compExprUseNE )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2679,7 +2679,7 @@ static HB_EXPR_FUNC( hb_compExprUseIN )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2734,7 +2734,7 @@ static HB_EXPR_FUNC( hb_compExprUsePlus )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2789,7 +2789,7 @@ static HB_EXPR_FUNC( hb_compExprUseMinus )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2844,7 +2844,7 @@ static HB_EXPR_FUNC( hb_compExprUseMult )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2899,7 +2899,7 @@ static HB_EXPR_FUNC( hb_compExprUseDiv )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -2954,7 +2954,7 @@ static HB_EXPR_FUNC( hb_compExprUseMod )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -3006,7 +3006,7 @@ static HB_EXPR_FUNC( hb_compExprUsePower )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
@@ -3073,7 +3073,7 @@ static HB_EXPR_FUNC( hb_compExprUseNegate )
|
||||
break;
|
||||
|
||||
case HB_EA_PUSH_POP:
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
HB_EXPR_USE( pSelf, HB_EA_PUSH_PCODE );
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_POP );
|
||||
#else
|
||||
|
||||
@@ -83,7 +83,7 @@ void hb_compExprPushOperEq( HB_EXPR_PTR pSelf, BYTE bOpEq )
|
||||
HB_EXPR_PCODE1( hb_compGenMessageData, pObj->value.asMessage.szMessage );
|
||||
|
||||
/* Now push current value of variable */
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
/* push object */
|
||||
HB_EXPR_USE( pObj->value.asMessage.pObject, HB_EA_PUSH_PCODE );
|
||||
#else
|
||||
@@ -98,7 +98,7 @@ void hb_compExprPushOperEq( HB_EXPR_PTR pSelf, BYTE bOpEq )
|
||||
HB_EXPR_PCODE3( hb_compGenPCode3, HB_P_FUNCTION, 0, 0 );
|
||||
|
||||
/* NOTE: COMPATIBILITY ISSUE:
|
||||
* The above HARBOUR_STRICT_CLIPPER_COMPATIBILITY setting determines
|
||||
* The above HB_C52_STRICT setting determines
|
||||
* the way the chained send messages are handled.
|
||||
* For example, the following code:
|
||||
*
|
||||
@@ -167,7 +167,7 @@ void hb_compExprUseOperEq( HB_EXPR_PTR pSelf, BYTE bOpEq )
|
||||
HB_EXPR_PCODE1( hb_compGenMessageData, pObj->value.asMessage.szMessage );
|
||||
|
||||
/* Now push current value of variable */
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
/* push object */
|
||||
HB_EXPR_USE( pObj->value.asMessage.pObject, HB_EA_PUSH_PCODE );
|
||||
#else
|
||||
@@ -221,7 +221,7 @@ void hb_compExprPushPreOp( HB_EXPR_PTR pSelf, BYTE bOper )
|
||||
HB_EXPR_PCODE1( hb_compGenMessageData, pObj->value.asMessage.szMessage );
|
||||
|
||||
/* Now push current value of variable */
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
/* push object */
|
||||
HB_EXPR_USE( pObj->value.asMessage.pObject, HB_EA_PUSH_PCODE );
|
||||
#else
|
||||
|
||||
@@ -100,9 +100,11 @@ EXTERNAL __VMVARLGET
|
||||
//
|
||||
//symbols from file: vm\dynsym.c
|
||||
//
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL __DYNSCOUNT
|
||||
EXTERNAL __DYNSGETNAME
|
||||
EXTERNAL __DYNSGETINDEX
|
||||
#endif
|
||||
//
|
||||
//symbols from file: vm\fm.c
|
||||
//
|
||||
@@ -121,7 +123,6 @@ EXTERNAL __QUIT
|
||||
//symbols from file: vm\memvars.c
|
||||
//
|
||||
EXTERNAL __MVPUBLIC
|
||||
EXTERNAL __QQPUB
|
||||
EXTERNAL __MVPRIVATE
|
||||
EXTERNAL __MVXRELEASE
|
||||
EXTERNAL __MVRELEASE
|
||||
@@ -132,6 +133,9 @@ EXTERNAL __MVGET
|
||||
EXTERNAL __MVPUT
|
||||
EXTERNAL __MVSAVE
|
||||
EXTERNAL __MVRESTORE
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __QQPUB
|
||||
#endif
|
||||
EXTERNAL __MCLEAR
|
||||
EXTERNAL __MRELEASE
|
||||
EXTERNAL __MXRELEASE
|
||||
@@ -146,11 +150,15 @@ EXTERNAL PCOUNT
|
||||
//
|
||||
EXTERNAL PROCNAME
|
||||
EXTERNAL PROCLINE
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL PROCFILE
|
||||
#endif
|
||||
//
|
||||
//symbols from file: vm\pvalue.c
|
||||
//
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL HB_PVALUE
|
||||
#endif
|
||||
//
|
||||
//symbols from file: vm\harbinit.prg
|
||||
//
|
||||
@@ -205,14 +213,18 @@ EXTERNAL DISPCOUNT
|
||||
EXTERNAL ISCOLOR
|
||||
EXTERNAL NOSNOW
|
||||
EXTERNAL HB_SHADOW
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL DBGSHADOW
|
||||
#endif
|
||||
EXTERNAL SAVESCREEN
|
||||
EXTERNAL RESTSCREEN
|
||||
EXTERNAL SETCURSOR
|
||||
EXTERNAL SETBLINK
|
||||
EXTERNAL SETMODE
|
||||
EXTERNAL __ACCEPT
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __ACCEPTSTR
|
||||
#endif
|
||||
EXTERNAL HB_COLORINDEX
|
||||
//
|
||||
//symbols from file: rtl\copyfile.c
|
||||
@@ -310,7 +322,9 @@ EXTERNAL HARDCR
|
||||
//
|
||||
EXTERNAL INKEY
|
||||
EXTERNAL __KEYBOARD
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL HB_KEYPUT
|
||||
#endif
|
||||
EXTERNAL NEXTKEY
|
||||
EXTERNAL LASTKEY
|
||||
EXTERNAL FKLABEL
|
||||
@@ -402,14 +416,18 @@ EXTERNAL CONVTOANSICP
|
||||
//
|
||||
//symbols from file: rtl\oldbox.c
|
||||
//
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __BOX
|
||||
EXTERNAL __BOXD
|
||||
EXTERNAL __BOXS
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\oldclear.c
|
||||
//
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __ATCLEAR
|
||||
EXTERNAL __CLEAR
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\samples.c
|
||||
//
|
||||
@@ -467,7 +485,9 @@ EXTERNAL STRTRAN
|
||||
EXTERNAL VAL
|
||||
EXTERNAL STR
|
||||
EXTERNAL STRZERO
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL HB_VALTOSTR
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\tone.c
|
||||
//
|
||||
@@ -475,8 +495,10 @@ EXTERNAL TONE
|
||||
//
|
||||
//symbols from file: rtl\trace.c
|
||||
//
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL HB_TRACESTATE
|
||||
EXTERNAL HB_TRACELEVEL
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\transfrm.c
|
||||
//
|
||||
@@ -509,7 +531,9 @@ EXTERNAL ADIR
|
||||
//symbols from file: rtl\alert.prg
|
||||
//
|
||||
EXTERNAL ALERT
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __NONOALERT
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\asort.prg
|
||||
//
|
||||
@@ -540,6 +564,8 @@ EXTERNAL __DIR
|
||||
//
|
||||
//symbols from file: rtl\dummy.prg
|
||||
//
|
||||
EXTERNAL ORDSCOPE
|
||||
#ifdef HB_COMPAT_C53
|
||||
EXTERNAL ORDCOND
|
||||
EXTERNAL ORDDESCEND
|
||||
EXTERNAL ORDISUNIQUE
|
||||
@@ -549,15 +575,17 @@ EXTERNAL ORDKEYDEL
|
||||
EXTERNAL ORDKEYGOTO
|
||||
EXTERNAL ORDKEYNO
|
||||
EXTERNAL ORDKEYVAL
|
||||
EXTERNAL ORDSCOPE
|
||||
EXTERNAL ORDSETRELATION
|
||||
EXTERNAL ORDSKIPUNIQUE
|
||||
#endif
|
||||
#ifdef HB_COMPAT_C53
|
||||
EXTERNAL DBFILEGET
|
||||
EXTERNAL DBFILEPUT
|
||||
EXTERNAL DBINFO
|
||||
EXTERNAL DBORDERINFO
|
||||
EXTERNAL DBRECORDINFO
|
||||
EXTERNAL DBFIELDINFO
|
||||
#endif
|
||||
EXTERNAL DBSETRELATION
|
||||
EXTERNAL DBCLEARRELATION
|
||||
EXTERNAL MEMOEDIT
|
||||
@@ -585,7 +613,9 @@ EXTERNAL FIELDWBLOCK
|
||||
//
|
||||
//symbols from file: rtl\input.prg
|
||||
//
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __INPUT
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\memvarbl.prg
|
||||
//
|
||||
@@ -620,13 +650,17 @@ EXTERNAL READKEY
|
||||
//symbols from file: rtl\setkey.prg
|
||||
//
|
||||
EXTERNAL SETKEY
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL HB_SETKEYGET
|
||||
EXTERNAL HB_SETKEYSAVE
|
||||
EXTERNAL HB_SETKEYCHECK
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\setta.prg
|
||||
//
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL SETTYPEAHEAD
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rtl\tbcolumn.prg
|
||||
//
|
||||
@@ -789,6 +823,7 @@ EXTERNAL DBCREATEINDEX
|
||||
EXTERNAL DBCLEARINDEX
|
||||
EXTERNAL DBSETINDEX
|
||||
EXTERNAL DBSETORDER
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __DBSEEK
|
||||
EXTERNAL __DBSKIP
|
||||
EXTERNAL __DBGOTOP
|
||||
@@ -813,6 +848,7 @@ EXTERNAL __DBCLOSEAREA
|
||||
EXTERNAL __DBCLOSE
|
||||
EXTERNAL __DBUSE
|
||||
EXTERNAL __DBSELECT
|
||||
#endif
|
||||
//
|
||||
//symbols from file: rdd\delim1.c
|
||||
//
|
||||
@@ -829,7 +865,7 @@ EXTERNAL SDF_GETFUNCTABLE
|
||||
EXTERNAL __DBCOPYSTRUCT
|
||||
EXTERNAL __DBCOPYXSTRUCT
|
||||
EXTERNAL __DBCREATE
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_UNDOC
|
||||
EXTERNAL __FLEDIT
|
||||
#endif
|
||||
EXTERNAL __DBSTRUCTFILTER
|
||||
@@ -844,10 +880,16 @@ EXTERNAL INDEXKEY
|
||||
//
|
||||
//symbols from file: pp\hbpplib.c
|
||||
//
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL __PREPROCESS
|
||||
#endif
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
EXTERNAL HB_FSIZE
|
||||
EXTERNAL HB_FTEMPNAME
|
||||
EXTERNAL HB_FTEMPCREATE
|
||||
#endif
|
||||
|
||||
EXTERNAL __HRBRUN
|
||||
|
||||
#endif /* HB_EXTERN_CH_ */
|
||||
|
||||
@@ -38,31 +38,20 @@
|
||||
#ifndef HB_SETUP_CH_
|
||||
#define HB_SETUP_CH_
|
||||
|
||||
/* ***********************************************************************
|
||||
* This symbol defines if we want to use strict Clipper compatibility
|
||||
*
|
||||
* By default it is disabled (symbol is not defined)
|
||||
*/
|
||||
/*#define HARBOUR_STRICT_CLIPPER_COMPATIBILITY*/
|
||||
/* NOTE: You can select here, which features you to include of the different
|
||||
Clipper implementations. */
|
||||
|
||||
/* ***********************************************************************
|
||||
* You can select here, whether you want to include feature introduced in
|
||||
* Clipper implementations other than Cl*pper 5.2e.
|
||||
*
|
||||
* By default 5.3x and Xbase++ are turned on
|
||||
*/
|
||||
#define HB_EXTENSION /* Enable Harbour extensions */
|
||||
|
||||
/* Include CA-Cl*pper 5.3[a,b] extensions */
|
||||
#define HB_COMPAT_C53
|
||||
/* Include Alaska Xbase++ extensions */
|
||||
#define HB_COMPAT_XPP
|
||||
/* Include CA-VO extensions */
|
||||
/* #define HB_COMPAT_VO */
|
||||
/* Include Flagship extensions */
|
||||
/* #define HB_COMPAT_FLAGSHIP */
|
||||
/* Include FoxPro extensions */
|
||||
/* #define HB_COMPAT_FOXPRO */
|
||||
/* Include dBase extensions */
|
||||
/* #define HB_COMPAT_DBASE */
|
||||
#define HB_C52_UNDOC /* Enable CA-Cl*pper 5.2e undocumented features */
|
||||
/* #define HB_C52_STRICT */ /* Enable CA-Cl*pper 5.2e strict compatibility */
|
||||
|
||||
#define HB_COMPAT_C53 /* Enable CA-Cl*pper 5.3x extensions */
|
||||
#define HB_COMPAT_XPP /* Enable Alaska Xbase++ extensions */
|
||||
/* #define HB_COMPAT_VO */ /* Enable CA-VO extensions */
|
||||
/* #define HB_COMPAT_FLAGSHIP */ /* Enable Flagship extensions */
|
||||
/* #define HB_COMPAT_FOXPRO */ /* Enable FoxPro extensions */
|
||||
/* #define HB_COMPAT_DBASE */ /* Enable dBase extensions */
|
||||
|
||||
#endif /* HB_SETUP_CH_ */
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@
|
||||
symbol name to 10. Sometimes this can be useful for compiling legacy
|
||||
code. [vszakats] */
|
||||
/*
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
#define HB_SYMBOL_NAME_LEN 10
|
||||
#else
|
||||
*/
|
||||
|
||||
@@ -1369,7 +1369,7 @@ static void hb_compGenVariablePCode( BYTE bPCode, char * szVarName )
|
||||
* Clipper always assumes a memvar variable if undeclared variable
|
||||
* is popped (a value is asssigned to a variable).
|
||||
*/
|
||||
#if defined( HARBOUR_STRICT_CLIPPER_COMPATIBILITY )
|
||||
#if defined( HB_C52_STRICT )
|
||||
if( hb_comp_bForceMemvars || bPCode == HB_P_POPVARIABLE )
|
||||
#else
|
||||
if( hb_comp_bForceMemvars )
|
||||
|
||||
@@ -142,7 +142,7 @@ void hb_compFunCallCheck( char * szFuncCall, int iArgs )
|
||||
{
|
||||
if( iArgs < f[ iPos ].iMinParam || ( f[ iPos ].iMaxParam != -1 && iArgs > f[ iPos ].iMaxParam ) )
|
||||
{
|
||||
#if defined( HARBOUR_STRICT_CLIPPER_COMPATIBILITY )
|
||||
#if defined( HB_C52_STRICT )
|
||||
/* Clipper way */
|
||||
hb_compGenError( hb_comp_szErrors, 'E', HB_COMP_ERR_CHECKING_ARGS, szFuncCall, NULL );
|
||||
#else
|
||||
|
||||
@@ -50,6 +50,8 @@
|
||||
#include "hbapi.h"
|
||||
#include "hbapierr.h"
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
PATHNAMES * hb_comp_pIncludePath = NULL;
|
||||
PHB_FNAME hb_comp_pFileName = NULL;
|
||||
FILES hb_comp_files;
|
||||
@@ -156,3 +158,6 @@ void hb_compGenWarning( char * szWarnings[], char cPrefix, int iWarning, char *
|
||||
HB_SYMBOL_UNUSED( szWarning1 );
|
||||
HB_SYMBOL_UNUSED( szWarning2 );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include "hbdefs.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
extern HB_FUNC( DBSEEK );
|
||||
extern HB_FUNC( DBSKIP );
|
||||
extern HB_FUNC( DBGOTOP );
|
||||
@@ -182,3 +184,5 @@ HB_FUNC( __DBSELECT )
|
||||
HB_FUNCNAME( DBSELECTAREA )();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
*/
|
||||
|
||||
#include "hbsetup.ch"
|
||||
|
||||
#include "common.ch"
|
||||
#include "dbstruct.ch"
|
||||
|
||||
@@ -133,10 +134,10 @@ FUNCTION __dbCreate( cFileName, cFileFrom, cRDDName, lNew, cAlias )
|
||||
|
||||
RETURN Used()
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
|
||||
/* NOTE: Undocumented, internal Clipper function */
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
FUNCTION __FLEDIT( aStruct, aFieldList )
|
||||
RETURN __dbStructFilter( aStruct, aFieldList )
|
||||
|
||||
|
||||
@@ -52,10 +52,21 @@ extern HB_FUNC( QOUT );
|
||||
|
||||
#define ACCEPT_BUFFER_LEN 256 /* length of input buffer for ACCEPT command */
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
static char s_szAcceptResult[ ACCEPT_BUFFER_LEN ] = { '\0' };
|
||||
|
||||
HB_FUNC( __ACCEPTSTR )
|
||||
{
|
||||
hb_retc( s_szAcceptResult );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
HB_FUNC( __ACCEPT )
|
||||
{
|
||||
char szAcceptResult[ ACCEPT_BUFFER_LEN ];
|
||||
|
||||
int input;
|
||||
ULONG ulLen;
|
||||
|
||||
@@ -66,6 +77,8 @@ HB_FUNC( __ACCEPT )
|
||||
ulLen = 0;
|
||||
input = 0;
|
||||
|
||||
szAcceptResult[ 0 ] = '\0';
|
||||
|
||||
while( input != K_ENTER )
|
||||
{
|
||||
/* Wait forever, for keyboard events only */
|
||||
@@ -84,20 +97,19 @@ HB_FUNC( __ACCEPT )
|
||||
default:
|
||||
if( ulLen < ( ACCEPT_BUFFER_LEN - 1 ) && input >= 32 )
|
||||
{
|
||||
s_szAcceptResult[ ulLen ] = input; /* Accept the input */
|
||||
hb_gtWriteCon( ( BYTE * ) &s_szAcceptResult[ ulLen ], sizeof( char ) ); /* Then display it */
|
||||
szAcceptResult[ ulLen ] = input; /* Accept the input */
|
||||
hb_gtWriteCon( ( BYTE * ) &szAcceptResult[ ulLen ], sizeof( char ) ); /* Then display it */
|
||||
ulLen++; /* Then adjust the input count */
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
s_szAcceptResult[ ulLen ] = '\0';
|
||||
szAcceptResult[ ulLen ] = '\0';
|
||||
|
||||
hb_retc( s_szAcceptResult );
|
||||
}
|
||||
|
||||
HB_FUNC( __ACCEPTSTR )
|
||||
{
|
||||
hb_retc( s_szAcceptResult );
|
||||
#ifdef HB_C52_UNDOC
|
||||
strcpy( s_szAcceptResult, szAcceptResult );
|
||||
#endif
|
||||
|
||||
hb_retc( szAcceptResult );
|
||||
}
|
||||
|
||||
|
||||
@@ -36,14 +36,16 @@
|
||||
this is not documented. This implementation converts the first
|
||||
parameter to a string if another type was passed. You can switch back
|
||||
to Clipper compatible mode by defining constant
|
||||
HARBOUR_STRICT_CLIPPER_COMPATIBILITY. [vszakats] */
|
||||
HB_C52_STRICT. [vszakats] */
|
||||
|
||||
/* NOTE: Clipper handles these buttons { "Ok", "", "Cancel" } in a buggy way.
|
||||
This is fixed. [vszakats] */
|
||||
|
||||
/* NOTE: nDelay parameter is a Harbour extension. */
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
STATIC s_lNoAlert := NIL
|
||||
#endif
|
||||
|
||||
FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
LOCAL nChoice
|
||||
@@ -59,21 +61,27 @@ FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
LOCAL nOldDispCount
|
||||
LOCAL nCount
|
||||
|
||||
#ifdef HB_COMPAT_C53
|
||||
LOCAL nMRow, nMCol
|
||||
#endif
|
||||
|
||||
/* TOFIX: Clipper decides at runtime, whether the GT is linked in,
|
||||
if it is not, the console mode is choosen here. [vszakats] */
|
||||
LOCAL lConsole := .F.
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
DEFAULT s_lNoAlert TO hb_argCheck( "NOALERT" )
|
||||
|
||||
IF s_lNoAlert
|
||||
RETURN NIL
|
||||
ENDIF
|
||||
|
||||
#endif
|
||||
|
||||
aSay := {}
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
|
||||
IF !ISCHARACTER( xMessage )
|
||||
RETURN NIL
|
||||
@@ -151,7 +159,7 @@ FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
|
||||
IF Len( aOptionsOK ) == 0
|
||||
aOptionsOK := { 'Ok' }
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
/* NOTE: Clipper allows only four options [vszakats] */
|
||||
ELSEIF Len( aOptionsOK ) > 4
|
||||
aSize( aOptionsOK, 4 )
|
||||
@@ -266,6 +274,8 @@ FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
nChoice := 0
|
||||
EXIT
|
||||
|
||||
#ifdef HB_COMPAT_C53
|
||||
|
||||
CASE nKey == K_LBUTTONDOWN
|
||||
|
||||
nMRow := MRow()
|
||||
@@ -285,6 +295,8 @@ FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
EXIT
|
||||
ENDIF
|
||||
|
||||
#endif
|
||||
|
||||
CASE ( nKey == K_LEFT .OR. nKey == K_SH_TAB ) .AND. Len( aOptionsOK ) > 1
|
||||
|
||||
nChoice--
|
||||
@@ -326,8 +338,13 @@ FUNCTION Alert( xMessage, aOptions, cColorNorm, nDelay )
|
||||
|
||||
RETURN nChoice
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
PROCEDURE __NONOALERT()
|
||||
|
||||
s_lNoAlert := .F.
|
||||
|
||||
RETURN
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -38,7 +38,6 @@
|
||||
#include "hbapierr.h"
|
||||
|
||||
/* locates a substring in a string */
|
||||
/* TEST: QOUT( "at( 'cde', 'abcdefgfedcba' ) = '" + at( 'cde', 'abcsefgfedcba' ) + "'" ) */
|
||||
|
||||
HB_FUNC( AT )
|
||||
{
|
||||
|
||||
@@ -71,4 +71,11 @@ FUNCTION dbSkipper( nRecs )
|
||||
|
||||
RETURN nSkipped
|
||||
|
||||
#else
|
||||
|
||||
/* NOTE: To make it compile */
|
||||
|
||||
STATIC PROCEDURE Dummy()
|
||||
RETURN
|
||||
|
||||
#endif
|
||||
|
||||
@@ -98,6 +98,7 @@ void hb_conInit( void )
|
||||
s_iFilenoStdin = fileno( stdin );
|
||||
s_iFilenoStdout = fileno( stdout );
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
{
|
||||
int iStderr = hb_cmdargNum( "STDERR" ); /* Undocumented CA-Clipper switch //STDERR:x */
|
||||
|
||||
@@ -108,6 +109,9 @@ void hb_conInit( void )
|
||||
else /* //STDERR:x */
|
||||
s_iFilenoStderr = iStderr;
|
||||
}
|
||||
#else
|
||||
s_iFilenoStderr = fileno( stderr );
|
||||
#endif
|
||||
|
||||
/* Some compilers open stdout and stderr in text mode, but
|
||||
Harbour needs them to be open in binary mode. */
|
||||
|
||||
@@ -52,7 +52,7 @@ PROCEDURE __Dir( cFileMask )
|
||||
This is hard wired to English. So this is a small
|
||||
incompatibility */
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
QOut( "Database Files # Records Last Update Size" )
|
||||
#else
|
||||
QOut( NationMsg( _DIR_HEADER ) )
|
||||
|
||||
@@ -33,26 +33,32 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbsetup.ch"
|
||||
|
||||
/* TODO: Dummy functions, should be removed when implemented. */
|
||||
|
||||
FUNCTION ordCond() ; RETURN NIL /* 5.3 */
|
||||
FUNCTION ordDescend() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION ordIsUnique() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION ordKeyAdd() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION ordKeyCount() ; RETURN 0 /* 5.3 */
|
||||
FUNCTION ordKeyDel() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION ordKeyGoto() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION ordKeyNo() ; RETURN 0 /* 5.3 */
|
||||
FUNCTION ordKeyVal() ; RETURN NIL /* 5.3 */
|
||||
FUNCTION ordSetRelation() ; RETURN NIL /* 5.3 */
|
||||
FUNCTION ordSkipUnique() ; RETURN .F. /* 5.3 */
|
||||
#ifdef HB_COMPAT_C53
|
||||
FUNCTION ordCond() ; RETURN NIL
|
||||
FUNCTION ordDescend() ; RETURN .F.
|
||||
FUNCTION ordIsUnique() ; RETURN .F.
|
||||
FUNCTION ordKeyAdd() ; RETURN .F.
|
||||
FUNCTION ordKeyCount() ; RETURN 0
|
||||
FUNCTION ordKeyDel() ; RETURN .F.
|
||||
FUNCTION ordKeyGoto() ; RETURN .F.
|
||||
FUNCTION ordKeyNo() ; RETURN 0
|
||||
FUNCTION ordKeyVal() ; RETURN NIL
|
||||
FUNCTION ordSetRelation() ; RETURN NIL
|
||||
FUNCTION ordSkipUnique() ; RETURN .F.
|
||||
#endif
|
||||
|
||||
FUNCTION dbFileGet() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION dbFilePut() ; RETURN .F. /* 5.3 */
|
||||
FUNCTION dbInfo() ; RETURN NIL /* 5.3 */
|
||||
FUNCTION dbOrderInfo() ; RETURN NIL /* 5.3 */
|
||||
FUNCTION dbRecordInfo() ; RETURN NIL /* 5.3 */
|
||||
FUNCTION dbFieldInfo() ; RETURN NIL /* 5.3 */
|
||||
#ifdef HB_COMPAT_C53
|
||||
FUNCTION dbFileGet() ; RETURN .F.
|
||||
FUNCTION dbFilePut() ; RETURN .F.
|
||||
FUNCTION dbInfo() ; RETURN NIL
|
||||
FUNCTION dbOrderInfo() ; RETURN NIL
|
||||
FUNCTION dbRecordInfo() ; RETURN NIL
|
||||
FUNCTION dbFieldInfo() ; RETURN NIL
|
||||
#endif
|
||||
|
||||
FUNCTION dbSetRelation() ; RETURN NIL
|
||||
FUNCTION dbClearRelation() ; RETURN NIL
|
||||
|
||||
@@ -82,9 +82,12 @@ ULONG hb_fsFSize( BYTE * pszFileName, BOOL bUseDirEntry )
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( HB_FSIZE )
|
||||
{
|
||||
hb_retnl( ISCHAR( 1 ) ? hb_fsFSize( ( BYTE * ) hb_parc( 1 ),
|
||||
ISLOG( 2 ) ? hb_parl( 2 ) : TRUE ) : 0 );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -70,6 +70,8 @@ FHANDLE hb_fsCreateTemp( const BYTE * pszDir, const BYTE * pszPrefix, USHORT uiA
|
||||
return FS_ERROR;
|
||||
}
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( HB_FTEMPNAME )
|
||||
{
|
||||
BYTE szName[ _POSIX_PATH_MAX + 1 ];
|
||||
@@ -86,3 +88,4 @@ HB_FUNC( HB_FTEMPCREATE )
|
||||
ISNUM( 2 ) ? hb_parni( 2 ) : FC_NORMAL ) );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -238,8 +238,8 @@ FUNCTION RangeCheck( oGet, xDummy, xLow, xHigh )
|
||||
|
||||
IF Set( _SET_SCOREBOARD )
|
||||
|
||||
cMessage := Left( NationMsg( _GET_RANGE_FROM ) + LTrim( hb_ValToStr( xLow ) ) + ;
|
||||
NationMsg( _GET_RANGE_TO ) + LTrim( hb_ValToStr( xHigh ) ), MaxCol() )
|
||||
cMessage := Left( NationMsg( _GET_RANGE_FROM ) + LTrim( Transform( xLow, "" ) ) + ;
|
||||
NationMsg( _GET_RANGE_TO ) + LTrim( Transform( xHigh, "" ) ), MaxCol() )
|
||||
|
||||
nOldRow := Row()
|
||||
nOldCol := Col()
|
||||
|
||||
@@ -327,12 +327,16 @@ void hb_inkeyPut( int ch )
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( HB_KEYPUT )
|
||||
{
|
||||
if( ISNUM( 1 ) )
|
||||
hb_inkeyPut( hb_parni( 1 ) );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
HB_FUNC( NEXTKEY )
|
||||
{
|
||||
hb_retni( hb_inkeyNext() );
|
||||
|
||||
@@ -33,8 +33,21 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbsetup.ch"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
FUNCTION __Input( xPrompt )
|
||||
LOCAL cString := __Accept( xPrompt )
|
||||
|
||||
RETURN iif( Empty( cString ), NIL, &cString )
|
||||
|
||||
#else
|
||||
|
||||
/* NOTE: To make it compile */
|
||||
|
||||
STATIC PROCEDURE Dummy()
|
||||
RETURN
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -38,8 +38,6 @@
|
||||
#include "hbapi.h"
|
||||
|
||||
/* determines if first char of string is letter */
|
||||
/* TEST: QOUT( "isalpha( 'hello' ) = ", isalpha( 'hello' ) ) */
|
||||
/* TEST: QOUT( "isalpha( '12345' ) = ", isalpha( '12345' ) ) */
|
||||
|
||||
HB_FUNC( ISALPHA )
|
||||
{
|
||||
@@ -47,8 +45,6 @@ HB_FUNC( ISALPHA )
|
||||
}
|
||||
|
||||
/* determines if first char of string is digit */
|
||||
/* TEST: QOUT( "isdigit( '12345' ) = ", isdigit( '12345' ) ) */
|
||||
/* TEST: QOUT( "isdigit( 'abcde' ) = ", isdigit( 'abcde' ) ) */
|
||||
|
||||
HB_FUNC( ISDIGIT )
|
||||
{
|
||||
@@ -56,8 +52,6 @@ HB_FUNC( ISDIGIT )
|
||||
}
|
||||
|
||||
/* determines if first char of string is upper-case */
|
||||
/* TEST: QOUT( "isupper( 'Abcde' ) = ", isupper( 'Abcde' ) ) */
|
||||
/* TEST: QOUT( "isupper( 'abcde' ) = ", isupper( 'abcde' ) ) */
|
||||
|
||||
HB_FUNC( ISUPPER )
|
||||
{
|
||||
@@ -65,8 +59,6 @@ HB_FUNC( ISUPPER )
|
||||
}
|
||||
|
||||
/* determines if first char of string is lower-case */
|
||||
/* TEST: QOUT( "islower( 'abcde' ) = ", islower( 'abcde' ) ) */
|
||||
/* TEST: QOUT( "islower( 'Abcde' ) = ", islower( 'Abcde' ) ) */
|
||||
|
||||
HB_FUNC( ISLOWER )
|
||||
{
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include "hbapigt.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
HB_FUNC( __BOX )
|
||||
{
|
||||
if( ISNUM( 1 ) && ISNUM( 2 ) && ISNUM( 3 ) && ISNUM( 4 ) )
|
||||
@@ -53,3 +55,6 @@ HB_FUNC( __BOXS )
|
||||
if( ISNUM( 1 ) && ISNUM( 2 ) && ISNUM( 3 ) && ISNUM( 4 ) )
|
||||
hb_gtBoxS( hb_parni( 1 ), hb_parni( 2 ), hb_parni( 3 ), hb_parni( 4 ) );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include "hbapigt.h"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
HB_FUNC( __ATCLEAR )
|
||||
{
|
||||
if( hb_pcount() == 4 )
|
||||
@@ -50,3 +52,5 @@ HB_FUNC( __CLEAR )
|
||||
hb_gtSetPos( 0, 0 );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#include "hbapierr.h"
|
||||
|
||||
/* returns n copies of given string */
|
||||
/* TEST: QOUT( "replicate( 'abc', 5 ) = " + replicate( 'abc', 5 ) ) */
|
||||
|
||||
HB_FUNC( REPLICATE )
|
||||
{
|
||||
if( ISCHAR( 1 ) && ISNUM( 2 ) )
|
||||
|
||||
@@ -33,6 +33,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbsetup.ch"
|
||||
|
||||
#include "common.ch"
|
||||
|
||||
// macro substitutions to access sub-array elements of aSetKeys[]
|
||||
@@ -81,6 +83,8 @@ Function SetKey( anKey, bBlock, bCondition )
|
||||
|
||||
return bReturn
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
Function HB_SetKeyGet( nKey, bCondition )
|
||||
local nFound
|
||||
|
||||
@@ -143,3 +147,5 @@ Function HB_SetKeyCheck( nKey, p1, p2, p3 )
|
||||
|
||||
return .f.
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -33,5 +33,19 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include "hbsetup.ch"
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
FUNCTION SetTypeahead( nSize )
|
||||
RETURN Set( _SET_TYPEAHEAD, nSize )
|
||||
|
||||
#else
|
||||
|
||||
/* NOTE: To make it compile */
|
||||
|
||||
STATIC PROCEDURE Dummy()
|
||||
RETURN
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -46,8 +46,12 @@ HB_FUNC( HB_SHADOW )
|
||||
ISNUM( 5 ) ? hb_parni( 5 ) : 7 );
|
||||
}
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
HB_FUNC( DBGSHADOW )
|
||||
{
|
||||
HB_FUNCNAME( HB_SHADOW )();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#include "hbapierr.h"
|
||||
|
||||
/* returns n copies of a single space */
|
||||
/* TEST: QOUT( "space( 5 ) = '" + space( 5 ) + "'" ) */
|
||||
|
||||
HB_FUNC( SPACE )
|
||||
{
|
||||
if( ISNUM( 1 ) )
|
||||
|
||||
@@ -107,7 +107,7 @@ HB_FUNC( STRZERO )
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_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] */
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
|
||||
#include "hbapi.h"
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( HB_TRACESTATE )
|
||||
{
|
||||
hb_retni( hb_tracestate( ISNUM( 1 ) ? hb_parni( 1 ) : -1 ) );
|
||||
@@ -44,3 +46,6 @@ HB_FUNC( HB_TRACELEVEL )
|
||||
{
|
||||
hb_retni( hb_tracelevel( ISNUM( 1 ) ? hb_parni( 1 ) : -1 ) );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -72,7 +72,6 @@ ULONG hb_strRTrimLen( const char * szText, ULONG ulLen, BOOL bAnySpace )
|
||||
}
|
||||
|
||||
/* trims leading spaces from a string */
|
||||
/* TEST: QOUT( "ltrim( ' hello world ' ) = '" + ltrim( ' hello world ' ) + "'" ) */
|
||||
|
||||
HB_FUNC( LTRIM )
|
||||
{
|
||||
@@ -100,7 +99,7 @@ HB_FUNC( LTRIM )
|
||||
/* NOTE: The second parameter is a Harbour extension [vszakats] */
|
||||
|
||||
/* trims trailing spaces from a string */
|
||||
/* TEST: QOUT( "rtrim( ' hello world ' ) = '" + rtrim( ' hello world ' ) + "'" ) */
|
||||
|
||||
HB_FUNC( RTRIM )
|
||||
{
|
||||
PHB_ITEM pText = hb_param( 1, HB_IT_STRING );
|
||||
@@ -136,7 +135,7 @@ HB_FUNC( TRIM )
|
||||
/* NOTE: The second parameter is a Harbour extension [vszakats] */
|
||||
|
||||
/* trims leading and trailing spaces from a string */
|
||||
/* TEST: QOUT( "alltrim( ' hello world ' ) = '" + alltrim( ' hello world ' ) + "'" ) */
|
||||
|
||||
HB_FUNC( ALLTRIM )
|
||||
{
|
||||
if( ISCHAR( 1 ) )
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
#include "hbapi.h"
|
||||
#include "hbapiitm.h"
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( HB_VALTOSTR )
|
||||
{
|
||||
ULONG ulLen;
|
||||
@@ -48,3 +50,5 @@ HB_FUNC( HB_VALTOSTR )
|
||||
hb_xfree( buffer );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -193,7 +193,7 @@ HB_FUNC( AFILL )
|
||||
hb_itemReturn( pArray ); /* AFill() returns the array itself */
|
||||
}
|
||||
else
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_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] */
|
||||
|
||||
@@ -315,8 +315,24 @@ void hb_cmdargProcessVM( void )
|
||||
hb_xfree( pszVersion );
|
||||
}
|
||||
|
||||
hb_conOutErr( "Strict CA-Clipper compatibility: ", 0 );
|
||||
#if defined( HARBOUR_STRICT_CLIPPER_COMPATIBILITY )
|
||||
hb_conOutErr( "Harbour extensions: ", 0 );
|
||||
#if defined( HB_EXTENSION )
|
||||
hb_conOutErr( "Yes", 0 );
|
||||
#else
|
||||
hb_conOutErr( "No", 0 );
|
||||
#endif
|
||||
hb_conOutErr( hb_conNewLine(), 0 );
|
||||
|
||||
hb_conOutErr( "CA-Clipper 5.2e undocumented: ", 0 );
|
||||
#if defined( HB_C52_UNDOC )
|
||||
hb_conOutErr( "Yes", 0 );
|
||||
#else
|
||||
hb_conOutErr( "No", 0 );
|
||||
#endif
|
||||
hb_conOutErr( hb_conNewLine(), 0 );
|
||||
|
||||
hb_conOutErr( "CA-Clipper 5.2e strict compatibility: ", 0 );
|
||||
#if defined( HB_C52_STRICT )
|
||||
hb_conOutErr( "Yes", 0 );
|
||||
#else
|
||||
hb_conOutErr( "No", 0 );
|
||||
|
||||
@@ -285,6 +285,8 @@ void hb_dynsymRelease( void )
|
||||
hb_xfree( s_pDynItems );
|
||||
}
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( __DYNSCOUNT ) /* How much symbols do we have: dsCount = __dynsymCount() */
|
||||
{
|
||||
hb_retnl( ( long ) s_uiDynSymbols );
|
||||
@@ -309,3 +311,6 @@ HB_FUNC( __DYNSGETINDEX ) /* Gimme index number of symbol: dsIndex = __dynsymGet
|
||||
else
|
||||
hb_retnl( 0L );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -288,7 +288,7 @@ void hb_vmInit( BOOL bStartMainProc )
|
||||
hb_errInternal( 9999, "Can\'t locate the starting procedure: \'%s\'", HARBOUR_START_PROCEDURE, NULL );
|
||||
}
|
||||
#else
|
||||
#ifndef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifndef HB_C52_STRICT
|
||||
else if( ! s_pSymStart )
|
||||
hb_errInternal( 9999, "No starting procedure", NULL, NULL );
|
||||
#endif
|
||||
|
||||
@@ -1300,7 +1300,7 @@ HB_FUNC( __MVSAVE )
|
||||
hb_itemGetNLen( pItem, &iWidth, &iDec );
|
||||
|
||||
buffer[ 11 ] = 'N' + 128;
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
/* NOTE: This is the buggy, but fully CA-Cl*pper compatible method. [vszakats] */
|
||||
buffer[ 16 ] = ( BYTE ) iWidth + ( HB_IS_DOUBLE( pItem ) ? iDec + 1 : 0 );
|
||||
#else
|
||||
|
||||
@@ -45,6 +45,8 @@ extern HB_FUNC( __MVRESTORE );
|
||||
|
||||
/* NOTE: Undocumented Clipper internal function */
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
HB_FUNC( __QQPUB )
|
||||
{
|
||||
PHB_ITEM pItem = hb_param( 1, HB_IT_STRING );
|
||||
@@ -53,6 +55,8 @@ HB_FUNC( __QQPUB )
|
||||
hb_memvarCreateFromItem( pItem, VS_PUBLIC, NULL );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/* CA-Clipper 5.2e compatibility functions. */
|
||||
|
||||
HB_FUNC( __MCLEAR )
|
||||
@@ -79,4 +83,3 @@ HB_FUNC( __MRESTORE )
|
||||
{
|
||||
HB_FUNCNAME( __MVRESTORE )();
|
||||
}
|
||||
|
||||
|
||||
@@ -89,6 +89,8 @@ HB_FUNC( PROCLINE )
|
||||
hb_retni( 0 );
|
||||
}
|
||||
|
||||
#ifdef HB_C52_UNDOC
|
||||
|
||||
/* NOTE: Clipper undocumented function, which always returns an empty
|
||||
string. [vszakats] */
|
||||
|
||||
@@ -96,3 +98,5 @@ HB_FUNC( PROCFILE )
|
||||
{
|
||||
hb_retc( "" );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -36,6 +36,8 @@
|
||||
#include "hbapi.h"
|
||||
#include "hbapiitm.h"
|
||||
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
HB_FUNC( HB_PVALUE )
|
||||
{
|
||||
USHORT uiParam = hb_parni( 1 );
|
||||
@@ -45,3 +47,4 @@ HB_FUNC( HB_PVALUE )
|
||||
hb_itemReturn( pBase + 1 + uiParam );
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -176,7 +176,6 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
// Entry Point
|
||||
//
|
||||
|
||||
MHIDE()
|
||||
// Delete log file if present
|
||||
|
||||
IF FILE( "hbdocerr.log" )
|
||||
@@ -622,7 +621,6 @@ FUNCTION MAIN( cFlags, cLinkName, cAtFile )
|
||||
SET CONSOLE ON
|
||||
SET ALTERNATE OFF
|
||||
SET ALTERNATE TO
|
||||
MSHOW()
|
||||
@ MAXROW(), 0 SAY "Execute ASSEMBL.BAT to compile and link Guides"
|
||||
|
||||
// Return to caller
|
||||
|
||||
@@ -31,7 +31,6 @@ LIBS=\
|
||||
rtl \
|
||||
vm \
|
||||
macro \
|
||||
pp \
|
||||
common \
|
||||
|
||||
include $(TOP)$(ROOT)config/bin.cf
|
||||
|
||||
@@ -78,7 +78,7 @@ FUNCTION Main_ARRAY()
|
||||
TEST_LINE( aSort(10) , NIL )
|
||||
TEST_LINE( aSort({}) , "{.[0].}" )
|
||||
TEST_LINE( aSort(ErrorNew()) , NIL )
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
#ifndef __XPP__
|
||||
TEST_LINE( aFill() , "E BASE 2017 Argument error AEVAL " )
|
||||
#endif
|
||||
|
||||
@@ -54,6 +54,6 @@
|
||||
#ifdef __HARBOUR__
|
||||
#include "hbsetup.ch"
|
||||
#else
|
||||
#define HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#define HB_C52_STRICT
|
||||
#endif
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ FUNCTION Main_STRA()
|
||||
|
||||
/* STRZERO() */
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
#ifdef HB_C52_STRICT
|
||||
TEST_LINE( StrZero(NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero("A", 10, 2) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, 10, "A") , "E BASE 1099 Argument error STR F:S" )
|
||||
@@ -461,6 +461,7 @@ FUNCTION Exact_Str()
|
||||
FUNCTION New_STRINGS()
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
#ifdef HB_EXTENSION
|
||||
|
||||
TEST_LINE( HB_ValToStr( 4 ) , " 4" )
|
||||
TEST_LINE( HB_ValToStr( 4.0 / 2 ) , " 2.00" )
|
||||
@@ -470,6 +471,7 @@ FUNCTION New_STRINGS()
|
||||
TEST_LINE( HB_ValToStr( .F. ) , ".F." )
|
||||
TEST_LINE( HB_ValToStr( .T. ) , ".T." )
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
RETURN NIL
|
||||
|
||||
Reference in New Issue
Block a user