2009-05-05 17:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)

* harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/compi18n.c
    * changed -j<path>/ and -j<file> behavior when more the one .prg file
      is compiled. Now when <path>/ is used then it's respected by all
      compiler .prg modules. When <file> is used then only single .pot
      file is generated but it contains i18n entries from all compiled
      .prg modules.

  * harbour/ChangeLog
    + added two thanks notes, one to Miguel and using HeapAlloc() and
      second to Walter Negro for his DATETIME work in xHarbour what gives
      valuable test platform for Harbour and was important inspiration for
      Harbour TIMESTAMP implementation.
This commit is contained in:
Przemyslaw Czerpak
2009-05-05 14:59:12 +00:00
parent 43e5b5a07b
commit a3ebb728d0
5 changed files with 48 additions and 16 deletions

View File

@@ -17,6 +17,23 @@
past entries belonging to these authors: Viktor Szakats.
*/
2009-05-05 17:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/hbcomp.c
* harbour/source/compiler/compi18n.c
* changed -j<path>/ and -j<file> behavior when more the one .prg file
is compiled. Now when <path>/ is used then it's respected by all
compiler .prg modules. When <file> is used then only single .pot
file is generated but it contains i18n entries from all compiled
.prg modules.
* harbour/ChangeLog
+ added two thanks notes, one to Miguel and using HeapAlloc() and
second to Walter Negro for his DATETIME work in xHarbour what gives
valuable test platform for Harbour and was important inspiration for
Harbour TIMESTAMP implementation.
2009-05-04 17:52 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/contrib/gtwvg/gtwvg.h
* harbour/contrib/gtwvg/hbgtwvg.ch
@@ -5984,6 +6001,9 @@
Warning: this implementation is not xHarbour compatible. There are many
important differences. Mostly on C level and used API. Please be careful
in porting xHarbour source code to Harbour.
Many thanks to Walter Negro for his DATETIME implementation in xHarbour
which allowed me to tests some different aspects of DAYTIME/TIMESTAMP
behavior and was important inspiration for this job.
2009-03-21 15:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbtpathy/tpwin.c
@@ -16320,6 +16340,8 @@
* use HeapAlloc( GetProcessHeap(), ... ) instead of LocalAlloc()
when HB_FM_WIN32_ALLOC macro is set - Toninho's tests show that
it's a little bit more efficient - thanks.
Thanks also to Miguel Angel Marchuet which 1-st used HeapAlloc()
in xHarbour.
2009-01-09 17:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/ftoc.c

View File

@@ -349,7 +349,7 @@ extern void hb_compIdentifierClose( HB_COMP_DECL ); /* release the table of iden
/* compi18n.c */
extern void hb_compI18nFree( HB_COMP_DECL );
extern BOOL hb_compI18nSave( HB_COMP_DECL );
extern BOOL hb_compI18nSave( HB_COMP_DECL, BOOL fFinal );
extern void hb_compI18nAdd( HB_COMP_DECL, const char* szText, const char* szContext, const char * szModule, UINT uiLine );
extern void hb_compI18nAddPlural( HB_COMP_DECL, const char** szTexts, ULONG ulCount, const char* szContext, const char * szModule, UINT uiLine );

View File

@@ -254,7 +254,7 @@ static void hb_compI18nEscapeString( FILE* file, const char* szText )
}
}
BOOL hb_compI18nSave( HB_COMP_DECL )
BOOL hb_compI18nSave( HB_COMP_DECL, BOOL fFinal )
{
PHB_I18NTABLE pI18n;
PHB_I18NSTRING pString;
@@ -268,7 +268,8 @@ BOOL hb_compI18nSave( HB_COMP_DECL )
if( !pI18n )
return FALSE;
FileName.szPath = FileName.szName = FileName.szExtension = FileName.szDrive = NULL;
FileName.szPath = FileName.szName = FileName.szExtension =
FileName.szDrive = NULL;
if( HB_COMP_PARAM->pOutPath )
{
@@ -293,6 +294,11 @@ BOOL hb_compI18nSave( HB_COMP_DECL )
if( ! FileName.szName )
FileName.szName = HB_COMP_PARAM->pFileName->szName;
else if( ! fFinal )
/* The exact file name was given generate single .pot file for
* all compiled .prg files in final phase.
*/
return FALSE;
if( ! FileName.szExtension )
FileName.szExtension = ".pot";

View File

@@ -247,6 +247,7 @@ HB_COMP_PTR hb_comp_new( void )
void hb_comp_free( HB_COMP_PTR pComp )
{
hb_compI18nFree( pComp );
hb_compCompileEnd( pComp );
hb_compParserStop( pComp );
@@ -295,14 +296,17 @@ void hb_comp_free( HB_COMP_PTR pComp )
if( pComp->szStdCh )
hb_xfree( pComp->szStdCh );
if( HB_COMP_PARAM->iStdChExt > 0 )
if( pComp->iStdChExt > 0 )
{
do
hb_xfree( HB_COMP_PARAM->szStdChExt[ --HB_COMP_PARAM->iStdChExt ] );
while( HB_COMP_PARAM->iStdChExt != 0 );
hb_xfree( HB_COMP_PARAM->szStdChExt );
hb_xfree( pComp->szStdChExt[ --pComp->iStdChExt ] );
while( pComp->iStdChExt != 0 );
hb_xfree( pComp->szStdChExt );
}
if( pComp->pI18nFileName )
hb_xfree( pComp->pI18nFileName );
hb_xfree( pComp );
}

View File

@@ -156,6 +156,9 @@ int hb_compMain( int argc, char * const argv[], BYTE ** pBufPtr, ULONG * pulSize
if( HB_COMP_PARAM->iErrorCount > 0 )
iStatus = EXIT_FAILURE;
if( iStatus == EXIT_SUCCESS )
hb_compI18nSave( HB_COMP_PARAM, TRUE );
if( pBufPtr && pulSize )
{
if( iStatus == EXIT_SUCCESS )
@@ -3814,14 +3817,6 @@ static void hb_compAddInitFunc( HB_COMP_DECL, PFUNCTION pFunc )
void hb_compCompileEnd( HB_COMP_DECL )
{
hb_compI18nFree( HB_COMP_PARAM );
if( HB_COMP_PARAM->pI18nFileName )
{
hb_xfree( HB_COMP_PARAM->pI18nFileName );
HB_COMP_PARAM->pI18nFileName = NULL;
}
if( HB_COMP_PARAM->pMainFileName )
{
if( HB_COMP_PARAM->pFileName != HB_COMP_PARAM->pMainFileName )
@@ -4190,7 +4185,12 @@ static int hb_compCompile( HB_COMP_DECL, const char * szPrg, int iFileType )
}
hb_compGenOutput( HB_COMP_PARAM, HB_COMP_PARAM->iLanguage );
hb_compI18nSave( HB_COMP_PARAM );
}
if( ! bSkipGen && HB_COMP_PARAM->iErrorCount == 0 )
{
if( hb_compI18nSave( HB_COMP_PARAM, FALSE ) )
hb_compI18nFree( HB_COMP_PARAM );
}
}
}