1. Bug in filelist.e

I just downloaded Jacques SFX2 file and find an error in
hi fileist.e routines (also found on the jd.zip version).
The problem is that if you have a CD-ROM, but with no CD
in it, you'll get a Critical Error, cause the function
tryies to make a dir() to the drive with the function
GetDriveList() at line 724 of the code (yes, I traced it!).

I hope you're reading this Jacques... can you fix it?
Your SB routines are EXCELENT!!! (thanks for sharing it),
the bug is at the filelist.e module.


P.D. Unfortuatly the webring server has been down, so if
you've tryied to signon the ring, please try again. If you
have already submited an application, wait until I can
access the server to add you. Remember you *MUST* put
the ring's HTMl code in your page.

Bye,
--

            ************************************
            This message sent by Daniel Berstein
            ************************************
     email: architek at geocities.com
 homepages: http://www.geocities.com/SiliconValley/Heights/9316
            http://www.cybercity.hko.net/silicon_valley/architek

new topic     » topic index » view message » categorize

2. Re: Bug in filelist.e

At 15:56 97-05-08 -0400, you wrote:

>I just downloaded Jacques SFX2 file and find an error in
>hi fileist.e routines (also found on the jd.zip version).
>The problem is that if you have a CD-ROM, but with no CD
>in it, you'll get a Critical Error, cause the function
>tryies to make a dir() to the drive with the function
>GetDriveList() at line 724 of the code (yes, I traced it!).


Hi Daniel,

    I was aware of that problem but as David Cuny releassed is excellent
text tool, I will not spend any more effort on filelist.e, You should forget
filelist.e and use David's d_open.e instead.


    For my programs that uses filelist.e I simply commented out the search
for cd-rom.


global function GetDriveList()
  integer hdn,fdn
  sequence fl,hl,cdl, cdId
  object d

  fdn = floor(peek(#410) / 64) -- number of floppies
  if fdn = 0 then
    fl = "A"
  elsif fdn = 1 then
    fl = "AB"
  end if

  hdn = peek(#475) -- number of hard disk
  if hdn = 1 then
     hl = "C"
     cdId = "D:"
  elsif hdn = 2 then
     hl = "CD"
     cdId = "E:"
  end if
--check for CD-ROM
  d = {}
  cdl = ""
--  while not atom(d) do
--    d = dir(cdId)
--    if sequence(d) then
--        cdl = cdl & cdId[1]
--        cdId[1] = cdId[1] + 1
--    end if
--  end while
  return fl & hl & cdl
end function -- GetDriveList()

Jacques Deschenes
Baie-Comeau, Quebec
Canada
desja at quebectel.com

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu