Commit Graph

2126 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
c3e1436da0 2009-06-26 02:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbapidbg.h
  * harbour/include/hbset.h
  * harbour/include/hbcomp.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbstack.h
  * harbour/include/hbsxfunc.h
  * harbour/include/hbapilng.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbapifs.h
  * harbour/include/hbdbsort.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapi.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbrddfpt.h
  * harbour/contrib/hbmysql/mysql.c
  * harbour/contrib/hbct/bitnum.c
  * harbour/contrib/hbct/token2.c
  * harbour/contrib/hbct/charsprd.c
  * harbour/contrib/hbct/ctnet.c
  * harbour/contrib/hbct/charonly.c
  * harbour/contrib/hbct/atadjust.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/charsort.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/charmix.c
  * harbour/contrib/hbct/charevod.c
  * harbour/contrib/hbct/maxline.c
  * harbour/contrib/hbct/wordrepl.c
  * harbour/contrib/hbct/charrepl.c
  * harbour/contrib/hbct/files.c
  * harbour/contrib/hbct/video.c
  * harbour/contrib/hbct/charswap.c
  * harbour/contrib/hbct/dattime3.c
  * harbour/contrib/hbct/charop.c
  * harbour/contrib/hbct/misc2.c
  * harbour/contrib/hbct/charone.c
  * harbour/contrib/hbct/ctstr.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/token1.c
  * harbour/contrib/hbct/ctstr.h
  * harbour/contrib/hbct/charmirr.c
  * harbour/contrib/hbct/relation.c
  * harbour/contrib/hbct/atnum.c
  * harbour/contrib/hbct/like.c
  * harbour/contrib/hbct/count.c
  * harbour/contrib/hbct/disk.c
  * harbour/contrib/hbct/ctstrfil.c
  * harbour/contrib/hbct/posdiff.c
  * harbour/contrib/hbct/addascii.c
  * harbour/contrib/hbct/tab.c
  * harbour/contrib/hbct/numline.c
  * harbour/contrib/hbct/dattime2.c
  * harbour/contrib/hbct/asciisum.c
  * harbour/contrib/hbct/expand.c
  * harbour/contrib/hbct/pos2.c
  * harbour/contrib/hbct/numat.c
  * harbour/contrib/hbct/atrepl.c
  * harbour/contrib/hbct/wordtoch.c
  * harbour/contrib/hbct/print.c
  * harbour/contrib/hbct/justify.c
  * harbour/contrib/xhb/hbxml.c
  * harbour/contrib/xhb/dbf2txt.c
  * harbour/contrib/xhb/xhbis.c
  * harbour/contrib/xhb/fparse.c
  * harbour/contrib/xhb/xstrdel.c
  * harbour/contrib/xhb/hbcomprs.c
  * harbour/contrib/xhb/datesxhb.c
  * harbour/contrib/xhb/xhbmsgs.c
  * harbour/contrib/xhb/freadlin.c
  * harbour/contrib/xhb/txtline.c
  * harbour/contrib/xhb/xhbtrim.c
  * harbour/contrib/xhb/xhbcopyf.c
  * harbour/contrib/xhb/cstructc.c
  * harbour/contrib/xhb/xhbfunc.c
  * harbour/contrib/hbtpathy/tplinux.c
  * harbour/contrib/hbgt/charmixg.c
  * harbour/contrib/hbgt/strexpan.c
  * harbour/contrib/hbgt/charodd.c
  * harbour/contrib/hbgt/strright.c
  * harbour/contrib/hbgt/asciisgt.c
  * harbour/contrib/hbgt/strdiffg.c
  * harbour/contrib/hbgt/chrtotal.c
  * harbour/contrib/hbgt/strcount.c
  * harbour/contrib/hbgt/strleft.c
  * harbour/contrib/hbgt/ascposgt.c
  * harbour/contrib/hbgt/chrfirst.c
  * harbour/contrib/hbgt/chrcount.c
  * harbour/contrib/hbgt/strpbrk.c
  * harbour/contrib/hbgt/chareven.c
  * harbour/contrib/hbgt/strcspn.c
  * harbour/contrib/hbgt/atdiff.c
  * harbour/contrib/hbsqlit3/hbsqlit3.c
  * harbour/contrib/hbmzip/hbmzip.c
  * harbour/contrib/hbnf/proper.c
  * harbour/contrib/hbnf/fttext.c
  * harbour/contrib/hbnf/chdir.c
  * harbour/contrib/hbnf/getver.c
  * harbour/contrib/hbnf/ftattr.c
  * harbour/contrib/hbnf/mkdir.c
  * harbour/contrib/hbnf/rmdir.c
  * harbour/contrib/Makefile
  * harbour/contrib/hbcurl/hbcurl.c
  * harbour/contrib/rddsql/sddmy/mysqldd.c
  * harbour/contrib/rddsql/sddpg/pgsqldd.c
  * harbour/contrib/rddsql/sddfb/fbirddd.c
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/rddsql/sqlmix.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/rddads.h
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/hbmisc/hb_f.c
  * harbour/contrib/hbmisc/strfmt.c
  * harbour/contrib/hbmisc/stringsx.c
  * harbour/contrib/hbmisc/spd.c
  * harbour/contrib/hbtip/utils.c
  * harbour/contrib/hbwin/wapi_winbase.c
  * harbour/contrib/hbwin/win_misc.c
  * harbour/contrib/hbbtree/hb_btree.h
  * harbour/contrib/hbbtree/hb_btree.c
  * harbour/source/pp/hbpp.c
  * harbour/source/vm/runner.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/set.c
  * harbour/source/main/harbour.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/common/hbfopen.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/chrasc.c
  * harbour/source/rtl/fscopy.c
  * harbour/source/rtl/run.c
  * harbour/source/rtl/spfiles.c
  * harbour/source/rtl/defpath.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/oldbox.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/dirdrive.c
  * harbour/source/rtl/hbi18n1.c
  * harbour/source/rtl/trim.c
  * harbour/source/rtl/hbzlibgz.c
  * harbour/source/rtl/philesx.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/source/rtl/filehb.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/is.c
  * harbour/source/rtl/hbrunfun.c
  * harbour/source/rtl/ampm.c
  * harbour/source/rtl/setcolor.c
  * harbour/source/rtl/oemansi.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/hbzlib.c
  * harbour/source/rtl/strpeek.c
  * harbour/source/rtl/replic.c
  * harbour/source/rtl/stuff.c
  * harbour/source/rtl/hbstrfmt.c
  * harbour/source/rtl/transfrm.c
  * harbour/source/rtl/hbhex.c
  * harbour/source/rtl/trace.c
  * harbour/source/rtl/hbadler.c
  * harbour/source/rtl/samples.c
  * harbour/source/rtl/filebuf.c
  * harbour/source/rtl/hbcrc.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/hbmd5.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/errapi.c
  * harbour/source/rtl/hbregexc.c
  * harbour/source/rtl/natmsg.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/colorind.c
  * harbour/source/rtl/copyfile.c
  * harbour/source/rtl/mouseapi.c
  * harbour/source/rtl/soundex.c
  * harbour/source/rtl/memofile.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/direct.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/file.c
  * harbour/source/rtl/val.c
  * harbour/source/rtl/hbregex.c
  * harbour/source/rtl/rat.c
  * harbour/source/rtl/isprint.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbsql.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/wacore.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbdetach.c
  * harbour/source/rdd/dbcmdx.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rdd/dbcmd53.c
  * harbour/source/rdd/usrrdd/usrrdd.c
  * harbour/source/rdd/wafunc.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hbsix/sxsem.c
  * harbour/source/rdd/hbsix/sxord.c
  * harbour/source/rdd/hbsix/sxfname.c
  * harbour/source/rdd/hbsix/sxtable.c
  * harbour/source/rdd/hbsix/sxdate.c
  * harbour/source/rdd/hbsix/sxutil.c
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
    * changed 'char *' and changed 'BYTE *' to 'const char *' in
      the following functions:
         const char * hb_vmFindModuleSymbolName( PHB_SYMB pSym );
         void  hb_vmInitSymbolGroup( void * hNewDynLib, int argc,
                                     const char * argv[] );
         void hb_dbgEntry( int nMode, int nLine, const char *szName,
                           int nIndex, PHB_ITEM pFrame );
         void hb_dbgAddBreak( void *handle, const char *cModule,
                              int nLine, const char *szFunction );
         void hb_dbgAddWatch( void *handle, const char *szExpr, BOOL bTrace );
         PHB_ITEM hb_dbgGetExpressionValue( void *handle,
                                            const char *expression );
         BOOL hb_dbgIsValidStopLine( void *handle, const char *szModule,
                                     int nLine );
         void hb_dbgSetToCursor( void *handle, const char *szModule,
                                 int nLine );
         void hb_dbgSetWatch( void *handle, int nWatch,
                              const char *szExpr, BOOL bTrace );
         const char * hb_setGetCPtr( HB_set_enum set_specifier );
         const char * hb_setGetAltFile( void );
         const char * hb_setGetDateFormat( void );
         const char * hb_setGetTimeFormat( void );
         const char * hb_setGetDefault( void );
         const char * hb_setGetDelimChars( void );
         const char * hb_setGetDevice( void );
         const char * hb_setGetExtraFile( void );
         const char * hb_setGetPath( void );
         const char * hb_setGetMFileExt( void );
         const char * hb_setGetPrintFile( void );
         const char * hb_setGetEOL( void );
         const char * hb_setGetHBOUTLOG( void );
         const char * hb_setGetHBOUTLOGINFO( void );
         const char * hb_setGetOSCODEPAGE( void );
         void hb_compInitPP( HB_COMP_DECL, int argc,
                             const char * const argv[] );
         void hb_compGenPCodeN( const BYTE * pBuffer, ULONG ulSize,
                                HB_COMP_DECL );
         int  hb_compMain( int argc, const char * const argv[],
                           BYTE ** pBufPtr, ULONG * pulSize,
                           const char * szSource );
         void hb_compChkCompilerSwitch( HB_COMP_DECL, int,
                                        const char * const args[] );
         void hb_compChkDefines( HB_COMP_DECL, int iArg,
                                 const char * const args[] );
         void hb_compGenCString( FILE * yyc, const BYTE * pText, ULONG ulLen );
         AREAP hb_rddRequestArea( const char * szAlias, PHB_ITEM pCargo,
                                  BOOL fNewArea, BOOL fWait );
         char * hb_stackDirBuffer( void );
         LONG hb_sxPtoD( const char * pDate );
         const char * hb_langID( void );
         const char * hb_langSelectID( const char * pszID );
         const char * hb_langDGetItem( int iIndex );
         const char * hb_langDGetErrorDesc( ULONG ulIndex );
         BOOL       hb_fsChDir( const char * pszDirName );
         HB_FHANDLE hb_fsCreate( const char * pszFileName, ULONG ulAttr );
         HB_FHANDLE hb_fsCreateEx( const char * pszFilename, ULONG ulAttr,
                                   USHORT uiFlags );
         HB_FHANDLE hb_fsCreateTemp( const char * pszDir,
                                     const char * pszPrefix,
                                     ULONG ulAttr, char * pszName );
         HB_FHANDLE hb_fsCreateTempEx( char * pszName, const char * pszDir,
                                       const char * pszPrefix,
                                       const char * pszExt, ULONG ulAttr );
         const char * hb_fsCurDir( USHORT uiDrive );
         USHORT     hb_fsCurDirBuff( USHORT uiDrive, char * pbyBuffer,
                                     ULONG ulLen );
         void       hb_fsBaseDirBuff( char * pbyBuffer );
         BOOL       hb_fsDelete( const char * pszFileName );
         BOOL       hb_fsFile( const char * pszFileName );
         BOOL       hb_fsIsDirectory( const char * pszFilename );
         HB_FOFFSET hb_fsFSize( const char * pszFileName, BOOL bUseDirEntry );
         HB_FHANDLE hb_fsExtOpen( const char * pszFileName,
                                  const char * pDefExt,
         char *     hb_fsExtName( const char * pFilename,
                                  const char * pDefExt, USHORT uiExFlags,
                                  const char * pPaths );
         BOOL       hb_fsMkDir( const char * pszDirName );
         HB_FHANDLE hb_fsOpen( const char * pszFileName, USHORT uiFlags );
         BOOL       hb_fsRmDir( const char * pszDirName );
         BOOL       hb_fsRename( const char * pszOldName,
                                 const char * pszNewName );
         BOOL       hb_fsGetFileTime( const char * pszFileName,
                                      LONG * plJulian, LONG * plMillisec );
         BOOL       hb_fsSetFileTime( const char * pszFileName,
                                      LONG lJulian, LONG lMillisec );
         BOOL       hb_fsGetAttr( const char * pszFileName, ULONG * pulAttr );
         BOOL       hb_fsSetAttr( const char * pszFileName, ULONG ulAttr );
         HB_FHANDLE hb_fsPOpen( const char * pFilename, const char * pMode );
         BOOL       hb_fsCopy( const char * pSource, const char * pDest );
         BOOL       hb_spFile( const char * pFilename, char * pRetPath );
         BOOL       hb_spFileExists( const char * pFilename, char * pRetPath );
         HB_FHANDLE hb_spOpen( const char * pFilename, USHORT uiFlags );
         HB_FHANDLE hb_spCreate( const char * pFilename, ULONG ulAttr );
         HB_FHANDLE hb_spCreateEx( const char * pFilename,
                                   ULONG ulAttr, USHORT uiFlags );
         PHB_FILE   hb_fileExtOpen( const char * pFilename,
                                    const char * pDefExt, USHORT uiExFlags,
                                    const char * pPaths, PHB_ITEM pError );
         PHB_FILE   hb_fileCreateTemp( const char * pszDir,
                                       const char * pszPrefix,
                                       ULONG ulAttr, char * pszName );
         PHB_FILE   hb_fileCreateTempEx( char * pszName, const char * pszDir,
                                         const char * pszPrefix,
                                         const char * pszExt, ULONG ulAttr );
         HB_ERRCODE hb_gtBox( SHORT uiTop, SHORT uiLeft, SHORT uiBottom,
                              SHORT uiRight, const BYTE * pbyFrame );
         HB_ERRCODE hb_gtDrawBox( SHORT uiTop, SHORT uiLeft, SHORT uiBottom,
                                  SHORT uiRight, const BYTE * pbyFrame,
                                  int iColor );
         HB_ERRCODE hb_gtWrite( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtWriteAt( USHORT uiRow, USHORT uiCol,
                                  const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtWriteCon( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtPutText( USHORT uiRow, USHORT uiCol,
                                  const BYTE * pStr, ULONG ulLength,
                                  int iColor );
         HB_ERRCODE hb_gtOutStd( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtOutErr( const BYTE * pbyStr, ULONG ulLen );
         HB_ERRCODE hb_gtBoxEx( int iTop, int iLeft, int iBottom, int iRight,
                                const BYTE * pbyFrame, int iColor );
         void       hb_mouseRestoreState( const BYTE * pBuffer );
         const char * hb_strLTrim( const char * szText, ULONG * ulLen );
         const char * hb_conNewLine( void );
         const char * hb_conSetColor( const char * szColor );
         const char * hb_errGetDescription( PHB_ITEM pError );
         const char * hb_errGetFileName( PHB_ITEM pError );
         const char * hb_errGetOperation( PHB_ITEM pError );
         const char * hb_errGetSubSystem( PHB_ITEM pError );
         int hb_ctwAddWindowBox( int iWindow, const BYTE * szBox, int iColor );
         const char *ct_at_exact_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                size_t *psMatchStrLen );
         const char *ct_at_exact_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                size_t *psMatchStrLen );
         const char *ct_at_wildcard_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                char cWildCard, size_t *psMatchStrLen );
         const char *ct_at_wildcard_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcMatch, size_t sMatchLen,
                                char cWildCard, size_t *psMatchStrLen );
         const char *ct_at_charset_forward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcCharSet, size_t sCharSetLen,
                                size_t *psMatchedCharPos );
         const char *ct_at_charset_backward
                              ( const char *pcString, size_t sStrLen,
                                const char *pcCharSet, size_t sCharSetLen,
                                size_t *psMatchedCharPos );
         char * hb_adsOemToAnsi( const char * pcString, ULONG ulLen );
         char * hb_adsAnsiToOem( const char * pcString, ULONG ulLen );
         struct hb_BTree * hb_BTreeNew( const char *FileName,
                                        USHORT usPageSize, USHORT usKeySize,
                                        ULONG ulFlags, USHORT usBuffers );
         struct hb_BTree * hb_BTreeOpen( const char *FileName, ULONG lFlags,
                                         USHORT usBuffers );
         BOOL hb_BTreeInsert( struct hb_BTree * pBTree, const char * szKey,
                              PHB_ITEM pData );
         BOOL hb_BTreeDelete( struct hb_BTree * pBTree, const char * szKey,
                              LONG lData );
         BOOL hb_BTreeSeek( struct hb_BTree * pBTree, const char * szKey,
                            LONG lData, BOOL bSoftSeek );
         const char * hb_BTreeKey( struct hb_BTree * pBTree );

    * modified RDD methods:
         HB_ERRCODE PUTVALUEFILE( AREAP, USHORT, const char *, USHORT );
         HB_ERRCODE GETVALUEFILE( AREAP, USHORT, const char *, USHORT );
    * modified GT methods:
         void REST( HB_GT_PTR, int, int, int, int, const BYTE * );
         void PUTTEXT( HB_GT_PTR, int, int, BYTE, const BYTE *, ULONG );
         void WRITEAT( HB_GT_PTR, int, int, const BYTE *, ULONG );
         void WRITE( HB_GT_PTR, const BYTE *, ULONG );
         void WRITECON( HB_GT_PTR, const BYTE *, ULONG );
         void BOX( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void BOXD( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void BOXS( HB_GT_PTR, int, int, int, int, const BYTE *, BYTE );
         void OUTSTD( HB_GT_PTR, BYTE *, ULONG );
         void OUTERR( HB_GT_PTR, BYTE *, ULONG );
         void MOUSERESTORESTATE( HB_GT_PTR, const BYTE * );
    * modified RDD structers:
         DBFIELDINFO, DBOPENINFO, DBORDERCONDINFO, DBCONSTRAINTINFO,
         DBORDERCREATEINFO
    + modified parameters and behevior:
         const char * hb_fsNameConv( const char * szFileName, char ** pszFree );
         const char * hb_osEncode( const char * szFileName, char ** pszFree );
         const char * hb_osDecode( const char * szFileName, char ** pszFree );
      Please look at implementation and current usage of these functions.
    + added new function:
         BOOL hb_itemGetWriteCL( PHB_ITEM pItem,
                                 char ** pszValue, ULONG * pulLen );
      which converts item string buffer to writable state to use with
      functions like FREAD() instead of hb_itemUnShare*()
    * updatd other code to respect above modifications
    ! fixed bugs (also GPF traps) located by above modifications

   TODO: please make build tests. Especially in OS2 - not tested at all.
2009-06-26 00:33:38 +00:00
Viktor Szakats
e569ecf8b4 2009-06-24 22:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/hbapiitm.h
  * source/vm/itemapi.c
  * source/vm/arrays.c
  * source/vm/extend.c
    ; Started addition of 'const' keywords where applicable.
    * First pass:
      extern HB_EXPORT const char * hb_parc( int iParam );
      extern HB_EXPORT const char * hb_parcx( int iParam );
      extern HB_EXPORT const char * hb_itemGetCPtr( PHB_ITEM pItem );
      extern HB_EXPORT const char * hb_arrayGetCPtr( PHB_ITEM pArray, ULONG ulIndex );
    ; NOTE: This modification will break code in most compilers,
            especially in C++ mode.
            As a next steps source code will have to be modified
            according to this change. Be patient, don't report all
            errors to the developers. You can join the code cleanup.

  * source/vm/dynsym.c
  * source/vm/itemapi.c
  * source/vm/arrays.c
  * source/vm/memvars.c
  * source/vm/extend.c
  * source/vm/set.c
  * source/vm/classes.c
    * 'const's added to caller code.
2009-06-24 20:37:05 +00:00
Viktor Szakats
ccc6a4e021 2009-06-23 23:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * mpkg_win.bat
  * include/hbver.h
  * harbour.spec
    * Changed version to 2.0.0beta2 (from 2.0.0beta1)
    ; NOTE: Everyone is encouraged to create binary releases
            for various platforms and try this new version with real apps.
            We can even upload these binary releases to sf.net.

  * utils/hbmk2/hbmk2.prg
    * Minor internal cleanup regarding macro marker chars.
    % Not including libpaths containing late-evaluation macros in
      actual commands.
    * Cleaned handling of paths added from .hbc. Now slashes are
      properly formed and paths are normalized.

  * INSTALL
    * Minor in new section.
2009-06-23 22:00:14 +00:00
Viktor Szakats
f5904ca848 2009-06-23 19:21 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/hbapiitm.h
  * source/vm/itemapi.c
  * source/vm/arrays.c
  * source/vm/extend.c
    * Clean alternative for: 2009-06-23 18:15 UTC+0200
      (now change is local to extend.c)
      Thanks Przemek.
2009-06-23 17:23:22 +00:00
Viktor Szakats
7de9ca92fe 2009-06-23 18:15 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapi.h
  * include/hbapiitm.h
  * source/vm/itemapi.c
  * source/vm/arrays.c
  * source/vm/extend.c
    ! Fixed hb_parvc() function to return NULL in case an array 
      is passed as Harbour level parameter. This makes this function 
      (and _parc()) fully CA-Cl*pper compatible.
    ; Please review maybe there is a lighter patch to achieve this 
      goal. I had to add NULL versions for two functions downstream.

  * utils/hbmk2/hbmk2.prg
    * Formatting.
2009-06-23 16:16:52 +00:00
Przemyslaw Czerpak
52759504b9 2009-06-22 21:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/lang.c
    % simplified HB_USERLANG() code

  * harbour/include/hbdefs.h
    * use inline functions for HB_PUT_PTR() and HB_GET_PTR() macros in
      GCC builds. It makes GCC builds alignment free and fixes the problem
      with broken strict aliasing rules.

  * harbour/include/hbwmain.c
    * casting
2009-06-22 19:30:27 +00:00
Viktor Szakats
564cb93315 2009-06-22 17:16 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    ! Always escape filenames/paths if they contain "-" char.
      (on Windows).
      (this could recently cause a regression with BCC)

  * include/hbapi.h
    ! Missded change from previous commit.

  * bin/postinst.bat
    + hbrun is now built also in non-dll mode at the end of the
      build process, so it gets built with the icon.
      Probably we should switch to using hbmk2 to build these
      extra tools, eventually.
2009-06-22 15:27:38 +00:00
Przemyslaw Czerpak
68c738b9ba 2009-06-20 22:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/extend.c
    * renamed existing hb_par*() and hb_stor*() functions which supports
      variable number of parameters (...) into hb_parv*() and hb_storv*()
    * added new hb_par*() and hb_stor*() functions which use strict number
      of parameters. New hb_par*() functions do not make hidden conversion
      between types, f.e. hb_parl() returns 1 only for logical parameters
      which contain .T.

  * harbour/include/extend.api
    * map Clipper _par*() functions to hb_parv*()
    * map Clipper _stor*() functions to hb_storv*()

  * harbour/source/vm/dynsym.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/thread.c
  * harbour/source/vm/classes.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/contrib/hbnf/dispc.c
  * harbour/contrib/hbnf/mouse.c
  * harbour/contrib/hbnf/getenvrn.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/gtwvg/wvgcuig.c
  * harbour/contrib/gtwvg/wvgwin.c
  * harbour/contrib/gtwvg/wvgutils.c
  * harbour/contrib/gtwvg/wvgcore.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddads/adsmgmnt.c
  * harbour/contrib/hbmisc/hb_f.c
  * harbour/contrib/hbwin/wapi_commctrl.c
    * replaced hb_par*() and hb_stor*() calls used with additional parameters
      by hb_parv*() and hb_storv*()
    TODO: update examples/hbwhat/*.c files

  * harbour/examples/uhttpd2/socket.c
  * harbour/examples/httpsrv/socket.c
    * changed hb_parni() to hb_parnidef()

  * harbour/source/vm/itemapi.c
    * removed some conversion which are not necessary for CA-Cl*pper
      compatibility

  * harbour/source/macro/macrolex.c
    * replaced HB_LEX_IS*() macros by by HB_IS*() ones
2009-06-20 20:25:26 +00:00
Viktor Szakats
e5f3723ba0 2009-06-19 20:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbhrb.ch
    ! Minor typo in comment.

  * contrib/gtwvg/Makefile
  * contrib/gtwvg/wvgwin.c
  + contrib/gtwvg/wvgwing.c
    * Moved WVG_* prefixed functions to separate file.
2009-06-19 18:51:26 +00:00
Przemyslaw Czerpak
7abda8c763 2009-06-19 18:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbhrb.ch
  * harbour/source/vm/runner.c
    + added support for HB_HRB_BIND_LAZY flag.
      Lazy binding with public external functions allows to load .hrb files
      with unresolved or cross function references.
2009-06-19 16:38:54 +00:00
Przemyslaw Czerpak
0b660d8efd 2009-06-19 14:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- harbour/include/hbhrb.ch
  + harbour/include/hbhrb.ch
    * replaced hbhrb.ch with slightly different version and set SVN
      attributes:
         svn:keywords : Author Date Id Revision
         svn:eol-style : native
      Now optional HB_HRBLOAD()/HB_HRBRUN() parameter is bitfield and
      the following predefined values can be used to control function
      bindings in loaded .hrb files:
         HB_HRB_BIND_DEFAULT      - do not overwrite any functions, ignore
                                    public HRB functions if functions with
                                    the same names already exist in HVM
         HB_HRB_BIND_LOCAL        - do not overwrite any functions
                                    but keep local references, so
                                    if module has public function FOO and
                                    this function exists also in HVM
                                    then the function in HRB is converted
                                    to STATIC one
         HB_HRB_BIND_OVERLOAD     - overload all existing public functions
         HB_HRB_BIND_FORCELOCAL   - covert all public functions to
                                    STATIC ones
      Other HB_HRB_* defines will be added in the future

  * harbour/include/hbvm.h
    * declared hb_vmSetFunction() as internal function

  * harbour/source/vm/hvm.c
    * modified hb_vmSetFunction() to update references also in unused
      modules.

  * harbour/source/vm/runner.c
    * removed CanUnload - it was not fully functional. Modules which
      overloads public functions cen be unload just like any other ones
      but unloading does not restore references to overloaded functions.
      Now such references are simply lost and this should be fixed in the
      future.
    + added support for HB_HRB_BIND_FORCELOCAL
    ! fixed <nOptions> parameter decoding in HB_HRBLOAD() to strictly
      follow declaration:
         HB_HRBLOAD( [ <nOptions>, ] <cHrb> [, <xparams,...> ] )
    ! fixed init procedures parameters in HB_HRBLOAD() to no pass <nOptions>
    + added support for <nOptions> to HB_HRBRUN()
         HB_HRBRUN( [ <nOptions>, ] <cHrb> [, <xparams,...> ] ) -> <retVal>
    * changed HB_HRBRUN() return value - now it's the result of executed
      function instead of .T.
    ! fixed public symbol updating to keep valid references to HB_FS_LOCAL
      function
    ! fixed possible memory leak
    % added const to some char * declarations

   TOFIX/TODO: add support for restoring overloaded functions when module
               is unloaded.
2009-06-19 12:09:26 +00:00
Viktor Szakats
1c20b41cc2 2009-06-19 11:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/testhrb.prg
  * tests/Makefile
  * include/Makefile
  * include/hbhrb.ch
  * source/vm/runner.c
    ! Added new files to Makefiles.
    ! Fixed to use hbhrb.ch from .c rather than replicating #defines.
      (also fixed comments to be ANSI)
    ! Added self protection to .ch.
    ! Made .hrb file lowercase in testhrb.prg
    ! Deleted double license header from .ch.

  * utils/hbmk2/hbmk2.prg
    + Added logic to move embedded compilers under a common subdir.
      To stay compatible with 2.0.0beta1 release I didn't yet set
      this, but it will be for final release.
      Probably 'comp', or maybe 'opt'. Sorry for asking for opininons,
      but they're welcome anyway.
2009-06-19 09:33:42 +00:00
Jean-Francois Lefebvre
d7a22185d5 2009-06-19 10:56 UTC+0200 Jean lefebvre (jfl at mafact dot com)
* vm/runner.c
    FIXED ;
    ../../runner.c:413: error: '_HB_SYMB' undeclared (first use in this function)
  + include/hbhrb.ch:  HB_HRBLOAD() mode #define new file
  + tests/testhrb.prg: test program fro new params 
  + tests/exthrb.prg:  test program to be compiled as .HRB using /gh option
2009-06-19 09:00:16 +00:00
Jean-Francois Lefebvre
0c36fe41df 2009-06-18 21:18 UTC+0200 Jean lefebvre (jfl at mafact dot com) 2009-06-18 19:25:56 +00:00
Viktor Szakats
a48321cf39 2009-06-18 00:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/mousehb.c
  * source/rdd/rddinfo.c
  * source/rdd/dbdrop.c
  * source/rdd/dbexists.c
  * source/rdd/fieldhb.c
    * Rest of similar to STOD() status functions also 
      protected with ! HB_C52_STRICT.
2009-06-17 22:52:52 +00:00
Viktor Szakats
41b7534251 2009-06-18 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/datesx.c
    * STOD() function not protected by HB_COMPAT_XPP anymore.
      Instead it's turned off only in HB_C52_STRICT mode.

  + contrib/xpp/xppextrn.ch
    + Added.

  * contrib/hbwin/win_misc.c
    + Added WIN_HIWORD() and WIN_LOWORD() functions (from GTWVG).
      But commented because of colliding names.
2009-06-17 22:34:21 +00:00
Przemyslaw Czerpak
cbe41c950b 2009-06-17 13:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapierr.h
    * added HB_EXPORT attribute to hb_err*() public functions

  * harbour/source/rdd/wacore.c
    * minor formatting
2009-06-17 10:57:19 +00:00
Viktor Szakats
a3805daf7e 2009-06-16 18:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* include/hbextern.ch
    + Added HB_WAEVAL().

  * contrib/hbwin/win_prn1.c
    - Direct procedural Windows printing interface will now only
      accept real pointers.
    * WIN_CREATEDC() will now return null pointer instead of NIL.
      The safest way to check for success is: 'IF ! Empty( win_CreateDC() )'
    ; With this, only some DLL related functions remain which
      still use numeric pointers
2009-06-16 16:39:43 +00:00
Przemyslaw Czerpak
20c62d1431 2009-06-16 16:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapirdd.h
  * harbour/source/rdd/wafunc.c
    + added HB_ERRCODE hb_rddEvalWA( PHB_ITEM pBlock )

  * harbour/source/rdd/dbcmd.c
    + added HB_WAEVAL( <pBlock> ) function which evaluates given
      <pBlock> in each used worakrea. The workarea iteration is
      interrupted if <pBlock> returns .F.

  * harbour/source/rdd/wafunc.c
    * restore workarea number in hb_rddCloseAllParentRelations()

  * harbour/source/rdd/workarea.c
    * added small protection against releasing WA by user codeblock in
      EVALBLOCK() method

  * harbour/source/rdd/wacore.c
    * added small protection against releasing WA by user code during
      area iteration
2009-06-16 13:59:12 +00:00
Viktor Szakats
4dbccf8ead 2009-06-16 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
  * examples/uhttpd2/umain.prg
    * Replaced HB_MUTEXWAITERSCOUNT() with 
      HB_MUTEXQUEUEINFO( hMutex, [ @nWaitersCount ], [ @nQueueLength ] )
    ; Please review.
2009-06-16 06:51:12 +00:00
Viktor Szakats
c73804dc7a 2009-06-15 20:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
    + Added HB_MUTEXWAITERSCOUNT() to core.
      (slightly rewritten using local functions)

  - examples/uhttpd2/umutex.c
    - No longer needed.
2009-06-15 18:45:17 +00:00
Przemyslaw Czerpak
19cc018359 2009-06-14 21:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapirdd.h
  * harbour/include/hbusrrdd.ch
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/rddads/ads1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
    * changed HB_FT_DAYTIME to HB_FT_TIMESTAMP
2009-06-14 19:40:43 +00:00
Przemyslaw Czerpak
5d2a6931be 2009-06-14 14:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/gtwvg/wvgwin.c
    ! fixed wrongly used & operator

  * harbour/source/rtl/hbproces.c
    * added TODO warning in OpenWatcom Linux builds

  * harbour/make_gnu.sh
    ! fixed test_param() function definition - it has to be defined it's
      before use

  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/rtl/round.c
    * removed unnecessary <math.h>

  * harbour/source/vm/hvm.c
  * harbour/source/common/expropt2.c
  * harbour/contrib/hbct/ctmath.h
  * harbour/contrib/hbclipsm/num.c
  * harbour/contrib/hbclipsm/numfloor.c
  * harbour/contrib/hbclipsm/numceil.c
    * use "hbmath.h" instead of <math.h> to avoid possible desynchronization
      between used math libraries and header files

  * harbour/source/pp/Makefile
    ! fixed real DOS compilation - replaced Windows only hack by wildcard
      function usage

  * harbour/config/dos/dir.cf
    * removed intermediate sh call from executed commands

  * harbour/source/vm/Makefile
    * disabled HB_HVM_ALL in all Watcom builds - it works but the compilation
      time is very huge so user who wants to use it should set envvar
      HB_HVM_ALL=yes
    * enabled HB_HVM_ALL for DJGPP builds
2009-06-14 12:40:11 +00:00
Viktor Szakats
8cff1ae469 2009-06-14 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/hashfunc.c
    + Added HB_HGETDEF( <hHash>, <xKey>[, <xDefault> ] ) -> <value>
      This function will return <xDefault> when <xKey> isn't 
      found in the hash table. If <xDefault> isn't passed, it 
      will return NIL.
2009-06-14 08:38:37 +00:00
Viktor Szakats
e4ddd5f914 2009-06-13 23:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbxbp/hbxbp.hbc
    + Added gtgui as default GT on win/wce systems.

  * include/extend.api
  * include/hbsetup.ch
  * include/hbapi.h
    + Added new HB_LEGACY_LEVEL3 macro to wrap legacy
      constructs to be deprecated in the next major release.
      Currently legacy IS*() parameter type checking macros
      are marked as such, ones present in CA-Cl*pper retained
      in extend.api even when this macro off.

    ; NOTE: It's recommended for 3rd party developers to
            start using new HB_IS*() macros. They work
            the same as Clipper compatible IS*() macros,
            but got a HB_ prefix: ISNUM( 1 ) -> HB_ISNUM( 1 )
            (not to be confused with HB_IS_*() macros which
            accept a PHB_ITEM)
            Here's a little batch which helps this process:
            ---
            gsar -o -s:x20ISNUM(       -r:x20HB_ISNUM(       *.c *.cpp
            gsar -o -s:x20ISCHAR(      -r:x20HB_ISCHAR(      *.c *.cpp
            gsar -o -s:x20ISLOG(       -r:x20HB_ISLOG(       *.c *.cpp
            gsar -o -s:x20ISARRAY(     -r:x20HB_ISARRAY(     *.c *.cpp
            gsar -o -s:x20ISBYREF(     -r:x20HB_ISBYREF(     *.c *.cpp
            gsar -o -s:x20ISDATE(      -r:x20HB_ISDATE(      *.c *.cpp
            gsar -o -s:x20ISDATETIME(  -r:x20HB_ISDATETIME(  *.c *.cpp
            gsar -o -s:x20ISNIL(       -r:x20HB_ISNIL(       *.c *.cpp
            gsar -o -s:x20ISTIMESTAMP( -r:x20HB_ISTIMESTAMP( *.c *.cpp
            gsar -o -s:x20ISBLOCK(     -r:x20HB_ISBLOCK(     *.c *.cpp
            gsar -o -s:x20ISPOINTER(   -r:x20HB_ISPOINTER(   *.c *.cpp
            gsar -o -s:x20ISSYMBOL(    -r:x20HB_ISSYMBOL(    *.c *.cpp
            gsar -o -s:x20ISOBJECT(    -r:x20HB_ISOBJECT(    *.c *.cpp
            gsar -o -s:x20ISHASH(      -r:x20HB_ISHASH(      *.c *.cpp
            gsar -o -s!ISNUM(          -r!HB_ISNUM(          *.c *.cpp
            gsar -o -s!ISCHAR(         -r!HB_ISCHAR(         *.c *.cpp
            gsar -o -s!ISLOG(          -r!HB_ISLOG(          *.c *.cpp
            gsar -o -s!ISARRAY(        -r!HB_ISARRAY(        *.c *.cpp
            gsar -o -s!ISBYREF(        -r!HB_ISBYREF(        *.c *.cpp
            gsar -o -s!ISDATE(         -r!HB_ISDATE(         *.c *.cpp
            gsar -o -s!ISDATETIME(     -r!HB_ISDATETIME(     *.c *.cpp
            gsar -o -s!ISNIL(          -r!HB_ISNIL(          *.c *.cpp
            gsar -o -s!ISTIMESTAMP(    -r!HB_ISTIMESTAMP(    *.c *.cpp
            gsar -o -s!ISBLOCK(        -r!HB_ISBLOCK(        *.c *.cpp
            gsar -o -s!ISPOINTER(      -r!HB_ISPOINTER(      *.c *.cpp
            gsar -o -s!ISSYMBOL(       -r!HB_ISSYMBOL(       *.c *.cpp
            gsar -o -s!ISOBJECT(       -r!HB_ISOBJECT(       *.c *.cpp
            gsar -o -s!ISHASH(         -r!HB_ISHASH(         *.c *.cpp
            ---

  * source/rtl/hbinet.c
    * Formatting.
    % Minor optimizations.

  * source/debug/dbgentry.c
  * source/rdd/dbcmd.c
  * source/rdd/dbcmd53.c
  * source/rdd/dbcmdx.c
  * source/rdd/dbdetach.c
  * source/rdd/dbsql.c
  * source/rdd/hbsix/sxfname.c
  * source/rdd/hbsix/sxord.c
  * source/rdd/hbsix/sxtable.c
  * source/rdd/usrrdd/usrrdd.c
  * source/rtl/at.c
  * source/rtl/box.c
  * source/rtl/cdpapi.c
  * source/rtl/chrasc.c
  * source/rtl/colorind.c
  * source/rtl/console.c
  * source/rtl/copyfile.c
  * source/rtl/dateshb.c
  * source/rtl/dirdrive.c
  * source/rtl/diskspac.c
  * source/rtl/disksphb.c
  * source/rtl/errapi.c
  * source/rtl/filesys.c
  * source/rtl/fscopy.c
  * source/rtl/fssize.c
  * source/rtl/fstemp.c
  * source/rtl/gete.c
  * source/rtl/gtfunc.c
  * source/rtl/gx.c
  * source/rtl/hbbit.c
  * source/rtl/hbgtcore.c
  * source/rtl/hbhex.c
  * source/rtl/hbi18n1.c
  * source/rtl/hbinet.c
  * source/rtl/hbprocfn.c
  * source/rtl/hbrandom.c
  * source/rtl/hbregex.c
  * source/rtl/hbstrsh.c
  * source/rtl/hbtoken.c
  * source/rtl/hbzlib.c
  * source/rtl/hbzlibgz.c
  * source/rtl/inkey.c
  * source/rtl/itemseri.c
  * source/rtl/left.c
  * source/rtl/math.c
  * source/rtl/maxrow.c
  * source/rtl/mlcfunc.c
  * source/rtl/mouse53.c
  * source/rtl/mousex.c
  * source/rtl/mtran.c
  * source/rtl/natmsg.c
  * source/rtl/padc.c
  * source/rtl/padl.c
  * source/rtl/padr.c
  * source/rtl/philes.c
  * source/rtl/philes53.c
  * source/rtl/rat.c
  * source/rtl/replic.c
  * source/rtl/right.c
  * source/rtl/round.c
  * source/rtl/run.c
  * source/rtl/saverest.c
  * source/rtl/scroll.c
  * source/rtl/setcolor.c
  * source/rtl/setcurs.c
  * source/rtl/setpos.c
  * source/rtl/shadow.c
  * source/rtl/strc.c
  * source/rtl/strmatch.c
  * source/rtl/strpeek.c
  * source/rtl/strtoexp.c
  * source/rtl/strtran.c
  * source/rtl/stuff.c
  * source/rtl/substr.c
  * source/rtl/tone.c
  * source/rtl/trace.c
  * source/rtl/transfrm.c
  * source/rtl/valtype.c
  * source/rtl/word.c
  * source/vm/arrayshb.c
  * source/vm/asort.c
  * source/vm/classes.c
  * source/vm/cmdarg.c
  * source/vm/eval.c
  * source/vm/hashfunc.c
  * source/vm/hvm.c
  * source/vm/memvars.c
  * source/vm/proc.c
  * source/vm/thread.c
    * IS*() -> HB_IS*() macro rename.
      (pass 1 - sf.net SVN works badly today, so I've split 
      the commit to raise the chances of a successfully 
      finished one)
2009-06-13 22:44:34 +00:00
Viktor Szakats
1abaae6c84 2009-06-09 15:59 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* harbour-win-spec
  * harbour-wce-spec
  * mpkg_win.bat
  * include/hbver.h
  * harbour.spec
    * Changed version to 2.0.0beta1 (from 2.0.0dev)
    ; NOTE: Everyone is encouraged to create binary releases
            for various platforms and try this new with real apps.
            We can even upload these binary releases to 
            sf.net.
2009-06-09 14:01:05 +00:00
Viktor Szakats
2b5d2600aa 2009-06-06 16:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Made clear that GNU Make installation isn't needed for mingw
      targets.

  * include/hbextern.ch
    + Added HB_EXECMSG().

  * contrib/xhb/tests/xhb.hbc
    + Added hbct, hbtip and hbwin (on Windows) to emulate xhb, which
      has these libs as part of the core.

  * utils/hbmk2/hbmk2.prg
    + Environment variables can not be used as filters.
      If an envvar with the name of the filter exists and it's
      value isn't "0" or "no", it's considered a match.
    - Deleted -EHsc-/-EHsc/-EHs-c- switch variant from msvc C flag list.
      This was copied from Harbour Make files, and most probably they
      aren't necessary even there, especially since they are set
      inconsistently (differently) for depending on msvc compiler
      version and win/wce target. These flags deal with exception
      handling, so I doubt any core code (with the exception of hbqt)
      would need it.
    + Added some level of internal support for build modes
      (release, debug, fulldebug) and unicode/ascii selection. Added
      to TODO anyway, will continue with them in the future.
2009-06-06 14:07:51 +00:00
Przemyslaw Czerpak
6b88ee5fac 2009-06-06 14:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
    + added hb_vmProc() function - it's hb_vmDo() but without hack to send
      messages.
      TODO: remove from hb_vmDo() support for messages so it can replace
            new hb_vmProc() function or if we really need such mixed common
            execution function then replace in HVM calls to hb_vmDo() with
            hb_vmProc()

  * harbour/source/vm/classes.c
    * replaced hb_vmFunction() call by hb_vmDo()

  * harbour/source/vm/arrays.c
  * harbour/source/vm/thread.c
    ! cleaned hb_vmDo()/hb_vmSend() usage

  * harbour/source/vm/eval.c
    ! replaced hb_vmFunction() calls by hb_vmSend()
    + added .prg function hb_execMsg( <sFuncSym>, <object>, [<params,...>] )
      which executes <sFuncSym> with <object> set as QSELF() value.
      Mindaugas, you can use it in your HashObject to execute functions
      like pseudo messages.
2009-06-06 12:21:43 +00:00
Viktor Szakats
8fcec391a4 2009-06-05 23:05 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
+ config/mingw32-make.exe
    + Added GNU Make (Windows, 32-bit) executable (size: 173KB),
      this is the version recommended by INSTALL, found here:
      https://sourceforge.net/project/showfiles.php?group_id=2435&package_id=23918

  * make_gnu.bat
    * Modified to utilize above GNU Make binary for Harbour
      Windows/WinCE builds in order to make one thing less to
      worry about for users wishing to build from source.
      From this point the only two requirements for building
      Harbour are a C compiler and the source itself. Much less
      things to go/get wrong. If this works out good, we can
      remove a few instructions from INSTALL.
      If someone wants to override supplied version (not very
      good idea, but who knows) the supplied version has to be
      replaced by custom version.
      In case group thinks it's onorthodox or inappropriate
      (or outright illegal) to have such binaries stored in
      our repository, please shout, it's not yet late to undo
      this change.
      Also please test.

  * include/hbsetup.h
    + Added MSVS 2010 version information.

  * contrib/gtwvg/wvggui.c
    - Temporarily disabled whole file for MSVS 2010 due to lots
      of compilation errors, similar to the ones recently seen
      with letdb. (errors posted on the list)
2009-06-05 21:15:52 +00:00
Przemyslaw Czerpak
a7005290de 2009-06-05 17:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbdefs.h
    * cleanup in some declarations
2009-06-05 14:54:52 +00:00
Viktor Szakats
3915031ebb 2009-06-05 15:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + In -rebuild mode now targets will be deleted by hbmk2
      before calling compilers to create them. This will resolve
      some potential errors when compiler tools get confused about
      an existing file with the same name but perhaps created with
      another compiler. It will also make sure no attempts will be
      made to create an incremental build. If target cannot be
      deleted, a warning message will be shown by hbmk2.

  * harbour-win-spec
  * harbour-wce-spec
  * harbour.spec
  * mpkg_win.bat
  * include/hbver.h
  * doc/whatsnew.txt
  * source/vm/maindllp.c
    * 1.1.0dev -> 2.0.0dev
    ; Preparation for next rc1.

  * INSTALL
    * Long lines reflowed.
2009-06-05 13:29:28 +00:00
Przemyslaw Czerpak
8e70525b66 2009-06-05 06:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    + extended support for xbase++ compatible method declaration:
         [SYNC] METHOD <methodName1>[([<params>])] ;
                       [ , <methodNameN>[([<params>])] ]

  * harbour/include/hbthread.h
  * harbour/source/vm/thread.c
  * harbour/source/vm/classes.c
    + added alternative support for SYNC method which does not use
      sync mutexes. The old method is still present. I'll remove it
      when xbase++ users confirm that the new one exactly emulates
      xbase++ behavior.

  * harbour/source/vm/classes.c
  * harbour/source/rtl/tthreadx.prg
    * switch to alternative SYNC method implementation which seems to be
      xbase++ compatible - please test
    ! fixed missing thread interrupt in recent modification for ::setInterval
2009-06-05 04:01:40 +00:00
Viktor Szakats
0ea981e9c4 2009-06-03 12:20 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/langapi.prg
  * tests/rto_get.prg
  * tests/lnlenli2.prg
  * tests/fortest.prg
  * tests/memory.prg
  * tests/rto_tb.prg
  * tests/statinit.prg
  * tests/memfile.prg
  * tests/vec1.prg
  * tests/lnlenli1.prg
  * doc/cmdline.txt
  * doc/en-EN/hb_date.txt
  * doc/en-EN/terminal.txt
  * doc/en-EN/hb_apiln.txt
  * doc/en-EN/hb_compa.txt
  * doc/howtosvn.txt
  * INSTALL
  * bin/postinst.cmd
  * bin/postinst.bat
  * include/hbvmpub.h
  * include/vm.api
  * include/extend.api
  * include/item.api
  * include/hbapilng.h
  * include/rdd.api
  * include/gt.api
  * include/hbundoc.api
  * include/error.api
  * include/hbsetup.ch
  * include/hblang.ch
  * include/hbsetup.h
  * include/hbapigt.h
  * include/hbmemory.ch
  * include/clipdefs.h
  * include/hboo.ch
  * include/hbver.ch
  * include/hbzlib.h
  * include/fm.api
  * include/hbdate.h
  * include/extend.h
  * ChangeLog
  * harbour.spec
  * make_gnu.bat
  * make_gnu.sh
  * contrib/hbmysql/mysqlold.c
  * contrib/hbct/charmix.c
  * contrib/hbct/charevod.c
  * contrib/hbct/ctchksum.c
  * contrib/hbct/pos1.c
  * contrib/hbct/ctmisc.prg
  * contrib/hbct/ctcrypt.c
  * contrib/hbct/getinfo.prg
  * contrib/hbct/ctdummy.prg
  * contrib/hbct/readme.txt
  * contrib/hbodbc/odbcold.c
  * contrib/hbodbc/browodbc.prg
  * contrib/hbodbc/odbc.c
  * contrib/xhb/datesxhb.c
  * contrib/xhb/xhbat.c
  * contrib/xhb/xhbver.prg
  * contrib/xhb/xhbcomp.prg
  * contrib/hbziparc/hbziparc.prg
  * contrib/hbnf/iamidle.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/setkeys.c
  * contrib/hbnf/ftisprn.c
  * contrib/hbnf/setlastk.c
  * contrib/hbcurl/hbcurl.c
  * contrib/hbcurl/hbcurl.ch
  * contrib/hbcurl/hbcurlm.c
  * contrib/rddads/adsextrn.ch
  * contrib/rddads/adsmgmnt.c
  * contrib/hbmisc/strfmt.c
  * contrib/hbmisc/numtxthu.prg
  * contrib/hbmisc/doc/en/ht_str.txt
  * contrib/hbtip/utils.c
  * contrib/hbwin/win_reg.prg
  * contrib/hbwin/legacyc.c
  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/hbwinole.h
  * contrib/hbwin/hbwin.ch
  * contrib/hbwin/tests/testdll.prg
  * contrib/hbwin/tests/testole.prg
  * contrib/hbwin/win_regc.c
  * contrib/hbvpdf/hbvpsup.prg
  * contrib/hbssl/sslsess.c
  * contrib/hbssl/hbssl.h
  * contrib/hbssl/sslctx.c
  * contrib/hbssl/tests/test.prg
  * contrib/hbssl/ssl.c
  * contrib/hbssl/hbssl.ch
  * contrib/hbssl/sslciph.c
  * contrib/hbssl/sslrand.c
  * contrib/hbcrypt/tests/testsha2.prg
  * contrib/hbcrypt/hbsha2.c
  * contrib/hbcrypt/hbsha2hm.c
  * source/lang/msghuiso.c
  * source/lang/msghuwin.c
  * source/lang/msgro.c
  * source/lang/msghriso.c
  * source/lang/msghrwin.c
  * source/lang/msghe862.c
  * source/lang/msgcskam.c
  * source/lang/msgbgiso.c
  * source/lang/msgbgwin.c
  * source/lang/msgcs852.c
  * source/lang/msgfr.c
  * source/lang/msgis850.c
  * source/lang/msghu852.c
  * source/lang/msgbg866.c
  * source/lang/msghr852.c
  * source/lang/msghewin.c
  * source/lang/msghucwi.c
  * source/lang/msgcsiso.c
  * source/lang/msgcswin.c
  * source/vm/harbinit.prg
  * source/vm/asort.c
  * source/vm/itemapi.c
  * source/vm/hvm.c
  * source/vm/cmdarg.c
  * source/vm/arrays.c
  * source/vm/fm.c
  * source/vm/extrap.c
  * source/vm/proc.c
  * source/vm/memvars.c
  * source/vm/memvclip.c
  * source/vm/main.c
  * source/vm/eval.c
  * source/vm/extend.c
  * source/vm/set.c
  * source/vm/classes.c
  * source/common/hbver.c
  * source/common/hbfsapi.c
  * source/common/hbstr.c
  * source/common/hbdate.c
  * source/rtl/lennum.c
  * source/rtl/gtdos/gtdos.c
  * source/rtl/diskspac.c
  * source/rtl/setposbs.c
  * source/rtl/mousehb.c
  * source/rtl/console.c
  * source/rtl/fscopy.c
  * source/rtl/gtwin/gtwin.c
  * source/rtl/mousex.c
  * source/rtl/philes.c
  * source/rtl/adir.prg
  * source/rtl/oldclear.c
  * source/rtl/tbcolumn.prg
  * source/rtl/hbgtcore.c
  * source/rtl/fieldbl.prg
  * source/rtl/dirdrive.c
  * source/rtl/dateshb.c
  * source/rtl/philesx.c
  * source/rtl/fnsplit.c
  * source/rtl/box.c
  * source/rtl/datesx.c
  * source/rtl/filehb.c
  * source/rtl/hbfile.c
  * source/rtl/gtapiu.c
  * source/rtl/fstemp.c
  * source/rtl/accept.c
  * source/rtl/radiobhb.prg
  * source/rtl/tgethb.prg
  * source/rtl/oemansix.c
  * source/rtl/strmatch.c
  * source/rtl/readkey.prg
  * source/rtl/ampm.c
  * source/rtl/oemansi.c
  * source/rtl/xsavescr.c
  * source/rtl/gtstd/gtstd.c
  * source/rtl/gtsln/mousesln.c
  * source/rtl/disksphb.c
  * source/rtl/xhelp.c
  * source/rtl/getlist.prg
  * source/rtl/net.c
  * source/rtl/hbntos.c
  * source/rtl/tgetx.prg
  * source/rtl/samples.c
  * source/rtl/idlex.c
  * source/rtl/tget.prg
  * source/rtl/alert.prg
  * source/rtl/inkey.c
  * source/rtl/gete.c
  * source/rtl/readvar.prg
  * source/rtl/fkmax.c
  * source/rtl/strzero.c
  * source/rtl/typefilx.prg
  * source/rtl/langapi.c
  * source/rtl/word.c
  * source/rtl/gtcgi/gtcgi.c
  * source/rtl/fmhb.c
  * source/rtl/natmsgu.c
  * source/rtl/errapi.c
  * source/rtl/version.c
  * source/rtl/natmsg.c
  * source/rtl/mouse53.c
  * source/rtl/errint.c
  * source/rtl/fssize.c
  * source/rtl/errapiu.c
  * source/rtl/colorind.c
  * source/rtl/gt.c
  * source/rtl/gx.c
  * source/rtl/binnumx.c
  * source/rtl/mouseapi.c
  * source/rtl/soundex.c
  * source/rtl/memofile.c
  * source/rtl/errintlo.c
  * source/rtl/hbffind.c
  * source/rtl/gtapi.c
  * source/rtl/pad.c
  * source/rtl/hbstrsh.c
  * source/rtl/filesys.c
  * source/rtl/file.c
  * source/rtl/lang.c
  * source/rtl/val.c
  * source/rtl/isprint.c
  * source/rtl/tbrowse.prg
  * source/codepage/ucmacce.c
  * source/codepage/uc885910.c
  * source/codepage/ucmacice.c
  * source/codepage/uc885914.c
  * source/codepage/uc874.c
  * source/codepage/cpes850.c
  * source/codepage/uc1258.c
  * source/codepage/cphu852.c
  * source/codepage/cpsk852.c
  * source/codepage/uc424.c
  * source/codepage/ucmacrom.c
  * source/codepage/uc862.c
  * source/codepage/cpesisoc.c
  * source/codepage/cpbg866.c
  * source/codepage/cphu852s.c
  * source/codepage/uc8859_3.c
  * source/codepage/uc8859_7.c
  * source/codepage/ucmacgrk.c
  * source/codepage/uc037.c
  * source/codepage/cpesiso.c
  * source/codepage/uc885911.c
  * source/codepage/uc885915.c
  * source/codepage/uc875.c
  * source/codepage/uc1255.c
  * source/codepage/cphuisos.c
  * source/codepage/cpfriso.c
  * source/codepage/uc863.c
  * source/codepage/cpfrwin.c
  * source/codepage/uc1026.c
  * source/codepage/cpbgiso.c
  * source/codepage/uc8859_4.c
  * source/codepage/cpskkam.c
  * source/codepage/cpbgwin.c
  * source/codepage/uc8859_8.c
  * source/codepage/uc855.c
  * source/codepage/uc885916.c
  * source/codepage/cproiso.c
  * source/codepage/ucascii.c
  * source/codepage/cprowin.c
  * source/codepage/uc1256.c
  * source/codepage/ucatari.c
  * source/codepage/uc860.c
  * source/codepage/ucmaccyr.c
  * source/codepage/uc864.c
  * source/codepage/uc1006.c
  * source/codepage/cpsviso.c
  * source/codepage/uc8859_5.c
  * source/codepage/uc8859_9.c
  * source/codepage/cphuwins.c
  * source/codepage/ucnext.c
  * source/codepage/ucmactrk.c
  * source/codepage/uc885913.c
  * source/codepage/cphuiso.c
  * source/codepage/uc775.c
  * source/codepage/uc856.c
  * source/codepage/cpskiso.c
  * source/codepage/cphuwin.c
  * source/codepage/cpskwin.c
  * source/codepage/uc500.c
  * source/codepage/cpro852.c
  * source/codepage/uc861.c
  * source/codepage/uc865.c
  * source/codepage/cpitwin.c
  * source/codepage/uc869.c
  * source/codepage/uc8859_6.c
  * source/rdd/dbjoinx.prg
  * source/rdd/dbnubs.c
  * source/rdd/dblistx.prg
  * source/rdd/dbtotalx.prg
  * source/rdd/dbstruxx.prg
  * source/rdd/dbsortx.prg
  * source/rdd/dbupdatx.prg
  * source/rdd/dbfuncsx.prg
  * source/rdd/dbcmdhb.c
  * source/compiler/cmdcheck.c
  * source/compiler/hbusage.c
  * source/hbzlib/ChangeLog
  * utils/hbmk2/hbmk2.prg
  * utils/hbtest/rt_main.h
  * utils/hbtest/hbtest.prg
  * utils/hbtest/rt_main.ch
  * utils/hbtest/rt_trans.prg
  * utils/hbtest/rt_miscc.c
  * utils/hbtest/rt_math.prg
  * utils/hbtest/rt_hvm.prg
  * utils/hbtest/rt_hvma.prg
  * utils/hbtest/rt_misc.prg
  * utils/hbtest/make_c5x.bat
  * utils/hbtest/rt_init.ch
  * utils/hbtest/rt_str.prg
  * utils/hbtest/rt_stra.prg
  * utils/hbtest/rt_date.prg
  * utils/hbtest/rt_vars.ch
  * utils/hbtest/rt_array.prg
  * utils/hbtest/rt_file.prg
  * examples/pp/hbppcore.c
  * examples/superlib/hbsuper.prg
    * My e-mail address corrected to the same one using the
      same format in all files. Corrected mistyped ones.
2009-06-03 10:26:40 +00:00
Viktor Szakats
3cef50334b 2009-06-03 08:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/idlex.c
    * Renamed XPP compatible SLEEP() function to XPP_SLEEP() to
      avoid collision with FlagShip and CLIP implementations.

  * contrib/hbwin/wapi_winbase.c
    + Added WAPI_SLEEP() function as a wrapper to Windows Sleep()
      function.
2009-06-03 06:21:00 +00:00
Viktor Szakats
325e4bc4db 2009-06-02 21:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/idlex.c
    + Added Xbase++ compatible SLEEP() function.
2009-06-02 19:04:05 +00:00
Przemyslaw Czerpak
e3ab3d0b8b 2009-06-02 20:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbsetup.h
    + added HB_RESTRICT macro which can be used in some declarations
      to reach better code optimization

  * harbour/include/hbclass.ch
    + added support for xbase++ compatible method declaration by:
         METHOD <methodName1> [ , <methodNameN> ]

  * harbour/source/rtl/tthreadx.prg
    * redirect parameters passed to ::new() method to ::init() method
      as emulation for class object new method
    + added basic support for ::setInterval in xbasee++ THREAD class

  * harbour/tests/speedtst.prg
    ! removed unused variable cDir
2009-06-02 18:44:21 +00:00
Viktor Szakats
6ef2986f43 2009-06-02 19:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/xhb/Makefile
  + contrib/xhb/bkgtsks.c
    + Added background tasks functions. My only current goal
      was to make it compile under Harbour, plus did some
      optimizations along the way.
      (borrowed from xhb, work of Francesco Saverio Giudice)
    ; TODO: Adapt to Harbour: MT mode, Set() replacement,
            attach it to VM possibly without modifying
            the VM itself.

  * source/rtl/mlcfunc.c
    + Reenabled for default builds the parameter extension
      in memo functions (now guarded with HB_C52_STRICT).
      This breaks our effort to not introduce such extensions,
      but since was no better idea I've made an exception,
      but I personally still don't like it and this practice
      stays forbidden.
      Talking about the last parameter of these functions:
      MEMOLINE(), MLCOUNT(), MLPOS(), MLCTOPOS(), MPOSTOLC()

  * source/codepage/cphr437.c
  * source/codepage/cphr852.c
  * source/codepage/cphrwin.c
    * Fixed wrongly ordered accented chars.
    * Fixed missing accented chars in Windows CP.
    ; Submitted by Vladimir Miholic on sf.net.

  * contrib/xhb/xhb.h
    + Added hb_seconds() compatibility macro.

  * tests/speedtst.prg
    + Added SET DATE ANSI and SET CENTURY ON.

  * tests/Makefile
  + tests/brwpos.prg
    + Added TBrowse() :rowPos test submitted by Xavi to the list.

  * utils/hbmk2/hbmk2.hbp
  * utils/hbrun/hbrun.hbp
    % Minor opt to prev.

  * tests/rto_tb.prg
    + Added hb_SToD() compatibility function to make it link
      with xhb.
    + Added forced define of HB_COMPAT_C53 in xhb mode, but 
      commented because it makes it RTE.

  * INSTALL
    ! Term changed to be consistent with rest of doc.

  * include/hbapi.h
    ! Typo in comment.
2009-06-02 17:24:02 +00:00
Petr Chornyj
eb23eb6eb1 2009-05-31 19:40 UTC+0200 Petr Chornyj (myorg63 at mail.ru)
* harbour/include/std.ch
    ! fixed typo of last commit
2009-05-31 16:42:46 +00:00
Petr Chornyj
02bfdcea52 2009-05-31 17:30 UTC+0200 Petr Chornyj (myorg63 at mail.ru)
* harbour/include/std.ch
    + added clause CODEPAGE for commands COPY, APPEND, SORT, TOTAL
   * harbour/source/rdd/dbdelim.prg
   * harbour/source/rdd/dbsdf.prg
    + added CODEPAGE support for __dbDelim, __dbSdf
2009-05-31 14:25:53 +00:00
Przemyslaw Czerpak
1ccc1e06f7 2009-05-27 05:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/mpkg_tgz.sh
    + added hbformat

  * harbour/include/hbdefs.h
  * harbour/include/hbapi.h
  * harbour/source/common/hbarch.c
    * redefined macros used to store/retrieve integer and double values
      to/from byte arrays in little and big endian order.
      Now GCC uses inline functions which are hardly optimized by compiler
      giving on x86 machines the same code as direct casting (with the
      exception to march=i686 where putting double value forces strict
      alignment to avoid hidden CPU exception) but they respect strict
      aliasing rules. It also means that now GCC builds always respect
      strict alignment even if HB_STRICT_ALIGNMENT macro is not set.
2009-05-27 03:25:05 +00:00
Viktor Szakats
327a1b5b5a 2009-05-27 04:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbsetup.h
  * source/common/hbver.c
    + Moved CPU detection to core header. Introduced
      HB_CPU_* macros. Now they can be used to branch code
      by CPU type.

  * contrib/rddads/adsmgmnt.c
    + Added my copyright.

  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    ! Fixed remaining hb_parc() vs hb_parcx() usages.
    % WAPI_TABCTRL_CREATE() further simplified.
      Please review, it may be wrong.

  * utils/hbmk2/hbmk2.prg
    * Minor internal change.
2009-05-27 02:46:49 +00:00
Viktor Szakats
822c4cabcd 2009-05-27 03:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbver.ch
  * source/rtl/version.c
    + Added hb_Version( HB_VER_COMPILER_CPP ) which
      returns if the C compiler was used in C++ mode.
      Mainly added for HB_BUILDINFO() emulation, maybe it
      can be useful to set defaults in hbmk2, we will see.

  * contrib/xhb/Makefile
  + contrib/xhb/xhbver.prg
    + Added emulation of HB_BUILDINFO() xhb function.

  + contrib/xhb/xhbver.ch
    + Copied xhb's hbver.ch under this name.
      (borrowed from xhb, work of Andi Jahja)
2009-05-27 01:21:06 +00:00
Przemyslaw Czerpak
640e3a0149 2009-05-25 17:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/compiler/gencc.c
    ! added missing RT error for wrong values used in SWITCH statement
      in code generated for -gc3 output
2009-05-25 14:59:41 +00:00
Przemyslaw Czerpak
519d866cba 2009-05-25 13:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtxwc/gtxwc.c
    ! fixed typo in HB_GTXVG_SQUARE shape initialization

  * harbour/include/hbrddnsx.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
    * code cleanup - use predefined #define instead of hardcoded constant
      values

  * harbour/source/rtl/valtoexp.prg
    * added REQUEST __objSetClass

  * harbour/source/compiler/gencc.c
    ! fixed -gc3 code generated for switch statement - thanks to Marek and
      Xavi for information and self contain example
      TODO: add missing RT error in -gc3 output when wrong (non integer
            and non string value) is used in SWITCH statement
2009-05-25 11:12:39 +00:00
Przemyslaw Czerpak
d039f3bec7 2009-05-21 11:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filebuf.c
    ! refuse to share file handles if they were open in different mode
      TODO: add support for keeping more then one handle for single file
            open and allow such combinations.

  * harbour/source/rtl/hbffind.c
    % optimized *nix version of hb_fsFind*()

  * harbour/utils/hbmk2/hbmk2.prg
    ! fixed compilation on non Windows platforms (unused variable warning)

  * harbour/include/hbset.h
  * harbour/source/vm/set.c
    + added new function hb_setGetPrinterHandle() which allows to open
      closed printer port
    ! do not force opening default port after SET PRINTER TO ""
      but delay the initialization untill other code does not call
      hb_setGetPrinterHandle()
    ! fixed filename returned by _SET_PRINTFILE, _SET_ALTFILE, _SET_EXTRAFILE
    ! fixed dpossible resource leaks whne _SET_*FILE is called recurisvely
      for user error block
    ! fixed _SET_*FILE settings to not accept files which cannot be open
      (just like in Clipper)

  * harbour/source/rtl/console.c
    * use hb_setGetPrinterHandle() to access printer handler
2009-05-21 09:10:41 +00:00
Przemyslaw Czerpak
d2c2fb58cf 2009-05-17 17:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    + added new  predefined macro __TIMESTAMP__

  * harbour/source/vm/classes.c
    ! fixed compilation in MT mode and HB_HASH_MSG_ITEMS macro

  * harbour/source/compiler/compi18n.c
    * translate '\' in source code references in .pot files to '/'

  * harbour/contrib/rddsql/sddodbc/odbcdd.c
    * cleared non ANSI C initialization

  * harbour/include/hbmacro.h
  * harbour/source/vm/macro.c
  * harbour/include/hbexprb.c
    ! force memvar context to undeclared variables used with array index
      operator []. Clipper compatible behavior

  * harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added hb_oleItemPut()
2009-05-17 15:27:15 +00:00
Viktor Szakats
622639c23c 2009-05-15 09:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Using HB_USERLANG() to detect language, so it now also
      works on Windows.
    + Added support for -lang= switch to override language.
    + Added support for HB_LANG envvar to override language.
      (this is the recommended method)

  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/lang.c
    + Added HB_USERLANG() function to retrieve ietf code of
      language set by user. Works also on Windows.

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    * WAPI_*() functions moved to wapi_* files.
    + WAPI_GETPROCADDRESS() added. This is a pure wrapper to
      this Windows API.

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prt.c
    % hb_parnl() -> hb_parni() where it was cast to int anyway.
2009-05-15 07:40:39 +00:00
Viktor Szakats
8959f99f45 2009-05-14 02:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/tgethb.prg
  * source/rtl/tget.prg
    + HB_EXTENSION functionality (:hideInput() and :style()) moved
      from GET to a new derived class called HB_GET(). It means
      this functionality is available in default builds.
      Further extensions can be added to this class.
2009-05-14 00:31:36 +00:00
Viktor Szakats
196768b461 2009-05-14 02:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * contrib/xhb/hbcompat.ch
  * source/rtl/setkey.c
    + Added HB_SETKEY() which is similar to SETKEY() but contains
      3rd parameter extension. Now this functionality is available
      for default Harbour builds under this new function name.
    + Added cross mappings for xhb SETKEY().

  * source/rtl/setfunc.prg
    + F11/F12 key handling now protected with HB_C52_STRICT instead
      of HB_EXTENSION so it will available in default builds.
    - Other HB_EXTENSION protected feature deleted (allowing to
      assign non-string key sequences to F keys. This effect can
      easily be achieved with direct SETKEY() calls, so it wasn't
      an essential extension here.

  * source/rtl/hbffind.c
    + Internal HB_EXTENSION protected part enabled.
    - Deleted HB_EXTENSION dealing with Windows-specific attribute
      chars. Those needing this functionality can access it using
      C level API.

  * source/rtl/tpopup.prg
  * source/rtl/ttopbar.prg
    - Deleted minor (non Clipper-compatible) behaviour change
      in handling disabled menu items when HB_EXTENSION
      is enabled.

  ; Only remains few class extensions covered by HB_EXTENSION.
    Overall there is no reason anymore to use this macro.
    TODO: Solve these using inheritance.
2009-05-14 00:15:22 +00:00
Viktor Szakats
339c86f1bc 2009-05-12 16:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Added -hbrun option which will run the target without trying to
      build it. If target is missing, the command will fail.
    + -run/-hbrun options will now run GUI target executable using 'start'
      command on Windows platforms so that hbmk2 will return and leave
      the app running.

  * include/hbextern.ch
    + Added HB_GZPUTC().

  * include/hbsetup.ch
    - Removed HB_EXTENSION from documented list of build modified macros.

  * source/common/hbverdsp.c
    - Deleted HB_EXTENSION dependent part.

  * source/rtl/mlcfunc.c
    - Deleted HB_EXTENSION branch. Please modify your program to
      use Set( _SET_EOL ) instead of passing EOLs explicitly to
      memo functions. This works also in xhb.
      INCOMPATIBLE when for HB_EXTENSION builds.

  * source/rtl/alert.prg
    ! Minor in comment.

  * source/rtl/saverest.c
    - Removed SAVESCREEN()/RESTSCREEN() extra "lNoCheck" parameter
      when HB_EXTENSION is enabled. Please report on the list
      if you need this functionality.

  * source/compiler/hbfunchk.c
    ! Fix to prev: AT() declaration.

  ; TODO: Clean rest of HB_EXTENSION stuff.
2009-05-12 14:11:21 +00:00