On Sat, 30 Jan 2010, smu johnson wrote:
> It appears the FILEATTR() function doesn't work.
> According to http://www.ousob.com/ng/tools1-3/ng935ab.php , it says it
> should return a bit-wise decimal number.  I tried a few different ways...
> absolute path, relative, and a piece of code my brother found from the
> Harbour source files.
> ___Pre-test:
> C:\hbm>attrib hello.prg
> A   H        C:\hbm\hello.prg
> ___Result:
> C:\hbm>hello.exe
>          0
>          0
>          0
> ___code
> FUNCTION main()
>   ? FILEATTR("hello.prg")
>   ? FILEATTR("C:\hbm\hello.prg")
> cFile  :=  FILESEEK("hello.prg")
> DO WHILE .NOT. EMPTY (cFile)
>   ? cFile, FILEATTR()
>   cFile  :=  FILESEEK()
> ENDDO
> return
> // end
> Have I found a bug? :3

Yes, Thank you very much for the information.
The problem is only in MS-Windows builds and it's caused by wrongly
written emulation of DOS volume label attribute in hb_fsFindFirst()/
hb_fsFindNext().
Additionally as I can see it's partially hacked in DIRECTORY() function
so I cannot fix it immediately. I'll fix it later.
Anyhow in current code we can remove yet another hack from FILEATTR()
implementation which also resolve the problem.

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