2015-09-17 12:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)

* include/hbapicls.h
  * src/vm/classes.c
    * minor modification in variable name

  * src/rtl/filebuf.c
  * src/rtl/fscopy.c
  * src/rtl/fslink.c
  * src/rtl/vfile.c
    * cleaned FError() setting. It should not be changed by C file IO
      functions because they can be activated from RDD code so accessing
      work area field could change the FError() result, i.e. this code
      does not work when FError() is changed by C level IO operations:
         AnyFunc( FSeek( hFile, 0, FS_END ), field->MEMOVAL, FError() )
      Even simple field access may cause file IO operations in RDD code
      when relations are set because records in child area are repositioned
      only when necessary (when user tries to make some operations on this
      area). In the past RDD code was full of constructions like:
         uiSaveError = hb_fsFError();
         // make some IO operations
         hb_fsSetFerror( uiSaveError );
      to eliminate such overhead I separated PRG level FError() from
      C level IOError(). Please keep it.

  * ChangeLog.txt
    ! few typos
This commit is contained in:
Przemysław Czerpak
2015-09-17 12:23:29 +02:00
parent 026408a2bb
commit ee07a735de
7 changed files with 84 additions and 62 deletions

View File

@@ -1572,15 +1572,15 @@ HB_SIZE hb_clsGetVarIndex( HB_USHORT uiClass, PHB_DYNS pVarSym )
return 0;
}
HB_USHORT hb_clsFindClass( const char * szClass, const char * szFunc )
HB_USHORT hb_clsFindClass( const char * szClass, const char * szClassFunc )
{
HB_USHORT uiClass;
for( uiClass = 1; uiClass <= s_uiClasses; uiClass++ )
{
if( strcmp( szClass, s_pClasses[ uiClass ]->szName ) == 0 &&
( ! szFunc || ( ! s_pClasses[ uiClass ]->pClassFuncSym ? ! *szFunc :
strcmp( szFunc, s_pClasses[ uiClass ]->pClassFuncSym->szName ) == 0 ) ) )
( ! szClassFunc || ( ! s_pClasses[ uiClass ]->pClassFuncSym ? ! *szClassFunc :
strcmp( szClassFunc, s_pClasses[ uiClass ]->pClassFuncSym->szName ) == 0 ) ) )
{
return uiClass;
}