diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 2ad0a36a1b..9fa54f96ca 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,20 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-12-22 00:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * contrib/hbbtree/hb_btree.c + ! Cleaned code to compile without warning on BCC. + ; TOFIX: ? This code looks suspicious, pls check it: + --- + pHeader += sizeof( HEADER_ID ) - 1; + pHeader += sizeof( ( UINT32 ) HB_BTREE_HEADERSIZE ); + --- + + * utils/hbmk2/hbmk2.pt_BR.po + * utils/hbmk2/hbmk2.hu_HU.po + * utils/hbmk2/hbmk2.prg + + Added support for warn= (similar to -warn option) to .hbc files. + 2009-12-21 15:04 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbqt/qtgui/QMenuBar.cpp ! Regenerated after rebuilding hbqtgen.prg. diff --git a/harbour/contrib/hbbtree/hb_btree.c b/harbour/contrib/hbbtree/hb_btree.c index 1122c63a6f..d5c78ff813 100644 --- a/harbour/contrib/hbbtree/hb_btree.c +++ b/harbour/contrib/hbbtree/hb_btree.c @@ -603,21 +603,18 @@ static void HeaderWrite( struct hb_BTree * pBTree ) hb_xmemset( TmpHeader, '\0', sizeof( TmpHeader ) ); - #define put_uint16( v, p ) { HB_PUT_LE_UINT32( p, ( UINT32 ) v ); p += 4; } - #define put_uint32( v, p ) { HB_PUT_LE_UINT32( p, v ); p += 4; } - hb_xmemcpy( pHeader, HEADER_ID, sizeof( HEADER_ID ) - 1 ); pHeader += sizeof( HEADER_ID ) - 1; - put_uint32( uiHeaderSize, pHeader ); - put_uint16( pBTree->usPageSize, pHeader ); - put_uint16( pBTree->usKeySize , pHeader ); - put_uint16( pBTree->usMaxKeys, pHeader ); - put_uint16( pBTree->usMinKeys, pHeader ); - put_uint32( pBTree->ulFlags , pHeader ); + HB_PUT_LE_UINT32( uiHeaderSize , pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->usPageSize, pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->usKeySize , pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->usMaxKeys , pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->usMinKeys , pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->ulFlags , pHeader ); pHeader = &TmpHeader[ 64 ]; - put_uint32( pBTree->ulRootPage, pHeader ); - put_uint32( pBTree->ulFreePage, pHeader ); - put_uint32( pBTree->ulKeyCount, pHeader ); + HB_PUT_LE_UINT32( pBTree->ulRootPage, pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->ulFreePage, pHeader ); pHeader += 4; + HB_PUT_LE_UINT32( pBTree->ulKeyCount, pHeader ); hb_fsSeek( pBTree->hFile, 0, FS_SET ); if ( hb_fsWrite( pBTree->hFile, TmpHeader, sizeof( TmpHeader ) ) != sizeof( TmpHeader ) ) @@ -1602,21 +1599,18 @@ struct hb_BTree *hb_BTreeOpen( const char *FileName, ULONG ulFlags, ULONG ulBuff return NULL; } - #define get_uint16( v, p ) { v = ( UINT16 ) HB_GET_LE_UINT32( p ); p += 4; } - #define get_uint32( v, p ) { v = HB_GET_LE_UINT32( p ); p += 4; } - pHeader += sizeof( HEADER_ID ) - 1; - pHeader += sizeof( ( UINT32 )HB_BTREE_HEADERSIZE ); - get_uint16( pBTree->usPageSize, pHeader ); - get_uint16( pBTree->usKeySize , pHeader ); - get_uint16( pBTree->usMaxKeys, pHeader ); - get_uint16( pBTree->usMinKeys, pHeader ); - get_uint32( pBTree->ulFlags , pHeader ); + pHeader += sizeof( ( UINT32 ) HB_BTREE_HEADERSIZE ); + pBTree->usPageSize = ( UINT16 ) HB_GET_LE_UINT32( pHeader ); pHeader += 4; + pBTree->usKeySize = ( UINT16 ) HB_GET_LE_UINT32( pHeader ); pHeader += 4; + pBTree->usMaxKeys = ( UINT16 ) HB_GET_LE_UINT32( pHeader ); pHeader += 4; + pBTree->usMinKeys = ( UINT16 ) HB_GET_LE_UINT32( pHeader ); pHeader += 4; + pBTree->ulFlags = HB_GET_LE_UINT32( pHeader ); pHeader = &TmpHeader[ 64 ]; - get_uint32( pBTree->ulRootPage, pHeader ); - get_uint32( pBTree->ulFreePage, pHeader ); - get_uint32( pBTree->ulKeyCount, pHeader ); + pBTree->ulRootPage = HB_GET_LE_UINT32( pHeader ); pHeader += 4; + pBTree->ulFreePage = HB_GET_LE_UINT32( pHeader ); pHeader += 4; + pBTree->ulKeyCount = HB_GET_LE_UINT32( pHeader ); pBTree->pThisKeyData = ( hb_KeyData_T * ) BufferAlloc( sizeof( hb_KeyData_T ) + pBTree->usKeySize + 1 ); CLEARKEYDATA( pBTree ); diff --git a/harbour/utils/hbmk2/hbmk2.hu_HU.po b/harbour/utils/hbmk2/hbmk2.hu_HU.po index c320b6702c..a599ec4e44 100644 --- a/harbour/utils/hbmk2/hbmk2.hu_HU.po +++ b/harbour/utils/hbmk2/hbmk2.hu_HU.po @@ -4,8 +4,8 @@ #: hbmk2.prg:7106 #, c-format -msgid ".hbc options (they should come in separate lines): libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], sources=[source files], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\nLines starting with '#' char are ignored" -msgstr ".hbc opciók (külön sorokba írandók): libs=[], hbcs=[<.hbc nevek>], gt=[gtnév], syslibs=[], prgflags=[Harbour opciók], cflags=[C fordító opciók], resflags=[erőforrás fordító kapcsolók], ldflags=[szerkesztő kapcsolók], libpaths=[útvonalak], sources=[forrás fájlok], incpaths=[útvonalak], inctrypaths=[útvonalak], instpaths=[útvonalak], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\n'#' karakterrel kezdődő sorokat figyelmen kívül hagyja" +msgid ".hbc options (they should come in separate lines): libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], sources=[source files], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\nLines starting with '#' char are ignored" +msgstr ".hbc opciók (külön sorokba írandók): libs=[], hbcs=[<.hbc nevek>], gt=[gtnév], syslibs=[], prgflags=[Harbour opciók], cflags=[C fordító opciók], resflags=[erőforrás fordító kapcsolók], ldflags=[szerkesztő kapcsolók], libpaths=[útvonalak], sources=[forrás fájlok], incpaths=[útvonalak], inctrypaths=[útvonalak], instpaths=[útvonalak], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\n'#' karakterrel kezdődő sorokat figyelmen kívül hagyja" #: hbmk2.prg:799 #, c-format diff --git a/harbour/utils/hbmk2/hbmk2.prg b/harbour/utils/hbmk2/hbmk2.prg index 6410ddbbd2..d080795074 100644 --- a/harbour/utils/hbmk2/hbmk2.prg +++ b/harbour/utils/hbmk2/hbmk2.prg @@ -6123,6 +6123,13 @@ STATIC FUNCTION HBC_ProcessOne( hbmk, cFileName, nNestingLevel ) CASE Lower( cLine ) == "def" ; hbmk[ _HBMK_lCPP ] := NIL ENDCASE + CASE Lower( Left( cLine, Len( "warn=" ) ) ) == "warn=" ; cLine := SubStr( cLine, Len( "warn=" ) + 1 ) + DO CASE + CASE ValueIsT( cLine ) ; hbmk[ _HBMK_nWARN ] := _WARN_YES + CASE ValueIsF( cLine ) ; hbmk[ _HBMK_nWARN ] := _WARN_NO + CASE Lower( cLine ) == "def" ; hbmk[ _HBMK_nWARN ] := _WARN_DEF + ENDCASE + CASE Lower( Left( cLine, Len( "compr=" ) ) ) == "compr=" ; cLine := SubStr( cLine, Len( "compr=" ) + 1 ) DO CASE CASE ValueIsT( cLine ) ; hbmk[ _HBMK_nCOMPR ] := _COMPR_DEF @@ -7945,7 +7952,7 @@ STATIC PROCEDURE ShowHelp( lLong ) hb_StrFormat( I_( "%1$s option file in hbmk2 directory is always processed if it exists. On *nix platforms ~/.harbour, /etc/harbour, /etc/harbour, /etc are checked (in that order) before the hbmk2 directory. The file format is the same as .hbc." ), _HBMK_CFG_NAME ),; hb_StrFormat( I_( "%1$s make script in current directory is always processed if it exists." ), _HBMK_AUTOHBM_NAME ),; I_( ".hbc config files in current dir are automatically processed." ),; - I_( ".hbc options (they should come in separate lines): libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], sources=[source files], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\nLines starting with '#' char are ignored" ),; + I_( ".hbc options (they should come in separate lines): libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], sources=[source files], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\nLines starting with '#' char are ignored" ),; I_( "Platform filters are accepted in each .hbc line and with several options.\nFilter format: {[!][||]}. Filters can be combined using '&', '|' operators and grouped by parantheses. Ex.: {win}, {gcc}, {linux|darwin}, {win&!pocc}, {(win|linux)&!watcom}, {unix&mt&gui}, -cflag={win}-DMYDEF, -stop{dos}, -stop{!allwin}, {allpocc|allgcc|allmingw|unix}, {allmsvc}, {x86|x86_64|ia64|arm}, {debug|nodebug|gui|std|mt|st|xhb}" ),; I_( "Certain .hbc lines (libs=, hbcs=, prgflags=, cflags=, ldflags=, libpaths=, inctrypaths=, instpaths=, echo=) and corresponding command line parameters will accept macros: ${hb_root}, ${hb_dir}, ${hb_name}, ${hb_plat}, ${hb_comp}, ${hb_build}, ${hb_cpu}, ${hb_bin}, ${hb_lib}, ${hb_dyn}, ${hb_inc}, ${}. libpaths= also accepts %{hb_name} which translates to the name of the .hbc file under search." ),; I_( 'Options accepting macros also support command substitution. Enclose command inside ``, and, if the command contains space, also enclose in double quotes. F.e. "-cflag=`wx-config --cflags`", or ldflags={unix&gcc}"`wx-config --libs`".' ),; diff --git a/harbour/utils/hbmk2/hbmk2.pt_BR.po b/harbour/utils/hbmk2/hbmk2.pt_BR.po index aecf92de69..1e83e731fd 100644 --- a/harbour/utils/hbmk2/hbmk2.pt_BR.po +++ b/harbour/utils/hbmk2/hbmk2.pt_BR.po @@ -4,8 +4,8 @@ #: hbmk2.prg:7106 #, c-format -msgid ".hbc options (they should come in separate lines): libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], sources=[source files], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\nLines starting with '#' char are ignored" -msgstr "As op‡äes em um arquivo .hbc devem estar em linhas separadas e sĆo: libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[flags do Harbour], cflags=[flags do compilador C], resflags=[flags do compilador de recursos], ldflags=[flags do linkeditor], libpaths=[paths], sources=[m˘dulos fontes], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\nLinhas iniciadas com '#' sĆo interpretadas como coment rios e serĆo ignoradas" +msgid ".hbc options (they should come in separate lines): libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[Harbour flags], cflags=[C compiler flags], resflags=[resource compiler flags], ldflags=[linker flags], libpaths=[paths], sources=[source files], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\nLines starting with '#' char are ignored" +msgstr "As op‡äes em um arquivo .hbc devem estar em linhas separadas e sĆo: libs=[], hbcs=[<.hbc file[s]>], gt=[gtname], syslibs=[], prgflags=[flags do Harbour], cflags=[flags do compilador C], resflags=[flags do compilador de recursos], ldflags=[flags do linkeditor], libpaths=[paths], sources=[m˘dulos fontes], incpaths=[paths], inctrypaths=[paths], instpaths=[paths], gui|mt|shared|nulrdd|debug|opt|map|implib|strip|run|inc=[yes|no], cpp=[yes|no|def], warn=[yes|no|def], compr=[yes|no|def|min|max], head=[off|partial|full|native], skip=[yes|no], echo=\\nLinhas iniciadas com '#' sĆo interpretadas como coment rios e serĆo ignoradas" #: hbmk2.prg:799 #, c-format @@ -971,4 +971,3 @@ msgstr "lista de idiomas #, c-format msgid "stop after running Harbour compiler" msgstr "interromper ap˘s executar o compilador Harbour" -