diff --git a/harbour/ChangeLog b/harbour/ChangeLog index ff6bb12fb1..9fa5bb2db3 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -16,6 +16,26 @@ The license applies to all entries newer than 2009-04-28. */ +2011-02-28 21:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/include/hbpp.h + * harbour/include/hbapilng.h + * harbour/include/hbapi.h + * harbour/include/hbcomp.h + * harbour/src/pp/pplib.c + * harbour/src/pp/ppcore.c + * harbour/src/common/hbstr.c + * harbour/src/rtl/sha2.c + * harbour/src/rtl/hbinet.c + * harbour/src/compiler/ppcomp.c + * harbour/src/compiler/hbfunchk.c + * harbour/src/compiler/hbgenerr.c + * harbour/contrib/hbtip/utils.c + % added missing const to some variable declarations so they can be + stored in readonly segments + + * harbour/doc/xhb-diff.txt + ! fixed few typos + 2011-02-28 21:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbgtinfo.ch * src/rtl/hbgtcore.c diff --git a/harbour/contrib/hbtip/utils.c b/harbour/contrib/hbtip/utils.c index e1e3c62b9a..e2874603ca 100644 --- a/harbour/contrib/hbtip/utils.c +++ b/harbour/contrib/hbtip/utils.c @@ -130,7 +130,7 @@ typedef struct tag_mime #define MIME_FLAG_CONTINUE 0x0008 #define MIME_TABLE_SIZE 71 -static MIME_ENTRY s_mimeTable[ MIME_TABLE_SIZE ] = +static const MIME_ENTRY s_mimeTable[ MIME_TABLE_SIZE ] = { /* Dos/win executable */ /* 0*/ { 0, "MZ", "application/x-dosexec", 0, 0, 0 }, @@ -348,7 +348,7 @@ static const char * s_findExtMimeType( const char * cExt ) static const char * s_findMimeStringInTree( const char * cData, HB_ISIZ nLen, int iElem ) { - MIME_ENTRY * elem = s_mimeTable + iElem; + const MIME_ENTRY * elem = s_mimeTable + iElem; HB_ISIZ nPos = elem->pos; HB_ISIZ nDataLen = strlen( elem->pattern ); @@ -403,7 +403,7 @@ static const char * s_findStringMimeType( const char * cData, HB_ISIZ nLen ) for( iCount = 0; iCount < MIME_TABLE_SIZE; iCount++ ) { - MIME_ENTRY * elem = s_mimeTable + iCount; + const MIME_ENTRY * elem = s_mimeTable + iCount; HB_ISIZ nPos = elem->pos; HB_ISIZ nDataLen = strlen( elem->pattern ); diff --git a/harbour/doc/xhb-diff.txt b/harbour/doc/xhb-diff.txt index 9e8a89fb3b..71157a8791 100644 --- a/harbour/doc/xhb-diff.txt +++ b/harbour/doc/xhb-diff.txt @@ -1159,7 +1159,7 @@ not support strings with embedded 0 so they are not fully functional here. ### SYMBOL ITEMS AND FUNCTION REFERENCES ### ================================================== -Harbour support SYMBOL items ( VALTYPE(funcSym) == "S" ) which can be used +Harbour supports SYMBOL items ( VALTYPE(funcSym) == "S" ) which can be used as function or message references. They have similar functionality to SYMBOL objects in Class(y) and understands NAME, EXEC and EVAL messages. They can be created literally by compiler using @(), f.e: @@ -1285,7 +1285,7 @@ xHarbour and Class(y) gives wrong results: [var] [var3] [var3] [var3] Please note that Harbour does not make any tricks with compile time static -bindings. It's uses only dynamic bindings and resolves all problems with +bindings. It uses only dynamic bindings and resolves all problems with instance area super casting. Correct instance area super casting is very important functionality when @@ -1298,13 +1298,13 @@ important thing. ### OOP AND PRIVATE/HIDDEN DATAs ### ========================================== -In bigger projects where different programmers works on different classes +In bigger projects where different programmers work on different classes which are later used as ancestors of some new classes it's extremely important to give support for real private (hidden) data for each class programmer which will not cause problems if name conflicts appears. Otherwise each method and instance variable name used by each programmer has to be agreed with project manager to eliminate possible name conflicts. In really -big projects such name conflicts can be nightmare which eliminates some +big projects such name conflicts can be nightmare a which eliminates some languages. Harbour resolves this problem automatically. All hidden variables and diff --git a/harbour/include/hbapi.h b/harbour/include/hbapi.h index 0bc8e9b231..0ba2946225 100644 --- a/harbour/include/hbapi.h +++ b/harbour/include/hbapi.h @@ -916,7 +916,7 @@ extern HB_EXPORT HB_BOOL hb_hashDelAt( PHB_ITEM pHash, HB_SIZE nPos ); /* string management */ -extern const char * hb_szAscii[ 256 ]; /* array of 1 character length strings */ +extern const char * const hb_szAscii[ 256 ]; /* array of 1 character length strings */ extern HB_EXPORT int hb_stricmp( const char * s1, const char * s2 ); /* compare two strings without regards to case */ extern HB_EXPORT int hb_strnicmp( const char * s1, const char * s2, HB_SIZE nLen ); /* compare two string without regards to case, limited by length */ diff --git a/harbour/include/hbapilng.h b/harbour/include/hbapilng.h index b7d9c9d7db..e57683ef66 100644 --- a/harbour/include/hbapilng.h +++ b/harbour/include/hbapilng.h @@ -74,10 +74,10 @@ HB_EXTERN_BEGIN #define HB_LANG_ANNOUNCE( id ) HB_LANG_ANNOUNCE_( id ) #define HB_LANG_ANNOUNCE_( id ) HB_FUNC( HB_LANG_##id ) {} -typedef struct _HB_LANG +typedef const struct _HB_LANG { const void * pItemList[ HB_LANG_ITEM_MAX_ ]; -} HB_LANG, * PHB_LANG, * HB_LANG_PTR; +} HB_LANG, * PHB_LANG; extern HB_EXPORT PHB_LANG hb_vmLang( void ); extern HB_EXPORT void hb_vmSetLang( PHB_LANG pLang ); diff --git a/harbour/include/hbcomp.h b/harbour/include/hbcomp.h index 423eb6d4e1..f9f50e2971 100644 --- a/harbour/include/hbcomp.h +++ b/harbour/include/hbcomp.h @@ -176,8 +176,8 @@ extern void hb_compSwitchKill( HB_COMP_DECL, PFUNCTION ); extern void hb_compElseIfKill( PFUNCTION ); extern void hb_compLoopKill( PFUNCTION ); -extern void hb_compGenError( HB_COMP_DECL, const char * szErrors[], char cPrefix, int iError, const char * szError1, const char * szError2 ); /* generic parsing error management function */ -extern void hb_compGenWarning( HB_COMP_DECL, const char * szWarnings[], char cPrefix, int iWarning, const char * szWarning1, const char * szWarning2); /* generic parsing warning management function */ +extern void hb_compGenError( HB_COMP_DECL, const char * const szErrors[], char cPrefix, int iError, const char * szError1, const char * szError2 ); /* generic parsing error management function */ +extern void hb_compGenWarning( HB_COMP_DECL, const char * const szWarnings[], char cPrefix, int iWarning, const char * szWarning1, const char * szWarning2); /* generic parsing warning management function */ extern HB_SIZE hb_compGenJump( HB_ISIZ nOffset, HB_COMP_DECL ); /* generates the pcode to jump to a specific offset */ extern HB_SIZE hb_compGenJumpFalse( HB_ISIZ nOffset, HB_COMP_DECL ); /* generates the pcode to jump if false */ @@ -350,8 +350,8 @@ extern void hb_compI18nAddPlural( HB_COMP_DECL, const char ** szTexts, HB_ULONG /* global readonly variables used by compiler */ -extern const char * hb_comp_szErrors[]; -extern const char * hb_comp_szWarnings[]; +extern const char * const hb_comp_szErrors[]; +extern const char * const hb_comp_szWarnings[]; /* table with PCODEs' length */ extern const HB_BYTE hb_comp_pcode_len[]; diff --git a/harbour/include/hbpp.h b/harbour/include/hbpp.h index 585cb2ccd4..6ad1242dab 100644 --- a/harbour/include/hbpp.h +++ b/harbour/include/hbpp.h @@ -99,7 +99,7 @@ typedef HB_PP_CLOSE_FUNC_( HB_PP_CLOSE_FUNC ); typedef HB_PP_CLOSE_FUNC * PHB_PP_CLOSE_FUNC; /* function to generate errors */ -#define HB_PP_ERROR_FUNC_( func ) void func( void *, const char **, char, int, const char *, const char * ) +#define HB_PP_ERROR_FUNC_( func ) void func( void *, const char * const *, char, int, const char *, const char * ) typedef HB_PP_ERROR_FUNC_( HB_PP_ERROR_FUNC ); typedef HB_PP_ERROR_FUNC * PHB_PP_ERROR_FUNC; diff --git a/harbour/src/common/hbstr.c b/harbour/src/common/hbstr.c index 547a5ddb33..6df4bc7433 100644 --- a/harbour/src/common/hbstr.c +++ b/harbour/src/common/hbstr.c @@ -64,22 +64,23 @@ #include "hbapi.h" #include "hbmath.h" -const char * hb_szAscii[ 256 ] = { "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x0A", "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", - "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", "\x18", "\x19", "\x1A", "\x1B", "\x1C", "\x1D", "\x1E", "\x1F", - "\x20", "\x21", "\x22", "\x23", "\x24", "\x25", "\x26", "\x27", "\x28", "\x29", "\x2A", "\x2B", "\x2C", "\x2D", "\x2E", "\x2F", - "\x30", "\x31", "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", "\x38", "\x39", "\x3A", "\x3B", "\x3C", "\x3D", "\x3E", "\x3F", - "\x40", "\x41", "\x42", "\x43", "\x44", "\x45", "\x46", "\x47", "\x48", "\x49", "\x4A", "\x4B", "\x4C", "\x4D", "\x4E", "\x4F", - "\x50", "\x51", "\x52", "\x53", "\x54", "\x55", "\x56", "\x57", "\x58", "\x59", "\x5A", "\x5B", "\x5C", "\x5D", "\x5E", "\x5F", - "\x60", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6A", "\x6B", "\x6C", "\x6D", "\x6E", "\x6F", - "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7A", "\x7B", "\x7C", "\x7D", "\x7E", "\x7F", - "\x80", "\x81", "\x82", "\x83", "\x84", "\x85", "\x86", "\x87", "\x88", "\x89", "\x8A", "\x8B", "\x8C", "\x8D", "\x8E", "\x8F", - "\x90", "\x91", "\x92", "\x93", "\x94", "\x95", "\x96", "\x97", "\x98", "\x99", "\x9A", "\x9B", "\x9C", "\x9D", "\x9E", "\x9F", - "\xA0", "\xA1", "\xA2", "\xA3", "\xA4", "\xA5", "\xA6", "\xA7", "\xA8", "\xA9", "\xAA", "\xAB", "\xAC", "\xAD", "\xAE", "\xAF", - "\xB0", "\xB1", "\xB2", "\xB3", "\xB4", "\xB5", "\xB6", "\xB7", "\xB8", "\xB9", "\xBA", "\xBB", "\xBC", "\xBD", "\xBE", "\xBF", - "\xC0", "\xC1", "\xC2", "\xC3", "\xC4", "\xC5", "\xC6", "\xC7", "\xC8", "\xC9", "\xCA", "\xCB", "\xCC", "\xCD", "\xCE", "\xCF", - "\xD0", "\xD1", "\xD2", "\xD3", "\xD4", "\xD5", "\xD6", "\xD7", "\xD8", "\xD9", "\xDA", "\xDB", "\xDC", "\xDD", "\xDE", "\xDF", - "\xE0", "\xE1", "\xE2", "\xE3", "\xE4", "\xE5", "\xE6", "\xE7", "\xE8", "\xE9", "\xEA", "\xEB", "\xEC", "\xED", "\xEE", "\xEF", - "\xF0", "\xF1", "\xF2", "\xF3", "\xF4", "\xF5", "\xF6", "\xF7", "\xF8", "\xF9", "\xFA", "\xFB", "\xFC", "\xFD", "\xFE", "\xFF" }; +const char * const hb_szAscii[ 256 ] = { + "\x00", "\x01", "\x02", "\x03", "\x04", "\x05", "\x06", "\x07", "\x08", "\x09", "\x0A", "\x0B", "\x0C", "\x0D", "\x0E", "\x0F", + "\x10", "\x11", "\x12", "\x13", "\x14", "\x15", "\x16", "\x17", "\x18", "\x19", "\x1A", "\x1B", "\x1C", "\x1D", "\x1E", "\x1F", + "\x20", "\x21", "\x22", "\x23", "\x24", "\x25", "\x26", "\x27", "\x28", "\x29", "\x2A", "\x2B", "\x2C", "\x2D", "\x2E", "\x2F", + "\x30", "\x31", "\x32", "\x33", "\x34", "\x35", "\x36", "\x37", "\x38", "\x39", "\x3A", "\x3B", "\x3C", "\x3D", "\x3E", "\x3F", + "\x40", "\x41", "\x42", "\x43", "\x44", "\x45", "\x46", "\x47", "\x48", "\x49", "\x4A", "\x4B", "\x4C", "\x4D", "\x4E", "\x4F", + "\x50", "\x51", "\x52", "\x53", "\x54", "\x55", "\x56", "\x57", "\x58", "\x59", "\x5A", "\x5B", "\x5C", "\x5D", "\x5E", "\x5F", + "\x60", "\x61", "\x62", "\x63", "\x64", "\x65", "\x66", "\x67", "\x68", "\x69", "\x6A", "\x6B", "\x6C", "\x6D", "\x6E", "\x6F", + "\x70", "\x71", "\x72", "\x73", "\x74", "\x75", "\x76", "\x77", "\x78", "\x79", "\x7A", "\x7B", "\x7C", "\x7D", "\x7E", "\x7F", + "\x80", "\x81", "\x82", "\x83", "\x84", "\x85", "\x86", "\x87", "\x88", "\x89", "\x8A", "\x8B", "\x8C", "\x8D", "\x8E", "\x8F", + "\x90", "\x91", "\x92", "\x93", "\x94", "\x95", "\x96", "\x97", "\x98", "\x99", "\x9A", "\x9B", "\x9C", "\x9D", "\x9E", "\x9F", + "\xA0", "\xA1", "\xA2", "\xA3", "\xA4", "\xA5", "\xA6", "\xA7", "\xA8", "\xA9", "\xAA", "\xAB", "\xAC", "\xAD", "\xAE", "\xAF", + "\xB0", "\xB1", "\xB2", "\xB3", "\xB4", "\xB5", "\xB6", "\xB7", "\xB8", "\xB9", "\xBA", "\xBB", "\xBC", "\xBD", "\xBE", "\xBF", + "\xC0", "\xC1", "\xC2", "\xC3", "\xC4", "\xC5", "\xC6", "\xC7", "\xC8", "\xC9", "\xCA", "\xCB", "\xCC", "\xCD", "\xCE", "\xCF", + "\xD0", "\xD1", "\xD2", "\xD3", "\xD4", "\xD5", "\xD6", "\xD7", "\xD8", "\xD9", "\xDA", "\xDB", "\xDC", "\xDD", "\xDE", "\xDF", + "\xE0", "\xE1", "\xE2", "\xE3", "\xE4", "\xE5", "\xE6", "\xE7", "\xE8", "\xE9", "\xEA", "\xEB", "\xEC", "\xED", "\xEE", "\xEF", + "\xF0", "\xF1", "\xF2", "\xF3", "\xF4", "\xF5", "\xF6", "\xF7", "\xF8", "\xF9", "\xFA", "\xFB", "\xFC", "\xFD", "\xFE", "\xFF" }; HB_SIZE hb_strAt( const char * szSub, HB_SIZE nSubLen, const char * szText, HB_SIZE nLen ) { diff --git a/harbour/src/compiler/hbfunchk.c b/harbour/src/compiler/hbfunchk.c index 514ff3e9ca..e9865247af 100644 --- a/harbour/src/compiler/hbfunchk.c +++ b/harbour/src/compiler/hbfunchk.c @@ -42,7 +42,7 @@ typedef struct /* NOTE: THIS TABLE MUST BE SORTED ALPHABETICALLY */ -static HB_FUNCINFO hb_StdFunc[] = +static const HB_FUNCINFO s_stdFunc[] = { { "AADD" , 2, 2 }, { "ABS" , 1, 1 }, @@ -113,7 +113,7 @@ static HB_FUNCINFO hb_StdFunc[] = { "YEAR" , 1, 1 } }; -#define HB_STD_FUNCOUNT ( sizeof( hb_StdFunc ) / sizeof( HB_FUNCINFO ) ) +#define HB_STD_FUNCOUNT ( sizeof( s_stdFunc ) / sizeof( HB_FUNCINFO ) ) HB_BOOL hb_compFunCallCheck( HB_COMP_DECL, const char * szFuncCall, int iArgs ) { @@ -129,7 +129,7 @@ HB_BOOL hb_compFunCallCheck( HB_COMP_DECL, const char * szFuncCall, int iArgs ) do { uiMiddle = ( uiFirst + uiLast ) >> 1; - iCmp = strncmp( szFuncCall, hb_StdFunc[ uiMiddle ].cFuncName, iLen ); + iCmp = strncmp( szFuncCall, s_stdFunc[ uiMiddle ].cFuncName, iLen ); if( iCmp <= 0 ) uiLast = uiMiddle; else @@ -138,11 +138,11 @@ HB_BOOL hb_compFunCallCheck( HB_COMP_DECL, const char * szFuncCall, int iArgs ) while( uiFirst < uiLast ); if( uiFirst != uiMiddle ) - iCmp = strncmp( szFuncCall, hb_StdFunc[ uiFirst ].cFuncName, iLen ); + iCmp = strncmp( szFuncCall, s_stdFunc[ uiFirst ].cFuncName, iLen ); if( iCmp == 0 ) { - PHB_FUNCINFO pFunc = &hb_StdFunc[ uiFirst ]; + const HB_FUNCINFO * pFunc = &s_stdFunc[ uiFirst ]; if( ( pFunc->iMinParam != -1 && iArgs < pFunc->iMinParam ) || ( pFunc->iMaxParam != -1 && iArgs > pFunc->iMaxParam ) ) diff --git a/harbour/src/compiler/hbgenerr.c b/harbour/src/compiler/hbgenerr.c index 6b3ff5b52b..787dca9277 100644 --- a/harbour/src/compiler/hbgenerr.c +++ b/harbour/src/compiler/hbgenerr.c @@ -29,7 +29,7 @@ #include "hbcomp.h" /* Table with parse errors */ -const char * hb_comp_szErrors[] = +const char * const hb_comp_szErrors[] = { "Statement not allowed outside of procedure or function", "Redefinition of procedure or function '%s'", @@ -112,7 +112,7 @@ const char * hb_comp_szErrors[] = /* NOTE: The first character stores the warning's level that triggers this * warning. The warning's level is set by -w command line option. */ -const char * hb_comp_szWarnings[] = +const char * const hb_comp_szWarnings[] = { "1Ambiguous reference '%s'", "1Ambiguous reference, assuming memvar '%s'", @@ -150,7 +150,8 @@ const char * hb_comp_szWarnings[] = }; static void hb_compDispMessage( HB_COMP_DECL, char cPrefix, int iValue, - const char * szText, const char * szPar1, const char * szPar2 ) + const char * szText, + const char * szPar1, const char * szPar2 ) { char buffer[ 512 ]; @@ -182,7 +183,9 @@ static void hb_compDispMessage( HB_COMP_DECL, char cPrefix, int iValue, hb_compOutErr( HB_COMP_PARAM, "\n" ); } -void hb_compGenError( HB_COMP_DECL, const char * szErrors[], char cPrefix, int iError, const char * szError1, const char * szError2 ) +void hb_compGenError( HB_COMP_DECL, const char * const szErrors[], + char cPrefix, int iError, + const char * szError1, const char * szError2 ) { if( !HB_COMP_PARAM->fExit && ( cPrefix == 'F' || !HB_COMP_PARAM->fError ) ) { @@ -204,7 +207,9 @@ void hb_compGenError( HB_COMP_DECL, const char * szErrors[], char cPrefix, int i } } -void hb_compGenWarning( HB_COMP_DECL, const char * szWarnings[], char cPrefix, int iWarning, const char * szWarning1, const char * szWarning2 ) +void hb_compGenWarning( HB_COMP_DECL, const char * const szWarnings[], + char cPrefix, int iWarning, + const char * szWarning1, const char * szWarning2 ) { const char * szText = szWarnings[ iWarning - 1 ]; diff --git a/harbour/src/compiler/ppcomp.c b/harbour/src/compiler/ppcomp.c index 7bafd85a15..09a0978d8f 100644 --- a/harbour/src/compiler/ppcomp.c +++ b/harbour/src/compiler/ppcomp.c @@ -54,7 +54,8 @@ #include "hbcomp.h" static void hb_pp_ErrorGen( void * cargo, - const char * szMsgTable[], char cPrefix, int iErrorCode, + const char * const szMsgTable[], + char cPrefix, int iErrorCode, const char * szParam1, const char * szParam2 ) { HB_COMP_DECL = ( HB_COMP_PTR ) cargo; diff --git a/harbour/src/pp/ppcore.c b/harbour/src/pp/ppcore.c index 909becbf5b..9b6b79d900 100644 --- a/harbour/src/pp/ppcore.c +++ b/harbour/src/pp/ppcore.c @@ -104,14 +104,14 @@ /* warning messages */ -static const char * hb_pp_szWarnings[] = +static const char * const hb_pp_szWarnings[] = { "1%s", /* C10?? */ "1Redefinition or duplicate definition of #define %s" /* C1005 */ }; /* error messages */ -static const char * hb_pp_szErrors[] = +static const char * const hb_pp_szErrors[] = { "Illegal character '\\x%s'", /* C2004 */ "Unterminated string '%s'", /* C2007 */ @@ -224,7 +224,7 @@ static void hb_pp_disp( PHB_PP_STATE pState, const char * szMessage ) static void hb_pp_error( PHB_PP_STATE pState, char type, int iError, const char * szParam ) { - const char ** szMsgTable = type == 'W' ? hb_pp_szWarnings : hb_pp_szErrors; + const char * const * szMsgTable = type == 'W' ? hb_pp_szWarnings : hb_pp_szErrors; if( pState->pErrorFunc ) { diff --git a/harbour/src/pp/pplib.c b/harbour/src/pp/pplib.c index e63d933b2e..3e9d2142c8 100644 --- a/harbour/src/pp/pplib.c +++ b/harbour/src/pp/pplib.c @@ -60,7 +60,7 @@ HB_EXTERN_BEGIN -static void hb_pp_ErrorMessage( void * cargo, const char * szMsgTable[], +static void hb_pp_ErrorMessage( void * cargo, const char * const szMsgTable[], char cPrefix, int iCode, const char * szParam1, const char * szParam2 ) { diff --git a/harbour/src/rtl/hbinet.c b/harbour/src/rtl/hbinet.c index fcd5f20558..cdd83cd30b 100644 --- a/harbour/src/rtl/hbinet.c +++ b/harbour/src/rtl/hbinet.c @@ -114,7 +114,7 @@ typedef struct p = hb_itemPutPtrGC( p, s ); \ } while( 0 ) -static const char * s_inetCRLF = "\r\n"; +static const char * const s_inetCRLF = "\r\n"; static HB_COUNTER s_initialize = 1; @@ -743,7 +743,7 @@ HB_FUNC( HB_INETRECVALL ) } -static void s_inetRecvPattern( const char ** patterns, int * patternsizes, +static void s_inetRecvPattern( const char * const * patterns, int * patternsizes, int iPatternsCount, int iParam ) { PHB_SOCKET_STRUCT socket = HB_PARSOCKET( 1 ); diff --git a/harbour/src/rtl/sha2.c b/harbour/src/rtl/sha2.c index 2a05b65d6f..675581f102 100644 --- a/harbour/src/rtl/sha2.c +++ b/harbour/src/rtl/sha2.c @@ -143,27 +143,27 @@ # define _ULL( num ) num##ULL #endif -uint32 sha224_h0[8] = +static const uint32 sha224_h0[8] = {0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4}; -uint32 sha256_h0[8] = +static const uint32 sha256_h0[8] = {0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19}; -uint64 sha384_h0[8] = +static const uint64 sha384_h0[8] = {_ULL( 0xcbbb9d5dc1059ed8 ), _ULL( 0x629a292a367cd507 ), _ULL( 0x9159015a3070dd17 ), _ULL( 0x152fecd8f70e5939 ), _ULL( 0x67332667ffc00b31 ), _ULL( 0x8eb44a8768581511 ), _ULL( 0xdb0c2e0d64f98fa7 ), _ULL( 0x47b5481dbefa4fa4 )}; -uint64 sha512_h0[8] = +static const uint64 sha512_h0[8] = {_ULL( 0x6a09e667f3bcc908 ), _ULL( 0xbb67ae8584caa73b ) , _ULL( 0x3c6ef372fe94f82b ), _ULL( 0xa54ff53a5f1d36f1 ) , _ULL( 0x510e527fade682d1 ), _ULL( 0x9b05688c2b3e6c1f ) , _ULL( 0x1f83d9abfb41bd6b ), _ULL( 0x5be0cd19137e2179 ) }; -uint32 sha256_k[64] = +static const uint32 sha256_k[64] = {0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, @@ -181,7 +181,7 @@ uint32 sha256_k[64] = 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2}; -uint64 sha512_k[80] = +static const uint64 sha512_k[80] = {_ULL( 0x428a2f98d728ae22 ), _ULL( 0x7137449123ef65cd ), _ULL( 0xb5c0fbcfec4d3b2f ), _ULL( 0xe9b5dba58189dbbc ), _ULL( 0x3956c25bf348b538 ), _ULL( 0x59f111f1b605d019 ),