ChangeLog 19990802-06:30

This commit is contained in:
Ryszard Glab
1999-08-02 04:42:10 +00:00
parent ab77185bc3
commit 1c2a05a9bf
21 changed files with 1590 additions and 54 deletions

View File

@@ -1,3 +1,58 @@
19990802-06:30 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/tools/strfmt.c
* added (char *) type cast to call for hb_xgrab()
*config/dos/djgpp.cf
*config/linux/gcc.cf
* changed to link correctly regardless the libraries order
(the GCC linker searches the library only once by default)
*source/rtl/classes.c
*source/rtl/dates.c
*source/rtl/files.c
*source/rtl/inkey.c
*source/rtl/math.c
*source/rtl/memvars.c
*source/rtl/strings.c
*source/tools/dates2.c
*source/vm/hvm.c
* changed numbering of error subcodes
*source/rtl/errorapi.c
+ added hb_errorRT_TOOLS() function
*include/errorapi.h
+ added definition of HB_ERR_SS_TOOLS
+ added hb_errorRT_TOOLS() function
*doc/subcodes.txt
+ added new file with proposed format for documenting of used
error subcodes.
*include/hberors.h
+ added new error code ERR_INVALID_LVALUE
*source/compiler/harbour.y
+ added new error 'invalid lvalue' generated in cases like:
alias->(var1, var2) := 0
+ enhanced support for DO <proc> WITH statement - procedure is
called however variables are nnot passed by reference yet
*source/vm/initsymb.c
+ updated systems symbols' table with HB_DO function
*source/rtl/do.c
+ added new HARBOUR HB_DO function (visible in harbour as 'DO')
that calls passed function/procedure.
This function can be called directly passing the string with
function/procedure name or passing a codeblock.
This function is also used to implement DO <proc> WITH
statement
*source/rtl/Makefile
+ added new file do.c
19990801-21:58 GMT+1 Victor Szel <info@szelvesz.hu>
% source/rtl/descend.c
#include <ctype.h> removed

View File

@@ -24,6 +24,7 @@ LINKPATHS += $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(ARCH))
else
LINKPATHS += -L$(HB_LIB_COMPILE)
endif
LINKLIBS += -Wl,-(
LINKLIBS += $(foreach lib, $(LIBS), -l$(lib))
# If LIBS specifies the rdd library, add all DB drivers.
@@ -32,6 +33,7 @@ LINKPATHS += $(foreach drv, $(HB_DB_DRIVERS), -L$(TOP)$(ROOT)source/rdd/$(drv)/$
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv))
endif
LINKLIBS += -Wl,-)
LDFLAGS = $(LINKPATHS)
# Note: The empty line directly before 'endef' HAVE TO exist!

View File

@@ -24,6 +24,7 @@ LINKPATHS += $(foreach lib, $(LIBS), -L$(TOP)$(ROOT)source/$(lib)/$(ARCH))
else
LINKPATHS += -L$(HB_LIB_COMPILE)
endif
LINKLIBS += -Wl,--start-group
LINKLIBS += $(foreach lib, $(LIBS), -l$(lib))
# If LIBS specifies the rdd library, add all DB drivers.
@@ -32,8 +33,7 @@ LINKPATHS += $(foreach drv, $(HB_DB_DRIVERS), -L$(TOP)$(ROOT)source/rdd/$(drv)/$
LINKLIBS += $(foreach drv, $(HB_DB_DRIVERS), -l$(drv))
endif
LINKLIBS += -lm
LINKLIBS += -lm -Wl,--end-group
LDFLAGS = $(LINKPATHS)
AR = ar

1337
harbour/doc/subcodes.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -56,6 +56,7 @@
#define HB_ERR_SS_BASE "BASE"
#define HB_ERR_SS_TERMINAL "TERM"
#define HB_ERR_SS_DBCMD "DBCMD"
#define HB_ERR_SS_TOOLS "TOOLS"
/* oError:GenCode */
@@ -100,6 +101,7 @@ PHB_ITEM hb_errPutFileName( PHB_ITEM pError, char * szFileName );
WORD hb_errorRT_BASE( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
WORD hb_errorRT_TERMINAL( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
WORD hb_errorRT_DBCMD( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
WORD hb_errorRT_TOOLS( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
/* TODO: Enable this:
void hb_errorInternal( ULONG ulCode );
*/

View File

@@ -59,8 +59,8 @@
#define ERR_UNMATCHED_EXIT 18
#define ERR_SYNTAX2 19
#define ERR_INCOMPLETE_STMT 20
/* JOSE */
#define ERR_CHECKING_ARGS 21
#define ERR_INVALID_LVALUE 22
#define WARN_AMBIGUOUS_VAR 1
#define WARN_MEMVAR_ASSUMED 2

View File

@@ -290,7 +290,8 @@ char * _szCErrors[] = { "Statement not allowed outside of procedure or function"
"%s statement with no loop in sight",
"Syntax error: \'%s\' in: \'%s\'",
"Incomplete statement: %s",
"Incorrect number of arguments: %s %s"
"Incorrect number of arguments: %s %s",
"Invalid lvalue"
};
/* Table with parse warnings */
@@ -420,6 +421,11 @@ BOOL _bWarnings = FALSE; /* enable parse warnings */
BOOL _bAutoMemvarAssume = FALSE; /* holds if undeclared variables are automatically assumed MEMVAR */
BOOL _bForceMemvars = FALSE; /* holds if memvars are assumed when accesing undeclared variable */
/* This variable is used to flag if variables have to be passed by reference
* - it is required in DO <proc> WITH <params> statement
*/
BOOL _bForceByRefer = FALSE;
WORD _wSeqCounter = 0;
WORD _wForCounter = 0;
WORD _wIfCounter = 0;
@@ -495,7 +501,7 @@ extern int _iState; /* current parser state (defined in harbour.l */
%type <dNum> DOUBLE
%type <iNumber> ArgList ElemList ExpList FunCall FunScope IncDec Logical Params ParamList
%type <iNumber> INTEGER BlockExpList Argument IfBegin VarId VarList MethParams ObjFunCall
%type <iNumber> MethCall BlockList FieldList
%type <iNumber> MethCall BlockList FieldList DoArgList
%type <lNumber> INTLONG WhileBegin BlockBegin
%type <pVoid> IfElseIf Cases
@@ -573,7 +579,8 @@ Statement : ExecFlow Crlf {}
| VarAssign Crlf { GenPCode1( HB_P_POP ); }
| IDENTIFIER '=' Expression Crlf { PopId( $1 ); }
| AliasExp '=' Expression Crlf { /* TODO */ GenPCode1( HB_P_POP ); }
| AliasVar '=' Expression Crlf { /* TODO */ GenPCode1( HB_P_POP ); }
| AliasFunc '=' Expression Crlf { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| VarId ArrayIndex '=' Expression Crlf { GenPCode1( HB_P_ARRAYPUT ); GenPCode1( HB_P_POP ); }
| FunArrayCall '=' Expression Crlf { GenPCode1( HB_P_ARRAYPUT ); GenPCode1( HB_P_POP ); }
| ObjectData '=' { MessageFix( SetData( $1 ) ); } Expression Crlf { Function( 1 ); GenPCode1( HB_P_POP ); }
@@ -728,8 +735,11 @@ Macro : '&' Variable
| '&' '(' Expression ')'
;
AliasExp : IDENTIFIER ALIAS IDENTIFIER {}
AliasVar : IDENTIFIER ALIAS IDENTIFIER {}
| '(' Expression ')' ALIAS IDENTIFIER {}
;
AliasExp : AliasVar {}
| AliasFunc {}
;
@@ -816,9 +826,23 @@ VarAssign : IDENTIFIER INASSIGN Expression { PopId( $1 ); PushId( $1 ); }
| ObjectMethod ArrayIndex DIVEQ { GenPCode1( HB_P_DUPLTWO ); GenPCode1( HB_P_ARRAYAT ); } Expression { GenPCode1( HB_P_DIVIDE ); GenPCode1( HB_P_ARRAYPUT ); }
| ObjectMethod ArrayIndex EXPEQ { GenPCode1( HB_P_DUPLTWO ); GenPCode1( HB_P_ARRAYAT ); } Expression { GenPCode1( HB_P_POWER ); GenPCode1( HB_P_ARRAYPUT ); }
| ObjectMethod ArrayIndex MODEQ { GenPCode1( HB_P_DUPLTWO ); GenPCode1( HB_P_ARRAYAT ); } Expression { GenPCode1( HB_P_MODULUS ); GenPCode1( HB_P_ARRAYPUT ); }
| AliasExp INASSIGN Expression {}
| AliasVar INASSIGN Expression {}
| AliasVar PLUSEQ Expression {}
| AliasVar MINUSEQ Expression {}
| AliasVar MULTEQ Expression {}
| AliasVar DIVEQ Expression {}
| AliasVar EXPEQ Expression {}
| AliasVar MODEQ Expression {}
| AliasFunc INASSIGN Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| AliasFunc PLUSEQ Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| AliasFunc MINUSEQ Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| AliasFunc MULTEQ Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| AliasFunc DIVEQ Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| AliasFunc EXPEQ Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
| AliasFunc MODEQ Expression { --iLine; GenError( _szCErrors, 'E', ERR_INVALID_LVALUE, NULL, NULL ); }
;
Operators : Expression '=' Expression { GenPCode1( HB_P_EQUAL ); } /* compare */
| Expression '+' Expression { GenPCode1( HB_P_PLUS ); }
| Expression '-' Expression { GenPCode1( HB_P_MINUS ); }
@@ -1086,8 +1110,15 @@ RecoverUsing : RECOVER USING IDENTIFIER
;
DoProc : DO IDENTIFIER { PushSymbol( $2, 1 ); PushNil(); Do( 0 ); }
| DO IDENTIFIER { PushSymbol( $2, 1 ); PushNil(); } WITH ArgList { Do( $5 ); }
| WHILE { PushSymbol( yy_strdup("WHILE"), 1 ); PushNil(); } WITH ArgList { Do( $4 ); }
| DO IDENTIFIER { PushSymbol( $2, 1 ); PushNil(); _bForceByRefer=TRUE; } WITH DoArgList { Do( $5 ); _bForceByRefer=FALSE; }
| WHILE { PushSymbol( yy_strdup("WHILE"), 1 ); PushNil(); _bForceByRefer=TRUE; } WITH DoArgList { Do( $4 ); _bForceByRefer=FALSE; }
;
DoArgList : ',' { PushNil(); PushNil(); $$ = 2; }
| Expression { $$ = 1; }
| DoArgList ',' { PushNil(); $$++; }
| DoArgList ',' Expression { $$++; }
| ',' { PushNil(); } Expression { $$ = 2; }
;
Crlf : '\n'

View File

@@ -13,6 +13,7 @@ C_SOURCES=\
dates.c \
descend.c \
dir.c \
do.c \
environ.c \
errorapi.c \
extend.c \

View File

@@ -482,7 +482,7 @@ HARBOUR HB_CLASSMOD(void)
else if( ( pFunc == SetData ) || ( pFunc == GetData ) )
{ /* Not allowed for DATA */
/*hb_errPutDescription(pError, "CLASSMOD: Cannot modify a DATA item");*/
hb_errorRT_BASE(EG_ARG, 3001, NULL, "CLASSMOD");
hb_errorRT_BASE(EG_ARG, 3004, NULL, "CLASSMOD");
}
else /* Modify METHOD */
pClass->pMethods[ wAt ].pFunction = ( HARBOURFUNC ) hb_parnl( 3 );
@@ -831,7 +831,7 @@ HARBOUR HB_OCLONE( void )
}
else
{
hb_errorRT_BASE(EG_ARG, 3000, NULL, "OCLONE");
hb_errorRT_BASE(EG_ARG, 3001, NULL, "OCLONE");
}
}

View File

@@ -428,7 +428,7 @@ HARBOUR HB_DTOS( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1120, NULL, "DTOS");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "DTOS");
}
#endif
}
@@ -537,7 +537,7 @@ HARBOUR HB_TIME( void )
}
else
{
hb_errorRT_BASE(EG_ARGCOUNT, 9999, NULL, "TIME");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "TIME");
}
}
@@ -557,7 +557,7 @@ HARBOUR HB_DATE( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 9999, NULL, "DATE");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "DATE");
}
}
long hb_dow( long d, long m, long y )
@@ -630,7 +630,7 @@ HARBOUR HB_CMONTH( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1116, NULL, "CMONTH");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "CMONTH");
}
}
@@ -654,7 +654,7 @@ HARBOUR HB_CDOW( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1117, NULL, "CDOW");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "CDOW");
}
}
@@ -665,6 +665,6 @@ HARBOUR HB_SECONDS( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 9999, NULL, "SECONDS");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "SECONDS");
}
}

84
harbour/source/rtl/do.c Normal file
View File

@@ -0,0 +1,84 @@
/*
* $Id$
Harbour Project source code
This file is a part of Harbour Runtime Library and it contains code
that defined DO function ussed in DO <proc> WITH statement.
Copyright (C) 1999 Ryszard Glab
www - http://www.harbour-project.org
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version, with one exception:
The exception is that if you link the Harbour Runtime Library (HRL)
and/or the Harbour Virtual Machine (HVM) with other files to produce
an executable, this does not by itself cause the resulting executable
to be covered by the GNU General Public License. Your use of that
executable is in no way restricted on account of linking the HRL
and/or HVM code into it.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
their web site at http://www.gnu.org/).
*/
#include "extend.h"
#include "itemapi.h"
#include "errorapi.h"
#include "ctoharb.h"
HARBOUR HB_DO( void )
{
PHB_ITEM pItem;
pItem =hb_param( 1, IT_ANY );
if( IS_STRING(pItem) )
{
PDYNSYM pDynSym;
pDynSym =hb_GetDynSym( pItem->item.asString.value );
if( pDynSym )
{
int i;
PushSymbol( pDynSym->pSymbol );
PushNil();
for( i = 2; i <= hb_pcount(); i++ )
Push( hb_param( i, IT_ANY ) );
Do( hb_pcount() - 1 );
}
else
hb_errorRT_BASE( EG_NOFUNC, 1001, NULL, pItem->item.asString.value );
}
else if( IS_BLOCK(pItem) )
{
int i;
PushSymbol( &symEval );
Push( pItem );
for( i = 2; i <= hb_pcount(); i++ )
Push( hb_param( i, IT_ANY ) );
Do( hb_pcount() - 1 );
}
else if( IS_SYMBOL(pItem) )
{
int i;
PushSymbol( pItem->item.asSymbol.value );
PushNil();
for( i = 2; i <= hb_pcount(); i++ )
Push( hb_param( i, IT_ANY ) );
Do( hb_pcount() - 1 );
}
else
hb_errorRT_BASE( EG_ARG, 3012, NULL, "DO" );
}

View File

@@ -335,3 +335,26 @@ WORD hb_errorRT_DBCMD( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, c
return wRetVal;
}
WORD hb_errorRT_TOOLS( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation )
{
PHB_ITEM pError = hb_errNew();
WORD wRetVal;
hb_errPutSeverity( pError, ES_ERROR );
hb_errPutSubSystem( pError, HB_ERR_SS_BASE );
hb_errPutGenCode( pError, ulGenCode );
hb_errPutSubCode( pError, ulSubCode );
if( szDescription )
hb_errPutDescription( pError, szDescription );
else
hb_errPutDescription( pError, hb_errorNatDescription(ulGenCode) );
hb_errPutOperation( pError, szOperation );
wRetVal = hb_errLaunch( pError );
hb_errRelease( pError );
return wRetVal;
}

View File

@@ -584,7 +584,7 @@ HARBOUR HB_FOPEN( void )
}
else
{
hb_errorRT_BASE(EG_ARG, 2021, "Argument error", "FOPEN");
hb_errorRT_BASE(EG_ARG, 3006, NULL, "FOPEN");
}
hb_retni(file_handle);

View File

@@ -491,7 +491,7 @@ HARBOUR HB_INKEY( void )
if( wait && forever && ( s_eventmask & ( INKEY_ALL + INKEY_EXTENDED ) ) == 0 )
{
/* There is no point in waiting forever for no input events! */
hb_errorRT_BASE(EG_ARG, 9001, "Argument error", "INKEY");
hb_errorRT_BASE(EG_ARG, 3007, NULL, "INKEY");
}
else
{

View File

@@ -71,7 +71,7 @@ HARBOUR HB_ABS( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1089, NULL, "ABS");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "ABS");
}
}
@@ -95,7 +95,7 @@ HARBOUR HB_EXP( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1096, NULL, "EXP");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "EXP");
}
}
@@ -113,7 +113,7 @@ HARBOUR HB_INT( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1090, NULL, "INT");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "INT");
}
}
@@ -141,7 +141,7 @@ HARBOUR HB_LOG( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1095, NULL, "LOG");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "LOG");
}
}
@@ -174,7 +174,7 @@ HARBOUR HB_MAX( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1093, NULL, "MAX");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "MAX");
}
}
@@ -207,7 +207,7 @@ HARBOUR HB_MIN( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1092, NULL, "MIN");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "MIN");
}
}
@@ -289,7 +289,7 @@ HARBOUR HB_ROUND( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1094, NULL, "ROUND");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "ROUND");
}
}
@@ -321,7 +321,7 @@ HARBOUR HB_SQRT( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1097, NULL, "SQRT");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "SQRT");
}
}

View File

@@ -444,7 +444,7 @@ static void hb_MemvarCreateFromItem( PHB_ITEM pMemvar, BYTE bScope, PHB_ITEM pVa
else if( IS_STRING( pMemvar ) )
pDynVar =hb_GetDynSym( pMemvar->item.asString.value );
else
hb_errorRT_BASE( EG_ARG, 3000, NULL, "&" );
hb_errorRT_BASE( EG_ARG, 3008, NULL, "&" );
if( pDynVar )
hb_MemvarCreateFromDynSymbol( pDynVar, bScope, pValue );
@@ -518,7 +518,7 @@ void hb_MemvarRelease( HB_ITEM_PTR pMemvar )
}
}
else
hb_errorRT_BASE( EG_ARG, 3000, NULL, "RELEASE" );
hb_errorRT_BASE( EG_ARG, 3008, NULL, "RELEASE" );
}

View File

@@ -272,7 +272,7 @@ HARBOUR HB_LTRIM( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1101, NULL, "LTRIM");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "LTRIM");
}
}
@@ -318,7 +318,7 @@ HARBOUR HB_RTRIM( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1100, NULL, "RTRIM");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "RTRIM");
}
}
@@ -341,7 +341,7 @@ HARBOUR HB_TRIM( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1100, NULL, "TRIM");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "TRIM");
}
}
@@ -591,7 +591,7 @@ HARBOUR HB_AT( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1108, NULL, "AT");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "AT");
}
}
@@ -650,7 +650,7 @@ HARBOUR HB_CHR( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1104, NULL, "CHR");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "CHR");
}
}
@@ -676,7 +676,7 @@ HARBOUR HB_ASC(void)
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1107, NULL, "ASC");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "ASC");
}
}
@@ -705,7 +705,7 @@ HARBOUR HB_LEFT( void )
}
else
{
hb_errorRT_BASE(EG_ARG, 1124, NULL, "LEFT");
hb_errorRT_BASE(EG_ARG, 3009, NULL, "LEFT");
}
}
else
@@ -716,7 +716,7 @@ HARBOUR HB_LEFT( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1124, NULL, "LEFT");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "LEFT");
}
}
@@ -817,7 +817,7 @@ HARBOUR HB_SUBSTR( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1110, NULL, "SUBSTR");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "SUBSTR");
}
}
@@ -851,7 +851,7 @@ HARBOUR HB_LOWER( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1103, NULL, "LOWER");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "LOWER");
}
}
@@ -885,7 +885,7 @@ HARBOUR HB_UPPER( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1102, NULL, "UPPER");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "UPPER");
}
}
@@ -933,7 +933,7 @@ HARBOUR HB_REPLICATE( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1106, NULL, "REPLICATE");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "REPLICATE");
}
}
@@ -971,7 +971,7 @@ HARBOUR HB_SPACE( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1105, NULL, "SPACE");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "SPACE");
}
}
@@ -1163,7 +1163,7 @@ HARBOUR HB_STRTRAN( void )
hb_retclen(szText, pText->item.asString.length);
}
else
hb_errorRT_BASE(EG_ARG, 1126, NULL, "STRTRAN");
hb_errorRT_BASE(EG_ARG, 3010, NULL, "STRTRAN");
}
else
hb_errorRT_BASE(EG_ARG, 1126, NULL, "STRTRAN");
@@ -1204,7 +1204,7 @@ HARBOUR HB_VAL( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1098, NULL, "VAL");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "VAL");
}
}
@@ -1356,6 +1356,6 @@ HARBOUR HB_STR( void )
else
{
/* QUESTION: Clipper catches this at compile time! */
hb_errorRT_BASE(EG_ARGCOUNT, 1099, NULL, "STR");
hb_errorRT_BASE(EG_ARGCOUNT, 3000, NULL, "STR");
}
}

View File

@@ -175,7 +175,7 @@ HARBOUR HB_ISLEAPYEAR( void )
}
else
{
hb_errorRT_BASE(EG_ARG, 9999, NULL, "ISLEAPYEAR");
hb_errorRT_TOOLS(EG_ARG, 4001, NULL, "ISLEAPYEAR");
}
}

View File

@@ -150,7 +150,7 @@ HARBOUR HB_STRFORMAT (void) /* StrFormat() */
nMaskPos = 0;
pszRetVal = pszRetValSave = hb_xgrab(nRetValLen + 1);
pszRetVal = pszRetValSave = (char *) hb_xgrab(nRetValLen + 1);
while (nMaskPos < nMaskLen)
{
if (pszMask[nMaskPos] == '%')

View File

@@ -1456,7 +1456,7 @@ void Plus( void )
OperatorCall( pItem1, pItem2, "+" );
else
hb_errorRT_BASE( EG_DATATYPE, 1081, NULL, "+" );
hb_errorRT_BASE( EG_ARG, 1081, NULL, "+" );
HB_DEBUG( "Plus\n" );
}
@@ -2354,6 +2354,6 @@ HARBOUR HB_PVALUE(void) /* PValue( <nArg> )
hb_itemReturn( pBase + 1 + wParam );
else
{
hb_errorRT_BASE(EG_ARG, 9999, NULL, "PVALUE");
hb_errorRT_BASE(EG_ARG, 3011, NULL, "PVALUE");
}
}

View File

@@ -41,6 +41,7 @@ HARBOUR HB_CTOD( void );
HARBOUR HB_DATE( void );
HARBOUR HB_DAY( void );
HARBOUR HB_DEVPOS( void );
HARBOUR HB_DO( void );
HARBOUR HB_DOW( void );
HARBOUR HB_DTOC( void );
HARBOUR HB_DTOS( void );
@@ -90,7 +91,7 @@ static SYMBOL symbols[] = {
{ "DAY" , FS_PUBLIC, HB_DAY , 0 },
{ "DELETED" , FS_PUBLIC, NULL , 0 },
{ "DEVPOS" , FS_PUBLIC, HB_DEVPOS , 0 },
{ "DO" , FS_PUBLIC, NULL , 0 },
{ "DO" , FS_PUBLIC, HB_DO , 0 },
{ "DOW" , FS_PUBLIC, HB_DOW , 0 },
{ "DTOC" , FS_PUBLIC, HB_DTOC , 0 },
{ "DTOS" , FS_PUBLIC, HB_DTOS , 0 },
@@ -151,10 +152,10 @@ void InitSymbolTable( void )
* Place here your user defined <modulename>__InitSymbols functions
*/
/*
/*
* The symbol tables from runtime support modules start here
*/
*/
#ifdef HARBOUR_STRICT_ANSI_C
#include "initsymb.h"
#endif