On Mon, 08 Mar 2010, Maurilio Longo wrote:

Hi,

> Przemysław Czerpak wrote:
> > The description suggests that files with attribute READONLY or ARCHIVE are
> > not shown if MAY bits are not set. It's not Clipper compatible behavior.
> > So it should be definitely fixed or the description is wrong.
> I think description is wrong, see
> MUST_HAVE_ARCHIVED (0x00002000)
> Must-Have Archive bit; excludes files without the archive bit set if bit 13 is
> set to 1. Files may have the Archive bit set if bit 13 is set to 0.
> and
> 
> FILE_ARCHIVED (0x00000020)
> May-Have Archive bit; includes files with the Archive bit set if bit 5 is set
> to 1. Excludes files with the Archive bit set if bit 5 is set to 0.
> 
> I've also done a little test on a shared volume, all files with 'A' and one
> with 'R' flag set, Directory() returns the name of them all.
> 
> So, docs are wrong :)

I believe that you are right but test on shared volumes is not an answer
because it may depend on host system behavior which can be different then
native OS2 one so it would be nice if you can verify it for native local
volumes too. Just to be sure :)

> > I think that we should clean current file IO code and use only native
> > OS2 API instead of current mixed OS2 and CRTL calls. We can also add
> > support for 64bit file API if it's available in OS2.
> Yes, using APIs only could be a good thing, at least for code quality.

I can try to help in this process but final tests have to be done by real
OS2 users.
Seems that the following files should be updated:
   filesys.c (hb_fsOpen(), hb_fsCreate(), hb_fsCreateEx(), hb_fsClose(),
              hb_fsSetDevMode()?, hb_fsIsDevice()?
              hb_fsGetFileTime(), hb_fsEof(),
              hb_fsRead(), hb_fsWrite(), hb_fsReadLarge(), hb_fsWriteLarge(),
              hb_fsReadAt() (64bit offsets support),
              hb_fsWriteAt() (64bit offsets support),
              hb_fsTruncAt() (64bit offsets support),
              hb_fsLockLarge() (64bit offsets support),
              hb_fsSeekLarge() (64bit offsets support),
              hb_fsDelete(), hb_fsRename(), hb_fsMkDir(), hb_fsChDir(),
              hb_fsRmDir()
   fstemp.c
   fssize.c (it should be updated also for native MS-Win builds to eliminate
             CRTL stat() function)
   hbffind.c (hb_fsFindNextLow() (64bit file size support))

Do you seen any potential problems in switching to native OS2 API in above
functions?

best regards,
Przemek
_______________________________________________
Harbour mailing list (attachment size limit: 40KB)
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to