2012-04-09 00:04 UTC+0200 Viktor Szakats (harbour syenar.net)

* utils/hbmk2/hbmk2.prg
  * bin/hb3rdpat.hbs
    ! fixed minor formatting problems mainly using custom automatic script

  * include/harbour.hbx
  * contrib/hbsms/hbsms.hbx
    + applied std casing to function names. it enhances
      readability, plus makes possible to use .hbx file for
      automatic formatting purposes.

  * utils/hbmk2/hbmk2.prg
  * config/postinst.hbs
    + preserve casing of function names in .hbx files
    ! fixed non-fatal typo in regex expressions
This commit is contained in:
Viktor Szakats
2012-04-08 22:06:31 +00:00
parent a7ab70c375
commit 720b6d6a1d
6 changed files with 1439 additions and 1409 deletions

View File

@@ -16,6 +16,22 @@
The license applies to all entries newer than 2009-04-28.
*/
2012-04-09 00:04 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
* bin/hb3rdpat.hbs
! fixed minor formatting problems mainly using custom automatic script
* include/harbour.hbx
* contrib/hbsms/hbsms.hbx
+ applied std casing to function names. it enhances
readability, plus makes possible to use .hbx file for
automatic formatting purposes.
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
+ preserve casing of function names in .hbx files
! fixed non-fatal typo in regex expressions
2012-04-06 11:05 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp
* contrib/hbhpdf/3rd/libhpdf/libhpdf.dif

View File

@@ -333,7 +333,7 @@ PROCEDURE Main( ... )
IF aRegexMatch[ TWOARG_KW ] == "MAP"
/* Do not allow implicit destination with non-flat source spec */
IF Empty( aRegexMatch[ TWOARG_ARG1 ] ) .AND. "/" $ aRegexMatch[ TWOARG_ARG2 ]
OutStd( hb_strFormat( "E: Non-flat source spec with implicit " + ;
OutStd( hb_StrFormat( "E: Non-flat source spec with implicit " + ;
"destination, offending line %d:%s:", nMemoLine, hb_eol() ) )
OutStd( aRegexMatch[ 1 ] + hb_eol() )
ErrorLevel( 2 )
@@ -341,7 +341,7 @@ PROCEDURE Main( ... )
ENDIF
/* Do not allow tree spec in the destination ever */
IF "/" $ aRegexMatch[ TWOARG_ARG2 ]
OutStd( hb_strFormat( "E: Non-flat destination, offending line %d:%s", ;
OutStd( hb_StrFormat( "E: Non-flat destination, offending line %d:%s", ;
nMemoLine, hb_eol() ) )
OutStd( aRegexMatch[ 1 ] + hb_eol() )
ErrorLevel( 2 )
@@ -355,7 +355,7 @@ PROCEDURE Main( ... )
/* The destination argument must fit in the 8+3 scheme */
IF Len( hb_FNameName( aRegexMatch[ TWOARG_ARG2 ] ) ) > 8 .OR. ;
Len( hb_FNameExt( aRegexMatch[ TWOARG_ARG2 ] ) ) > 4
OutStd( hb_strFormat( "E: Destination does not fit 8+3, offending "+ ;
OutStd( hb_StrFormat( "E: Destination does not fit 8+3, offending "+ ;
"line %d:%s", nMemoLine, hb_eol() ) )
OutStd( aRegexMatch[ 1 ] + hb_eol() )
ErrorLevel( 2 )
@@ -376,7 +376,7 @@ PROCEDURE Main( ... )
IF Len( s_aChangeMap ) == 1
cTopIndicator := s_aChangeMap[ 1 ][ FN_ORIG ]
IF "/" $ cTopIndicator
OutStd( hb_strFormat( "E: First `MAP' entry is not flat, offending " + ;
OutStd( hb_StrFormat( "E: First `MAP' entry is not flat, offending " + ;
"line %d:%s", nMemoLine, hb_eol() ) )
OutStd( aRegexMatch[ 1 ] + hb_eol() )
ErrorLevel( 2 )
@@ -476,7 +476,7 @@ PROCEDURE Main( ... )
IF cDiffFile != NIL
IF ! lRediff /* If we have a local diff, and are not to re-create it, apply */
cCommand := hb_strFormat( "%s --no-backup-if-mismatch -d %s -p 1 -i %s", ;
cCommand := hb_StrFormat( "%s --no-backup-if-mismatch -d %s -p 1 -i %s", ;
s_aTools[ "patch" ], ;
CombinePath( s_cTempDir, cThisComponent ), ;
CombinePath( cCWD, cDiffFile ) )
@@ -490,7 +490,7 @@ PROCEDURE Main( ... )
ENDIF
/* Re-create the diff */
cCommand := hb_strFormat( "%s -urN %s %s", ;
cCommand := hb_StrFormat( "%s -urN %s %s", ;
s_aTools[ "diff" ], cThisComponent + ".orig", cThisComponent )
DirChange( s_cTempDir )
@@ -564,7 +564,7 @@ STATIC PROCEDURE SetupTools()
NEXT
NEXT
FOR EACH cPathComp in hb_ATokens( hb_GetEnv( "PATH" ), hb_osPathListSeparator() )
FOR EACH cPathComp IN hb_ATokens( hb_GetEnv( "PATH" ), hb_osPathListSeparator() )
FOR EACH cTool IN hb_HKeys( s_aTools )
IF s_aTools[ cTool ] == NIL .AND. hb_FileExists( CombinePath( cPathComp, cTool ) + cExeExt )
s_aTools[ cTool ] := CombinePath( cPathComp, cTool )
@@ -601,7 +601,7 @@ STATIC FUNCTION WalkAndFind( cTop, cLookFor )
cTop += iif( Right( cTop, 1 ) $ "/\", "", hb_ps() )
aDir := Directory( cTop + hb_osFileMask(), "D" )
ASORT( aDir,,, { |aLeft| !( "D" $ aLeft[ F_ATTR ] ) } ) /* Files first */
ASort( aDir,,, { |aLeft| !( "D" $ aLeft[ F_ATTR ] ) } ) /* Files first */
FOR EACH aDirEntry IN aDir
IF !( "D" $ aDirEntry[ F_ATTR ] )
@@ -679,7 +679,7 @@ STATIC FUNCTION FetchAndExtract( cArchiveURL )
cFileName := URL_GetFileName( cArchiveURL )
FOR EACH cPattern IN hb_HKeys( aActionMap )
FOR EACH cFrag IN HB_ATokens( cPattern, "|" )
FOR EACH cFrag IN hb_ATokens( cPattern, "|" )
IF At( cFrag, cFileName ) != 0
cMatchedPattern := cFrag
cExtractor := aActionMap[ cPattern ][ 'Extractor' ]
@@ -708,7 +708,7 @@ STATIC FUNCTION FetchAndExtract( cArchiveURL )
OutStd( "E: Required `curl' was not found" + hb_eol() )
RETURN .F.
ENDIF
cCommand := hb_strFormat( "%s -L -# -o %s %s", s_aTools[ "curl" ], ;
cCommand := hb_StrFormat( "%s -L -# -o %s %s", s_aTools[ "curl" ], ;
CombinePath( s_cTempDir, cFileName ), FNameEscape( cArchiveURL ) )
TRACE( "Running " + cCommand )
nResult := hb_processRun( cCommand, , , @cStdErr, .F. )
@@ -724,7 +724,7 @@ STATIC FUNCTION FetchAndExtract( cArchiveURL )
OutStd( "E: Required `" + cExtractor + "' was not found" + hb_eol() )
RETURN .F.
ENDIF
cCommand := hb_strFormat( "%s " + cExtractorArgs + " %s", ;
cCommand := hb_StrFormat( "%s " + cExtractorArgs + " %s", ;
cExtractor, CombinePath( s_cTempDir, cFileName ) )
TRACE( "Running " + cCommand )
nResult := hb_processRun( cCommand, , @cStdOut, @cStdErr, .F. )
@@ -742,7 +742,7 @@ STATIC FUNCTION FetchAndExtract( cArchiveURL )
OutStd( "E: Required `" + cArchiver + "' was not found" + hb_eol() )
RETURN .F.
ENDIF
cCommand := hb_strFormat( "%s " + cArchiverArgs + " %s", ;
cCommand := hb_StrFormat( "%s " + cArchiverArgs + " %s", ;
cArchiver, CombinePath( s_cTempDir, cExtractedFileName ) )
TRACE( "Running " + cCommand )
cCWD := hb_CurDrive() + hb_osDriveSeparator() + hb_ps() + CurDir()

View File

@@ -571,25 +571,31 @@ STATIC FUNCTION __hb_extern_get_list( cInputName )
RETURN aExtern
STATIC PROCEDURE __hb_extern_get_exception_list( cInputName, /* @ */ aInclude, /* @ */ aExclude )
STATIC PROCEDURE __hb_extern_get_exception_list( cInputName, /* @ */ aInclude, /* @ */ aExclude, /* @ */ hDynamic )
LOCAL cFile
LOCAL pRegex
LOCAL tmp
aInclude := {}
aExclude := {}
hDynamic := { => }
IF ! Empty( cFile := MemoRead( cInputName ) )
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_INCLUDE_ + "[[:space:]]([a-zA-z0-9_].[^ \t\n\r]*)", .T., .T. ) )
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_INCLUDE_ + "[[:space:]]([a-zA-Z0-9_].[^ \t\n\r]*)", .T., .T. ) )
FOR EACH tmp IN hb_regexAll( pRegex, StrTran( cFile, Chr( 13 ) ),,,,, .T. )
AAdd( aInclude, Upper( tmp[ 2 ] ) )
NEXT
ENDIF
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_EXCLUDE_ + "[[:space:]]([a-zA-z0-9_].[^ \t\n\r]*)", .T., .T. ) )
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_EXCLUDE_ + "[[:space:]]([a-zA-Z0-9_].[^ \t\n\r]*)", .T., .T. ) )
FOR EACH tmp IN hb_regexAll( pRegex, StrTran( cFile, Chr( 13 ) ),,,,, .T. )
AAdd( aExclude, Upper( tmp[ 2 ] ) )
NEXT
ENDIF
IF ! Empty( pRegex := hb_regexComp( "^DYNAMIC ([a-zA-Z0-9_]*)$", .T., .T. ) )
FOR EACH tmp IN hb_regexAll( pRegex, StrTran( cFile, Chr( 13 ) ),,,,, .T. )
hDynamic[ Upper( tmp[ 2 ] ) ] := tmp[ 2 ]
NEXT
ENDIF
ENDIF
RETURN
@@ -601,6 +607,7 @@ STATIC FUNCTION __hb_extern_gen( aFuncList, cOutputName )
LOCAL aInclude
LOCAL aExclude
LOCAL hDynamic
LOCAL cSelfName := _HB_SELF_PREFIX + Upper( hb_FNameName( cOutputName ) ) + _HB_SELF_SUFFIX
@@ -608,7 +615,7 @@ STATIC FUNCTION __hb_extern_gen( aFuncList, cOutputName )
LOCAL cHelp := "/* Syntax: // HB_FUNC_INCLUDE <func> */" + hb_eol() +;
"/* // HB_FUNC_EXCLUDE <func> */" + hb_eol()
__hb_extern_get_exception_list( cOutputName, @aInclude, @aExclude )
__hb_extern_get_exception_list( cOutputName, @aInclude, @aExclude, @hDynamic )
cExtern := "/*" + hb_eol()
cExtern += " * $" + "Id" + "$" + hb_eol()
@@ -673,7 +680,7 @@ STATIC FUNCTION __hb_extern_gen( aFuncList, cOutputName )
IF ! hb_WildMatch( "HB_GT_*_DEFAULT", tmp, .T. ) .AND. ;
! hb_WildMatch( _HB_SELF_PREFIX + "*" + _HB_SELF_SUFFIX, tmp, .T. ) .AND. ;
AScan( aExclude, {| flt | hb_WildMatch( flt, tmp, .T. ) } ) == 0
cExtern += "DYNAMIC " + tmp + hb_eol()
cExtern += "DYNAMIC " + hb_HGetDef( hDynamic, tmp, tmp ) + hb_eol()
ENDIF
NEXT
cExtern += hb_eol()

View File

@@ -25,13 +25,13 @@
#command DYNAMIC <fncs,...> => EXTERNAL <fncs>
#endif
DYNAMIC SMSCTX_CLOSE
DYNAMIC SMSCTX_NEW
DYNAMIC SMSCTX_PIN
DYNAMIC SMSCTX_RECEIVE
DYNAMIC SMSCTX_SEND
DYNAMIC SMS_RECEIVEALL
DYNAMIC SMS_SEND
DYNAMIC smsctx_Close
DYNAMIC smsctx_New
DYNAMIC smsctx_PIN
DYNAMIC smsctx_Receive
DYNAMIC smsctx_Send
DYNAMIC sms_ReceiveAll
DYNAMIC sms_Send
#if defined( __HBEXTREQ__ ) .OR. defined( __HBEXTERN__HBSMS__REQUEST )
#uncommand DYNAMIC <fncs,...> => EXTERNAL <fncs>

File diff suppressed because it is too large Load Diff

View File

@@ -1372,7 +1372,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
aCOMPSUP := { "gcc", "diab" }
CASE hbmk[ _HBMK_cPLAT ] == "aix"
aCOMPSUP := { "gcc", "icc" }
case hbmk[ _HBMK_cPLAT ] == "minix"
CASE hbmk[ _HBMK_cPLAT ] == "minix"
aCOMPSUP := { "gcc", "clang", "ack" }
OTHERWISE
aCOMPSUP := { "gcc" }
@@ -1672,7 +1672,7 @@ FUNCTION hbmk2( aArgs, nArgTarget, /* @ */ lPause, nLevel )
ELSEIF HBMK_ISPLAT( "darwin|bsd|hpux|sunos|beos|qnx|android|vxworks|linux|cygwin|minix|aix" ) .OR. ;
hbmk[ _HBMK_cCOMP ] == "bld"
hbmk[ _HBMK_cCOMP ] := hb_Version( HB_VERSION_BUILD_COMP )
IF AScan( aCOMPSUP, { |tmp | tmp == hbmk[ _HBMK_cCOMP ] } ) == 0
IF AScan( aCOMPSUP, {| tmp | tmp == hbmk[ _HBMK_cCOMP ] } ) == 0
hbmk[ _HBMK_cCOMP ] := NIL
ENDIF
ELSE
@@ -7685,7 +7685,7 @@ STATIC FUNCTION checkDepTime( hbmk, cFile, tTime )
LOCAL cDepFile, tDepTime
IF hbmk[ _HBMK_lDEBUGINC ]
hbmk_OutStd( hbmk, hb_StrFormat( "debuginc: CHECK DepTime: %s (%s)", cFile, hb_tsToStr(tTime)) )
hbmk_OutStd( hbmk, hb_StrFormat( "debuginc: CHECK DepTime: %s (%s)", cFile, hb_TSToStr( tTime ) ) )
ENDIF
IF cFile $ hbmk[ _HBMK_hDEPTS ]
@@ -7696,12 +7696,12 @@ STATIC FUNCTION checkDepTime( hbmk, cFile, tTime )
IF ! hb_FGetDateTime( cDepFile, @tDepTime ) .OR. ;
tDepTime > tTime
IF hbmk[ _HBMK_lDEBUGINC ]
hbmk_OutStd( hbmk, hb_StrFormat( "debuginc: CHECK DepTime=%s !!! (%s>%s)", cDepFile, hb_tsToStr(tDepTime), hb_tsToStr(tTime) ) )
hbmk_OutStd( hbmk, hb_StrFormat( "debuginc: CHECK DepTime=%s !!! (%s>%s)", cDepFile, hb_TSToStr( tDepTime ), hb_TSToStr( tTime ) ) )
ENDIF
RETURN .T.
ENDIF
IF hbmk[ _HBMK_lDEBUGINC ]
hbmk_OutStd( hbmk, hb_StrFormat( "debuginc: CHECK DepTime=%s (%s)", cDepFile, hb_tsToStr(tDepTime) ) )
hbmk_OutStd( hbmk, hb_StrFormat( "debuginc: CHECK DepTime=%s (%s)", cDepFile, hb_TSToStr( tDepTime ) ) )
ENDIF
NEXT
ENDIF
@@ -8592,7 +8592,7 @@ STATIC FUNCTION PlugIn_call_low( hbmk, cName, hrb, ctx )
xResult := hb_hrbDo( hrb, ctx )
IF ! Empty( xResult )
IF hbmk[ _HBMK_lInfo ]
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Plugin %1$s returned at '%2$s': '%3$s'" ), cName, PlugIn_ctx_get_state( ctx ), hb_cstr( xResult ) ) )
hbmk_OutStd( hbmk, hb_StrFormat( I_( "Plugin %1$s returned at '%2$s': '%3$s'" ), cName, PlugIn_ctx_get_state( ctx ), hb_CStr( xResult ) ) )
ENDIF
IF ! hbmk[ _HBMK_lIGNOREERROR ]
lSuccess := .F.
@@ -10532,12 +10532,12 @@ STATIC FUNCTION rtlnk_read( cFileName, aPrevFiles )
/* it's blinker extension, look for .lnk file in paths
* specified by LIB envvar
*/
IF !hb_fileExists( cFileName ) .AND. ;
!Left( cFileName, 1 ) $ hb_osPathDelimiters() .AND. ;
!SubStr( cFileName, 2, 1 ) == hb_osDriveSeparator()
FOR EACH cPath IN hb_aTokens( GetEnv( "LIB" ), hb_osPathListSeparator() )
IF ! hb_FileExists( cFileName ) .AND. ;
!( Left( cFileName, 1 ) $ hb_osPathDelimiters() ) .AND. ;
!( SubStr( cFileName, 2, 1 ) == hb_osDriveSeparator() )
FOR EACH cPath IN hb_ATokens( GetEnv( "LIB" ), hb_osPathListSeparator() )
cFile := hb_FNameMerge( cPath, cFileName )
IF hb_fileExists( cFile )
IF hb_FileExists( cFile )
cFileName := cFile
EXIT
ENDIF
@@ -10545,7 +10545,7 @@ STATIC FUNCTION rtlnk_read( cFileName, aPrevFiles )
ENDIF
/* protection against recursive calls */
IF AScan( aPrevFiles, { |x| x == cFileName } ) == 0
IF AScan( aPrevFiles, {| x | x == cFileName } ) == 0
IF ( hFile := FOpen( cFileName ) ) != -1
cFileBody := Space( FSeek( hFile, 0, FS_END ) )
FSeek( hFile, 0, FS_SET )
@@ -10594,7 +10594,7 @@ STATIC FUNCTION rtlnk_process( hbmk, cCommands, cFileOut, aFileList, aLibList, ;
nMode := RTLNK_MODE_FILENEXT
ELSEIF nMode == RTLNK_MODE_FILE
IF !( cWord == "," )
IF AScan( aFileList, { |x| x == cWord } ) == 0
IF AScan( aFileList, {| x | x == cWord } ) == 0
AAdd( aFileList, PathSepToSelf( cWord ) )
ENDIF
nMode := RTLNK_MODE_FILENEXT
@@ -11616,25 +11616,31 @@ STATIC FUNCTION __hb_extern_get_list( hbmk, cInputName, cBin_LibHBX, cOpt_LibHBX
#define _HB_SELF_PREFIX "__HBEXTERN__"
#define _HB_SELF_SUFFIX "__"
STATIC PROCEDURE __hb_extern_get_exception_list( cInputName, /* @ */ aInclude, /* @ */ aExclude )
STATIC PROCEDURE __hb_extern_get_exception_list( cInputName, /* @ */ aInclude, /* @ */ aExclude, /* @ */ hDynamic )
LOCAL cFile
LOCAL pRegex
LOCAL tmp
aInclude := {}
aExclude := {}
hDynamic := { => }
IF ! Empty( cFile := MemoRead( cInputName ) )
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_INCLUDE_ + "[[:space:]]([a-zA-z0-9_].[^ \t\n\r]*)", .T., .T. ) )
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_INCLUDE_ + "[[:space:]]([a-zA-Z0-9_].[^ \t\n\r]*)", .T., .T. ) )
FOR EACH tmp IN hb_regexAll( pRegex, StrTran( cFile, Chr( 13 ) ),,,,, .T. )
AAdd( aInclude, Upper( tmp[ 2 ] ) )
NEXT
ENDIF
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_EXCLUDE_ + "[[:space:]]([a-zA-z0-9_].[^ \t\n\r]*)", .T., .T. ) )
IF ! Empty( pRegex := hb_regexComp( "[[:space:]]" + _HB_FUNC_EXCLUDE_ + "[[:space:]]([a-zA-Z0-9_].[^ \t\n\r]*)", .T., .T. ) )
FOR EACH tmp IN hb_regexAll( pRegex, StrTran( cFile, Chr( 13 ) ),,,,, .T. )
AAdd( aExclude, Upper( tmp[ 2 ] ) )
NEXT
ENDIF
IF ! Empty( pRegex := hb_regexComp( "^DYNAMIC ([a-zA-Z0-9_]*)$", .T., .T. ) )
FOR EACH tmp IN hb_regexAll( pRegex, StrTran( cFile, Chr( 13 ) ),,,,, .T. )
hDynamic[ Upper( tmp[ 2 ] ) ] := tmp[ 2 ]
NEXT
ENDIF
ENDIF
RETURN
@@ -11646,6 +11652,7 @@ STATIC FUNCTION __hb_extern_gen( hbmk, aFuncList, cOutputName )
LOCAL aInclude
LOCAL aExclude
LOCAL hDynamic
LOCAL cSelfName := _HB_SELF_PREFIX + Upper( hb_FNameName( cOutputName ) ) + _HB_SELF_SUFFIX
@@ -11653,7 +11660,7 @@ STATIC FUNCTION __hb_extern_gen( hbmk, aFuncList, cOutputName )
LOCAL cHelp := "/* Syntax: // HB_FUNC_INCLUDE <func> */" + hb_eol() +;
"/* // HB_FUNC_EXCLUDE <func> */" + hb_eol()
__hb_extern_get_exception_list( cOutputName, @aInclude, @aExclude )
__hb_extern_get_exception_list( cOutputName, @aInclude, @aExclude, @hDynamic )
cExtern := "/*" + hb_eol()
cExtern += " * $" + "Id" + "$" + hb_eol()
@@ -11717,7 +11724,7 @@ STATIC FUNCTION __hb_extern_gen( hbmk, aFuncList, cOutputName )
IF ! hb_WildMatch( "HB_GT_*_DEFAULT", tmp, .T. ) .AND. ;
! hb_WildMatch( _HB_SELF_PREFIX + "*" + _HB_SELF_SUFFIX, tmp, .T. ) .AND. ;
AScan( aExclude, {| flt | hb_WildMatch( flt, tmp, .T. ) } ) == 0
cExtern += "DYNAMIC " + tmp + hb_eol()
cExtern += "DYNAMIC " + hb_HGetDef( hDynamic, tmp, tmp ) + hb_eol()
ENDIF
NEXT
cExtern += hb_eol()
@@ -12248,12 +12255,12 @@ STATIC PROCEDURE SetUILang( hbmk )
LOCAL tmp
IF hbmk[ _HBMK_cUILNG ] == "en"
hb_i18n_set( NIL )
hb_i18n_Set( NIL )
ELSE
tmp := "${hb_root}hbmk2.${hb_lng}.hbl"
tmp := StrTran( tmp, "${hb_root}", hb_DirSepAdd( hb_DirBase() ) )
tmp := StrTran( tmp, "${hb_lng}", StrTran( hbmk[ _HBMK_cUILNG ], "-", "_" ) )
hb_i18n_set( iif( hb_i18n_check( tmp := hb_MemoRead( tmp ) ), hb_i18n_restoretable( tmp ), NIL ) )
hb_i18n_Set( iif( hb_i18n_Check( tmp := hb_MemoRead( tmp ) ), hb_i18n_RestoreTable( tmp ), NIL ) )
ENDIF
/* Setup input CP of the translation */
@@ -12263,9 +12270,9 @@ STATIC PROCEDURE SetUILang( hbmk )
/* NOTE: Intentionally doing runtime branching to include both strings in translation files. */
tmp := Upper( SubStr( iif( hb_Version( HB_VERSION_UNIX_COMPAT ), I_( "nix=EN" ), I_( "wdo=EN" ) ), Len( "xxx=" ) + 1 ) )
IF tmp == "UTF8" .OR. tmp == "UTF-8"
hb_setDispCP( "UTF8" )
hb_SetDispCP( "UTF8" )
ELSE
hb_setDispCP( tmp )
hb_SetDispCP( tmp )
ENDIF
RETURN