*** empty log message ***

This commit is contained in:
Viktor Szakats
1999-08-02 18:06:49 +00:00
parent 417874677a
commit 002db256e4
15 changed files with 177 additions and 189 deletions

View File

@@ -1,3 +1,21 @@
19990802-19:45 GMT+1 Victor Szel <info@szelvesz.hu>
+ include/dates.h
source/rtl/dates.c - const keyword added.
- include/ctoharb.h - extern StackShow() removed.
- include/set.h - HARBOUR externs removed.
* include/extend.h hb_item*() moved to
include/itemapi.h
source/rtl/console.c
source/rtl/transfrm.c
* source/rtl/console.c
source/rtl/strings.c
include/itemapi.h - hb_str() -> hb_itemStr()
%! source/rtl/transfrm.c - Fixed the case when no picture is passed.
Got rid of NUMDEFAULT(). Now using hb_itemStr() instead of
HARBOUR function callback to HB_STR(), some callbacks are still
left though.
* include/*.h - Some more cleanup.
19990802-18:23 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/tools/mathx.c - Added PI()
Posted by Matteo Baccan (baccan@isanet.it)
@@ -65,8 +83,8 @@
include/dates.h
hb_dateStrPut(), hb_dateStrGet() added. Redundant code converted
to calls for these.
* include/set.h
source/vm/hvm.c- Extern decls moved to source/rtl/set.c and to
* include/set.h - Extern decls moved to source/rtl/set.c and to
source/vm/hvm.c
* source/rtl/codebloc.c - Extern decls moved to include/extend.h
* source/vm/initsymb.c - Extern decl moved to include/extend.h
+ include/*.h - extern keyword added to all extern declarations.

View File

@@ -44,6 +44,5 @@ extern void PushLogical( int iTrueFalse ); /* pushes a logical value onto the st
extern void PushSymbol( PSYMBOL );
extern void Do( WORD wParams ); /* invokes the virtual machine */
extern void Function( WORD wParams ); /* invokes the virtual machine */
extern void StackShow( void );
#endif /* HB_CTOHARB_H_ */

View File

@@ -14,6 +14,6 @@ extern char * hb_dtoc( const char * szDate, char * szFormattedDate, const char
extern long hb_dateEncode( long lDay, long lMonth, long lYear );
extern void hb_dateDecode( long julian, long * plDay, long * plMonth, long * plYear );
extern void hb_dateStrPut( char * szDate, long lDay, long lMonth, long lYear );
extern void hb_dateStrGet( char * szDate, long * plDay, long * plMonth, long * plYear );
extern void hb_dateStrGet( const char * szDate, long * plDay, long * plMonth, long * plYear );
#endif /* HB_DATES_H_ */

View File

@@ -71,41 +71,40 @@
/* Standard API */
extern char * hb_errGetDescription( PHB_ITEM pError );
extern char * hb_errGetFileName( PHB_ITEM pError );
extern USHORT hb_errGetFlags( PHB_ITEM pError );
extern USHORT hb_errGetGenCode( PHB_ITEM pError );
extern char * hb_errGetOperation( PHB_ITEM pError );
extern USHORT hb_errGetOsCode( PHB_ITEM pError );
extern USHORT hb_errGetSeverity( PHB_ITEM pError );
extern USHORT hb_errGetSubCode( PHB_ITEM pError );
extern char * hb_errGetSubSystem( PHB_ITEM pError );
extern USHORT hb_errGetTries( PHB_ITEM pError );
extern WORD hb_errLaunch( PHB_ITEM pError );
extern PHB_ITEM hb_errNew( void );
extern PHB_ITEM hb_errPutDescription( PHB_ITEM pError, char * szDescription );
extern PHB_ITEM hb_errPutFileName( PHB_ITEM pError, char * szFileName );
extern PHB_ITEM hb_errPutFlags( PHB_ITEM pError, USHORT uiFlags );
extern PHB_ITEM hb_errPutGenCode( PHB_ITEM pError, USHORT uiGenCode );
extern PHB_ITEM hb_errPutOperation( PHB_ITEM pError, char * szOperation );
extern PHB_ITEM hb_errPutOsCode( PHB_ITEM pError, USHORT uiOsCode );
extern PHB_ITEM hb_errPutSeverity( PHB_ITEM pError, USHORT uiSeverity );
extern PHB_ITEM hb_errPutSubCode( PHB_ITEM pError, USHORT uiSubCode );
extern PHB_ITEM hb_errPutSubSystem( PHB_ITEM pError, char * szSubSystem );
extern PHB_ITEM hb_errPutTries( PHB_ITEM pError, USHORT uiTries );
extern void hb_errRelease( PHB_ITEM pError );
extern char * hb_errGetDescription ( PHB_ITEM pError );
extern char * hb_errGetFileName ( PHB_ITEM pError );
extern USHORT hb_errGetFlags ( PHB_ITEM pError );
extern USHORT hb_errGetGenCode ( PHB_ITEM pError );
extern char * hb_errGetOperation ( PHB_ITEM pError );
extern USHORT hb_errGetOsCode ( PHB_ITEM pError );
extern USHORT hb_errGetSeverity ( PHB_ITEM pError );
extern USHORT hb_errGetSubCode ( PHB_ITEM pError );
extern char * hb_errGetSubSystem ( PHB_ITEM pError );
extern USHORT hb_errGetTries ( PHB_ITEM pError );
extern WORD hb_errLaunch ( PHB_ITEM pError );
extern PHB_ITEM hb_errNew ( void );
extern PHB_ITEM hb_errPutDescription ( PHB_ITEM pError, char * szDescription );
extern PHB_ITEM hb_errPutFileName ( PHB_ITEM pError, char * szFileName );
extern PHB_ITEM hb_errPutFlags ( PHB_ITEM pError, USHORT uiFlags );
extern PHB_ITEM hb_errPutGenCode ( PHB_ITEM pError, USHORT uiGenCode );
extern PHB_ITEM hb_errPutOperation ( PHB_ITEM pError, char * szOperation );
extern PHB_ITEM hb_errPutOsCode ( PHB_ITEM pError, USHORT uiOsCode );
extern PHB_ITEM hb_errPutSeverity ( PHB_ITEM pError, USHORT uiSeverity );
extern PHB_ITEM hb_errPutSubCode ( PHB_ITEM pError, USHORT uiSubCode );
extern PHB_ITEM hb_errPutSubSystem ( PHB_ITEM pError, char * szSubSystem );
extern PHB_ITEM hb_errPutTries ( PHB_ITEM pError, USHORT uiTries );
extern void hb_errRelease ( PHB_ITEM pError );
/* Error launchers */
extern WORD hb_errorRT_BASE( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_TERMINAL( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_DBCMD( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_TOOLS( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_BASE ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_TERMINAL ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_DBCMD ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
extern WORD hb_errorRT_TOOLS ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation );
/* TODO: Enable this:
extern void hb_errorInternal( ULONG ulCode );
extern void hb_errorInternal ( ULONG ulCode );
*/
/* Reads error description in national language */
extern char *hb_errorNatDescription( ULONG ulGenCode );
extern char * hb_errorNatDescription ( ULONG ulGenCode ); /* Reads error description in national language */
#endif /* HB_ERRORAPI_H_ */

View File

@@ -301,16 +301,10 @@ extern void hb_arrayDel( PHB_ITEM pArray, ULONG ulIndex );
extern PHB_ITEM hb_arrayClone( PHB_ITEM pArray );
extern void hb_arrayAdd( PHB_ITEM pArray, PHB_ITEM pItemValue );
extern int hb_itemStrCmp( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */
extern void hb_itemCopy( PHB_ITEM pDest, PHB_ITEM pSource ); /* copies an item to one place to another respecting its containts */
extern void hb_itemClear( PHB_ITEM pItem );
extern PHB_ITEM hb_itemUnRef( PHB_ITEM pItem ); /* de-references passed variable */
#define HB_STRGREATER_EQUAL 0
#define HB_STRGREATER_LEFT 1
#define HB_STRGREATER_RIGHT 2
extern char * hb_str( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ); /* convert number to string */
extern int hb_stricmp( const char *s1, const char *s2 );
extern BOOL hb_strempty( char * szText, ULONG ulLen );
extern WORD hb_strgreater( char * sz1, char * sz2 );

View File

@@ -1,4 +1,4 @@
/*
/*
* $Id$
*/
@@ -54,26 +54,26 @@ typedef void * ERRORP;
typedef int FHANDLE;
typedef PBYTE BYTEP;
extern BOOL hb_fsChDir ( BYTEP fpDirName );
extern USHORT hb_fsChDrv ( BYTEP nDrive );
extern void hb_fsClose ( FHANDLE hFileHandle );
extern void hb_fsCommit ( FHANDLE hFileHandle );
extern FHANDLE hb_fsCreate ( BYTEP fpFilename, USHORT uiAttribute );
extern BYTEP hb_fsCurDir ( USHORT uiDrive );
extern BYTE hb_fsCurDrv ( void );
extern void hb_fsDelete ( BYTEP fpFilename );
extern USHORT hb_fsError ( void );
extern FHANDLE hb_fsExtOpen( BYTEP fpFilename, BYTEP fpDefExt,
USHORT uiFlags, BYTEP fpPaths, ERRORP pError );
extern USHORT hb_fsIsDrv ( BYTE nDrive );
extern BOOL hb_fsLock ( FHANDLE hFileHandle, ULONG ulStart,
ULONG ulLength, USHORT uiMode );
extern BOOL hb_fsMkDir ( BYTEP fpDirName );
extern FHANDLE hb_fsOpen ( BYTEP fpFilename, USHORT uiFlags );
extern USHORT hb_fsRead ( FHANDLE hFileHandle, BYTEP fpBuff, USHORT uiCount );
extern BOOL hb_fsRmDir ( BYTEP fpDirName );
extern void hb_fsRename ( BYTEP fpOldName, BYTEP fpNewName );
extern ULONG hb_fsSeek ( FHANDLE hFileHandle, LONG lOffset, USHORT uiMode );
extern USHORT hb_fsWrite ( FHANDLE hFileHandle, BYTEP fpBuff, USHORT uiCount );
extern BOOL hb_fsChDir ( BYTEP fpDirName );
extern USHORT hb_fsChDrv ( BYTEP nDrive );
extern void hb_fsClose ( FHANDLE hFileHandle );
extern void hb_fsCommit ( FHANDLE hFileHandle );
extern FHANDLE hb_fsCreate ( BYTEP fpFilename, USHORT uiAttribute );
extern BYTEP hb_fsCurDir ( USHORT uiDrive );
extern BYTE hb_fsCurDrv ( void );
extern void hb_fsDelete ( BYTEP fpFilename );
extern USHORT hb_fsError ( void );
extern FHANDLE hb_fsExtOpen ( BYTEP fpFilename, BYTEP fpDefExt,
USHORT uiFlags, BYTEP fpPaths, ERRORP pError );
extern USHORT hb_fsIsDrv ( BYTE nDrive );
extern BOOL hb_fsLock ( FHANDLE hFileHandle, ULONG ulStart,
ULONG ulLength, USHORT uiMode );
extern BOOL hb_fsMkDir ( BYTEP fpDirName );
extern FHANDLE hb_fsOpen ( BYTEP fpFilename, USHORT uiFlags );
extern USHORT hb_fsRead ( FHANDLE hFileHandle, BYTEP fpBuff, USHORT uiCount );
extern BOOL hb_fsRmDir ( BYTEP fpDirName );
extern void hb_fsRename ( BYTEP fpOldName, BYTEP fpNewName );
extern ULONG hb_fsSeek ( FHANDLE hFileHandle, LONG lOffset, USHORT uiMode );
extern USHORT hb_fsWrite ( FHANDLE hFileHandle, BYTEP fpBuff, USHORT uiCount );
#endif /* HB_FILESYS_H_ */

View File

@@ -39,28 +39,28 @@
/*
* Errors generated by Harbour compiler
*/
#define ERR_OUTSIDE 1
#define ERR_FUNC_DUPL 2
#define ERR_VAR_DUPL 3
#define ERR_FOLLOWS_EXEC 4
#define ERR_OUTER_VAR 5
#define ERR_NUMERIC_FORMAT 6
#define ERR_STRING_TERMINATOR 7
#define ERR_FUNC_RESERVED 8
#define ERR_ILLEGAL_INIT 9
#define ERR_ENDIF 10
#define ERR_ENDDO 11
#define ERR_ENDCASE 12
#define ERR_NEXTFOR 13
#define ERR_UNMATCHED_ELSE 14
#define ERR_UNMATCHED_ELSEIF 15
#define ERR_SYNTAX 16
#define ERR_UNCLOSED_STRU 17
#define ERR_UNMATCHED_EXIT 18
#define ERR_SYNTAX2 19
#define ERR_INCOMPLETE_STMT 20
#define ERR_CHECKING_ARGS 21
#define ERR_INVALID_LVALUE 22
#define ERR_OUTSIDE 1
#define ERR_FUNC_DUPL 2
#define ERR_VAR_DUPL 3
#define ERR_FOLLOWS_EXEC 4
#define ERR_OUTER_VAR 5
#define ERR_NUMERIC_FORMAT 6
#define ERR_STRING_TERMINATOR 7
#define ERR_FUNC_RESERVED 8
#define ERR_ILLEGAL_INIT 9
#define ERR_ENDIF 10
#define ERR_ENDDO 11
#define ERR_ENDCASE 12
#define ERR_NEXTFOR 13
#define ERR_UNMATCHED_ELSE 14
#define ERR_UNMATCHED_ELSEIF 15
#define ERR_SYNTAX 16
#define ERR_UNCLOSED_STRU 17
#define ERR_UNMATCHED_EXIT 18
#define ERR_SYNTAX2 19
#define ERR_INCOMPLETE_STMT 20
#define ERR_CHECKING_ARGS 21
#define ERR_INVALID_LVALUE 22
#define WARN_AMBIGUOUS_VAR 1
#define WARN_MEMVAR_ASSUMED 2
@@ -71,9 +71,9 @@
#define WARN_NUMERIC_TYPE 7
#define WARN_OPERANDS_INCOMPATBLE 8
#define WARN_ASSIGN_SUSPECT 9
#define WARN_OPERAND_SUSPECT 10
#define WARN_LOGICAL_SUSPECT 11
#define WARN_NUMERIC_SUSPECT 12
#define WARN_OPERAND_SUSPECT 10
#define WARN_LOGICAL_SUSPECT 11
#define WARN_NUMERIC_SUSPECT 12
/*
* Errors generated by Harbour preprocessor
@@ -88,7 +88,7 @@
#define ERR_RECURSE 8
#define ERR_WRONG_DIRECTIVE 9
extern void GenError( char* _szErrors[], char, int, char*, char * ); /* generic parsing error management function */
extern void GenWarning( int, char*, char * ); /* generic parsing warning management function */
extern void GenError( char* _szErrors[], char, int, char*, char * ); /* generic parsing error management function */
extern void GenWarning( int, char*, char * ); /* generic parsing warning management function */
#endif /* HB_ERROR_H_ */

View File

@@ -1,4 +1,4 @@
/*
/*
* $Id$
*/
@@ -61,21 +61,21 @@
#define HB_VER_H_
/*
extern int hb_major;
extern int hb_minor;
extern char * hb_revision;
extern int hb_build;
extern int hb_year;
extern int hb_month;
extern int hb_day;
extern int hb_major;
extern int hb_minor;
extern char * hb_revision;
extern int hb_build;
extern int hb_year;
extern int hb_month;
extern int hb_day;
*/
#define hb_major 0 /* Major version number */
#define hb_minor 0 /* Minor version number */
#define hb_revision "" /* Revision letter */
#define hb_build 29 /* Build number */
#define hb_year 1999 /* Build year */
#define hb_month 7 /* Build month */
#define hb_day 21 /* Build day */
#define hb_major 0 /* Major version number */
#define hb_minor 0 /* Minor version number */
#define hb_revision "" /* Revision letter */
#define hb_build 29 /* Build number */
#define hb_year 1999 /* Build year */
#define hb_month 7 /* Build month */
#define hb_day 21 /* Build day */
#endif /* HB_VER_H_ */

View File

@@ -43,10 +43,10 @@
#include "hbdefs.h"
/* Harbour keyboard support functions */
extern int hb_inkeyGet( void ); /* Extract the next key from the Harbour keyboard buffer */
extern int hb_inkeyLast( void ); /* Return the value of the last key that was extracted */
extern int hb_inkeyNext( void ); /* Return the next key without extracting it */
extern void hb_inkeyPoll( void ); /* Poll the console keyboard to stuff the Harbour buffer */
extern void hb_inkeyReset( BOOL allocate ); /* Reset the Harbour keyboard buffer */
extern int hb_inkeyGet( void ); /* Extract the next key from the Harbour keyboard buffer */
extern int hb_inkeyLast( void ); /* Return the value of the last key that was extracted */
extern int hb_inkeyNext( void ); /* Return the next key without extracting it */
extern void hb_inkeyPoll( void ); /* Poll the console keyboard to stuff the Harbour buffer */
extern void hb_inkeyReset( BOOL allocate ); /* Reset the Harbour keyboard buffer */
#endif

View File

@@ -36,32 +36,40 @@ typedef struct
PHB_ITEM pItems[ HB_EVAL_PARAM_MAX_ + 1 ];
} EVALINFO, * PEVALINFO;
extern PHB_ITEM hb_evalLaunch( PEVALINFO pEvalInfo );
extern BOOL hb_evalNew( PEVALINFO pEvalInfo, PHB_ITEM pItem );
extern BOOL hb_evalPutParam( PEVALINFO pEvalInfo, PHB_ITEM pItem );
extern BOOL hb_evalRelease( PEVALINFO pEvalInfo );
extern PHB_ITEM hb_evalLaunch ( PEVALINFO pEvalInfo );
extern BOOL hb_evalNew ( PEVALINFO pEvalInfo, PHB_ITEM pItem );
extern BOOL hb_evalPutParam ( PEVALINFO pEvalInfo, PHB_ITEM pItem );
extern BOOL hb_evalRelease ( PEVALINFO pEvalInfo );
extern PHB_ITEM hb_itemArrayGet( PHB_ITEM pArray, ULONG ulIndex );
extern PHB_ITEM hb_itemArrayNew( ULONG ulLen );
extern PHB_ITEM hb_itemArrayPut( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem );
extern ULONG hb_itemCopyC( PHB_ITEM pItem, char *szBuffer, ULONG ulLen );
extern BOOL hb_itemFreeC( char *szText );
extern char * hb_itemGetC( PHB_ITEM pItem );
extern char * hb_itemGetDS( PHB_ITEM pItem, char *szDate );
extern BOOL hb_itemGetL( PHB_ITEM pItem );
extern double hb_itemGetND( PHB_ITEM pItem );
extern long hb_itemGetNL( PHB_ITEM pItem );
extern PHB_ITEM hb_itemNew( PHB_ITEM pNull );
extern PHB_ITEM hb_itemParam( WORD wParam );
extern PHB_ITEM hb_itemPutC( PHB_ITEM pItem, char *szText );
extern PHB_ITEM hb_itemPutCL( PHB_ITEM pItem, char *nszText, ULONG ulLen );
extern PHB_ITEM hb_itemPutDS( PHB_ITEM pItem, char *szDate );
extern PHB_ITEM hb_itemPutL( PHB_ITEM pItem, BOOL bValue );
extern PHB_ITEM hb_itemPutND( PHB_ITEM pItem, double dNumber );
extern PHB_ITEM hb_itemPutNL( PHB_ITEM pItem, long lNumber );
extern BOOL hb_itemRelease( PHB_ITEM pItem );
extern PHB_ITEM hb_itemReturn( PHB_ITEM pItem );
extern ULONG hb_itemSize( PHB_ITEM pItem );
extern WORD hb_itemType( PHB_ITEM pItem );
extern PHB_ITEM hb_itemArrayGet ( PHB_ITEM pArray, ULONG ulIndex );
extern PHB_ITEM hb_itemArrayNew ( ULONG ulLen );
extern PHB_ITEM hb_itemArrayPut ( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem );
extern ULONG hb_itemCopyC ( PHB_ITEM pItem, char *szBuffer, ULONG ulLen );
extern BOOL hb_itemFreeC ( char *szText );
extern char * hb_itemGetC ( PHB_ITEM pItem );
extern char * hb_itemGetDS ( PHB_ITEM pItem, char *szDate );
extern BOOL hb_itemGetL ( PHB_ITEM pItem );
extern double hb_itemGetND ( PHB_ITEM pItem );
extern long hb_itemGetNL ( PHB_ITEM pItem );
extern PHB_ITEM hb_itemNew ( PHB_ITEM pNull );
extern PHB_ITEM hb_itemParam ( WORD wParam );
extern PHB_ITEM hb_itemPutC ( PHB_ITEM pItem, char *szText );
extern PHB_ITEM hb_itemPutCL ( PHB_ITEM pItem, char *nszText, ULONG ulLen );
extern PHB_ITEM hb_itemPutDS ( PHB_ITEM pItem, char *szDate );
extern PHB_ITEM hb_itemPutL ( PHB_ITEM pItem, BOOL bValue );
extern PHB_ITEM hb_itemPutND ( PHB_ITEM pItem, double dNumber );
extern PHB_ITEM hb_itemPutNL ( PHB_ITEM pItem, long lNumber );
extern BOOL hb_itemRelease ( PHB_ITEM pItem );
extern PHB_ITEM hb_itemReturn ( PHB_ITEM pItem );
extern ULONG hb_itemSize ( PHB_ITEM pItem );
extern WORD hb_itemType ( PHB_ITEM pItem );
/* Non Clipper compliant API */
extern int hb_itemStrCmp ( PHB_ITEM pFirst, PHB_ITEM pSecond, BOOL bForceExact ); /* our string compare */
extern void hb_itemCopy ( PHB_ITEM pDest, PHB_ITEM pSource ); /* copies an item to one place to another respecting its containts */
extern void hb_itemClear ( PHB_ITEM pItem );
extern PHB_ITEM hb_itemUnRef ( PHB_ITEM pItem ); /* de-references passed variable */
extern char * hb_itemStr ( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec ); /* convert number to string */
#endif /* HB_ITEMAPI_H_ */

View File

@@ -190,8 +190,6 @@ extern int hb_set_althan;
extern int hb_set_extrahan;
extern int hb_set_printhan;
extern HARBOUR HB_SET( void );
extern HARBOUR HB_SETCENTURY( void );
extern void hb_setInitialize( void );
extern void hb_setRelease( void );

View File

@@ -44,6 +44,7 @@
#include "hbsetup.h"
#include "extend.h"
#include "itemapi.h"
#include "ctoharb.h"
#include "init.h"
#include "dates.h"
@@ -268,7 +269,7 @@ static void hb_out( WORD wParam, hb_out_func_typedef * hb_out_func )
case IT_DOUBLE:
case IT_INTEGER:
case IT_LONG:
szText = hb_str( pItem, 0, 0 ); /* Let hb_str() do the hard work */
szText = hb_itemStr( pItem, 0, 0 ); /* Let hb_itemStr() do the hard work */
if( szText )
{
hb_out_func( szText, strlen( szText ) );
@@ -989,7 +990,7 @@ HARBOUR HB_SHADOW (void)
uiAttr = 7;
else if( hb_pcount() == 5 )
uiAttr = hb_parni(5);
if( hb_pcount() > 3 )
hb_gt_DrawShadow(hb_parni(1)+1,hb_parni(2)+1,hb_parni(3)+1,hb_parni(4)+1,uiAttr);
#endif

View File

@@ -181,7 +181,7 @@ void hb_dateStrPut( char * szDate, long lDay, long lMonth, long lYear )
szDate[ 7 ] = ( lDay % 10 ) + '0';
}
void hb_dateStrGet( char * szDate, long * plDay, long * plMonth, long * plYear )
void hb_dateStrGet( const char * szDate, long * plDay, long * plMonth, long * plYear )
{
if( szDate && strlen( szDate ) == 8 )
{

View File

@@ -1215,7 +1215,8 @@ HARBOUR HB_VAL( void )
Note: The caller is responsible for calling hb_xfree to free the results buffer,
but ONLY if the return value is not a NULL pointer!
*/
char * hb_str( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec )
/* TODO: Move it to itemapi.c */
char * hb_itemStr( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec )
{
char * szResult = 0;
@@ -1309,7 +1310,7 @@ char * hb_str( PHB_ITEM pNumber, PHB_ITEM pWidth, PHB_ITEM pDec )
}
/* converts a numeric to a string with optional width & precision.
calls hb_str() after validating parameters
calls hb_itemStr() after validating parameters
*/
HARBOUR HB_STR( void )
{
@@ -1339,7 +1340,7 @@ HARBOUR HB_STR( void )
}
if( bValid )
{
char * szResult = hb_str( pNumber, pWidth, pDec );
char * szResult = hb_itemStr( pNumber, pWidth, pDec );
if( szResult )
{

View File

@@ -34,11 +34,15 @@
* partial copyright with regards to string handling
*/
/* TODO: Getting rid of calling back HARBOUR HB_STR() function */
/* and #include "ctohard.h" */
#include <ctype.h>
#include "extend.h"
#include "init.h"
#include "errorapi.h"
#include "ctoharb.h"
#include <ctype.h>
#include "itemapi.h"
#include "errorapi.h"
#include "dates.h"
#include "set.h"
@@ -353,34 +357,6 @@ char *NumPicture( char *szPic, long lPic, int iPicFlags, double dValue,
return(szRet);
}
/*
NumDefault -> Handle default numerics.
dValue : Number to picture
lRetSize : The size of the returned string is passed here !
*/
void StackPop( void ); /* TOFIX: Should go away */
PHB_ITEM NumDefault( double dValue )
{ /* Default number */
PushSymbol ( hb_GetDynSym( "STR" )->pSymbol ); /* Push STR function */
PushNil (); /* Function call. No object */
PushDouble ( dValue, hb_set.HB_SET_DECIMALS );
/* Push value to transform */
Function ( 1 ); /* 1 Parameter */
StackPop (); /* Pop return value */
if( stack.pPos->type != IT_STRING ) /* Is it a string */
{
printf( "\nNUMDEFAULT: STR does not return string" );
_exit(1);
}
return( stack.pPos );
}
/*
DatePicture -> Handle dates.
@@ -409,7 +385,6 @@ HARBOUR HB_TRANSFORM( void )
{
PHB_ITEM pPic = hb_param( 2, IT_STRING);/* Picture string */
PHB_ITEM pExp = hb_param( 1, IT_ANY ); /* Input parameter */
PHB_ITEM pItem;
char *szPic = pPic->item.asString.value;
char *szTemp;
@@ -617,24 +592,19 @@ HARBOUR HB_TRANSFORM( void )
break;
}
case IT_INTEGER:
{
pItem = NumDefault( (double) pExp->item.asInteger.value );
hb_retclen( pItem->item.asString.value, pItem->item.asInteger.length );
hb_itemClear( pItem );
break;
}
case IT_LONG:
{
pItem = NumDefault( (double) pExp->item.asLong.value );
hb_retclen( pItem->item.asString.value, pItem->item.asLong.length );
hb_itemClear( pItem );
break;
}
case IT_DOUBLE:
{
pItem = NumDefault( (double) pExp->item.asDouble.value );
hb_retclen( pItem->item.asString.value, pItem->item.asDouble.length );
hb_itemClear( pItem );
char * szStr = hb_itemStr(pExp, 0, 0);
if (szStr)
{
hb_retc( szStr );
hb_xfree( szStr );
}
else
hb_retc("");
break;
}
case IT_DATE: