2002-01-22 22:30 UTC-0500 Paul Tucker <ptucker@sympatico.ca>

* source\common\hbffind.c
    * It seems that at some point prior to the release of Win2k, MS
    * changed the definition of FILE_ATTRIBUTE_ENCRYPTED from
    * 0x00004000 to 0x00000040
    * If you installed the Release Win2k over a beta or RC version of
    * the O/S, then Harbour's directory() will show an attribute of
    * 'I' for Encrypted files.  Otherwise, it will show 'E'.  It seems
    * that the only way to corect this is to reinstall the OS fresh.
    * (This text is subject to correction if anyone has a better description)
This commit is contained in:
Paul Tucker
2002-01-23 03:35:42 +00:00
parent d64966ee21
commit 4e46bc943f
2 changed files with 22 additions and 9 deletions

View File

@@ -7,6 +7,17 @@
For example:
2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/
+ #ifdef __XHARBOUR__ to protect xHarbour fastitem reliance.
2002-01-23 23:00 UTC+0100 Antonio Linares <alinares@fivetech.com>
* source/vm/hvm.c
+ Added support for opcodes profiling
+ New functions __OPCOUNT() and __OPGETPRF()
Syntax:
__OpCount() --> <nOpcodes>
__OpGetPrf( <nOpcode> ) --> { <nCalledTimes>, <nConsumedTime> }
2002-01-23 09:40 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
* source\common\hbffind.c
* Since I had used an undocumented 0x04000 as an attribute check.
* it was causing trouble. Fixed.

View File

@@ -169,9 +169,10 @@ USHORT hb_fsAttrFromRaw( ULONG raw_attr )
if( raw_attr & FILE_ATTRIBUTE_NORMAL ) uiAttr |= HB_FA_NORMAL;
#ifdef HB_EXTENSION
/* NOTE: Literals used since there are errors in certain versions
/* NOTE: Literals used since there are errors in early versions
of MS header files which define extended FILE_ATTRIBUTE's */
if( raw_attr & 0x00000040 ) uiAttr |= HB_FA_DEVICE;
Note that FILE_ATTRIBUTE_NORMAL is not needed */
if( raw_attr & 0x00000040 ) uiAttr |= HB_FA_ENCRYPTED;
if( raw_attr & FILE_ATTRIBUTE_TEMPORARY ) uiAttr |= HB_FA_TEMPORARY;
if( raw_attr & FILE_ATTRIBUTE_SPARSE_FILE ) uiAttr |= HB_FA_SPARSE;
if( raw_attr & FILE_ATTRIBUTE_REPARSE_POINT ) uiAttr |= HB_FA_REPARSE;
@@ -179,7 +180,7 @@ USHORT hb_fsAttrFromRaw( ULONG raw_attr )
if( raw_attr & FILE_ATTRIBUTE_OFFLINE ) uiAttr |= HB_FA_OFFLINE;
if( raw_attr & FILE_ATTRIBUTE_NOT_CONTENT_INDEXED )
uiAttr |= HB_FA_NOTINDEXED;
if( raw_attr & 0x00004000 ) uiAttr |= HB_FA_ENCRYPTED;
if( raw_attr & 0x00004000 ) uiAttr |= HB_FA_DEVICE;
if( raw_attr & 0x00008000 ) uiAttr |= HB_FA_VOLCOMP;
#endif
@@ -241,16 +242,17 @@ ULONG hb_fsAttrToRaw( USHORT uiAttr )
if( uiAttr & HB_FA_NORMAL ) raw_attr |= FILE_ATTRIBUTE_NORMAL;
#ifdef HB_EXTENSION
/* NOTE: Literals used since there are errors in certain versions
of MS header files which define extended FILE_ATTRIBUTE's */
if( uiAttr & HB_FA_DEVICE ) raw_attr |= 0x00000040;
/* NOTE: Literals used since there are errors in early versions
of MS header files which define extended FILE_ATTRIBUTE's.
Note that FILE_ATTRIBUTE_NORMAL is not needed */
if( uiAttr & HB_FA_ENCRYPTED ) raw_attr |= 0x00000040;
if( uiAttr & HB_FA_TEMPORARY ) raw_attr |= FILE_ATTRIBUTE_TEMPORARY;
if( uiAttr & HB_FA_SPARSE ) raw_attr |= FILE_ATTRIBUTE_SPARSE_FILE;
if( uiAttr & HB_FA_REPARSE ) raw_attr |= FILE_ATTRIBUTE_REPARSE_POINT;
if( uiAttr & HB_FA_COMPRESSED ) raw_attr |= FILE_ATTRIBUTE_COMPRESSED;
if( uiAttr & HB_FA_OFFLINE ) raw_attr |= FILE_ATTRIBUTE_OFFLINE;
if( uiAttr & HB_FA_NOTINDEXED ) raw_attr |= FILE_ATTRIBUTE_NOT_CONTENT_INDEXED;
if( uiAttr & HB_FA_ENCRYPTED ) raw_attr |= 0x00004000;
if( uiAttr & HB_FA_DEVICE ) raw_attr |= 0x00004000;
if( uiAttr & HB_FA_VOLCOMP ) raw_attr |= 0x00008000;
#endif
@@ -297,14 +299,14 @@ USHORT hb_fsAttrEncode( const char * szAttr )
case 'D': uiAttr |= HB_FA_DIRECTORY; break;
case 'A': uiAttr |= HB_FA_ARCHIVE; break;
#ifdef HB_EXTENSION
case 'I': uiAttr |= HB_FA_DEVICE; break;
case 'E': uiAttr |= HB_FA_ENCRYPTED; break;
case 'T': uiAttr |= HB_FA_TEMPORARY; break;
case 'P': uiAttr |= HB_FA_SPARSE; break;
case 'L': uiAttr |= HB_FA_REPARSE; break;
case 'C': uiAttr |= HB_FA_COMPRESSED; break;
case 'O': uiAttr |= HB_FA_OFFLINE; break;
case 'X': uiAttr |= HB_FA_NOTINDEXED; break;
case 'E': uiAttr |= HB_FA_ENCRYPTED; break;
case 'I': uiAttr |= HB_FA_DEVICE; break;
case 'M': uiAttr |= HB_FA_VOLCOMP; break;
#endif
}