2012-05-22 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)

* src/rtl/hbdoc.prg
  * src/rtl/hbini.prg
  * src/rtl/hbi18n2.prg
    ! fixed potential bugs with UTF8 HVM CP
    % using hb_FileExists() instead of File() in .ini handling code
    ; build tested only, review me & test
This commit is contained in:
Viktor Szakats
2012-05-22 16:49:43 +00:00
parent 3bac3a62de
commit fc6191bd5c
4 changed files with 18 additions and 10 deletions

View File

@@ -16,6 +16,14 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-05-22 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbdoc.prg
* src/rtl/hbini.prg
* src/rtl/hbi18n2.prg
! fixed potential bugs with UTF8 HVM CP
% using hb_FileExists() instead of File() in .ini handling code
; build tested only, review me & test
2012-05-22 16:50 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/arrays.c
* allow to call hb_arrayId() with NULL parameter

View File

@@ -357,12 +357,12 @@ FUNCTION __hbdoc_LoadHBD( cFileName )
IF fhnd != F_ERROR
cBuffer := Space( _HBDOC_SIG_LEN )
FRead( fhnd, @cBuffer, Len( cBuffer ) )
FRead( fhnd, @cBuffer, hb_BLen( cBuffer ) )
IF cBuffer == _HBDOC_SIGNATURE
cBuffer := Space( FSeek( fhnd, 0, FS_END ) - _HBDOC_SIG_LEN )
FSeek( fhnd, _HBDOC_SIG_LEN, FS_SET )
FRead( fhnd, @cBuffer, Len( cBuffer ) )
FRead( fhnd, @cBuffer, hb_BLen( cBuffer ) )
FClose( fhnd )
aEntry := hb_deserialize( hb_ZUncompress( cBuffer ) )

View File

@@ -117,9 +117,9 @@ FUNCTION __I18N_POTARRAYLOAD( cFile, cErrorMsg )
ENDIF
cValue := Space( fseek( hFile, 0, FS_END ) )
fseek( hFile, 0, FS_SET )
n := fread( hFile, @cValue, len( cValue ) )
n := fread( hFile, @cValue, hb_BLen( cValue ) )
fclose( hFile )
IF n != len( cValue )
IF n != hb_BLen( cValue )
cErrorMsg := "cannot read from file: " + cFile
RETURN NIL
ENDIF
@@ -380,7 +380,7 @@ FUNCTION __I18N_POTARRAYSAVE( cFile, aTrans, cErrorMsg, lVersionNo, lSourceRef )
hFile := fcreate( cFile )
IF hFile == -1
cErrorMsg := "cannot create translation file: " + cFile
ELSEIF fwrite( hFile, cPOT, len( cPOT ) ) != len( cPOT )
ELSEIF fwrite( hFile, cPOT ) != hb_BLen( cPOT )
cErrorMsg := "cannot write to file: " + cFile
ELSE
lRet := .T.
@@ -598,7 +598,7 @@ FUNCTION HB_I18N_SAVEPOT( cFile, pI18N, cErrorMsg )
IF hFile == -1
cErrorMsg := "cannot create translation file: " + cFile
lRet := .F.
ELSEIF fwrite( hFile, cPOT, len( cPOT ) ) != len( cPOT )
ELSEIF fwrite( hFile, cPOT ) != hb_BLen( cPOT )
cErrorMsg := "cannot write to file: " + cFile
lRet := .F.
ENDIF

View File

@@ -153,7 +153,7 @@ STATIC FUNCTION hb_IniFileLow( cFileSpec )
hFile := F_ERROR
FOR EACH cFile IN aFiles
IF ! Empty( cFile ) .AND. File( cFile )
IF ! Empty( cFile ) .AND. hb_FileExists( cFile )
IF ( hFile := FOpen( cFile ) ) != F_ERROR
EXIT
ENDIF
@@ -167,8 +167,8 @@ STATIC FUNCTION hb_IniFileLow( cFileSpec )
/* we'll read the whole file, then we'll break it in lines. */
cData := Space( FSeek( hFile, 0, FS_END ) )
FSeek( hFile, 0, FS_SET )
nLen := FRead( hFile, @cData, Len( cData ) )
cData := Left( cData, nLen )
nLen := FRead( hFile, @cData, hb_BLen( cData ) )
cData := hb_BLeft( cData, nLen )
FClose( hFile )
RETURN cData
@@ -317,7 +317,7 @@ FUNCTION hb_IniWrite( xFileName, hIni, cCommentBegin, cCommentEnd, lAutoMain )
RETURN .F.
ENDIF
IF FWrite( hFile, cBuffer ) != Len( cBuffer )
IF FWrite( hFile, cBuffer ) != hb_BLen( cBuffer )
IF lClose
FClose( hFile )
ENDIF