<html><body>Hi Joerg,<div><br></div><div>Interesting, is this a recursive directory traverse?</div><div>It indeed reports one the files in question and its sector(start?) number.</div><div><br></div><div>Tomas</div><div><br></div><div>---</div><div><br></div><div>Recoded for revised FPGA (V7?) Oberon as below, still struggling a bit with terminology. </div><div><br></div><div><div>MODULE MyDir;</div><div>  IMPORT Texts, FileDir, Oberon;</div><div>  VAR W: Texts.Writer;</div><div><br></div><div>  PROCEDURE List(name: FileDir.FileName; sec : INTEGER; VAR cont: BOOLEAN);</div><div>  BEGIN</div><div>     Texts.WriteString(W, name); Texts.WriteInt(W, sec, 6);</div><div>     Texts.WriteLn(W);</div><div>     cont := TRUE</div><div>  END List;</div><div> </div><div>  PROCEDURE Do*;</div><div>  BEGIN </div><div>    FileDir.Enumerate("", List); Texts.Append(Oberon.Log, W.buf)</div><div>  END Do;</div><div><br></div><div>BEGIN Texts.OpenWriter(W);</div><div>END MyDir.</div></div><div><br><p>---------- Původní zpráva ----------<br>Od: Jörg <joerg.straube@iaeth.ch><br>Komu: 'ETH Oberon and related systems' <oberon@lists.inf.ethz.ch><br>Datum: 22. 3. 2017 18:04:00<br>Předmět: Re: [Oberon] FPGA Oberon  - Lost file reclaim storage</p><br><blockquote><div lang="DE-CH"><div><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">Thomas</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US"> </span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">Can you still enumerate the corrupted file?</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">I mean, will this program find your file?</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US"> </span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">MODULE myDir</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US"> </span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">IMPORT FileDir, Out;</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US"> </span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">PROCEUDRE List(name: FileDir.FileName; sec: INTEGER; VAR cont: BOOLEAN);</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">            BEGIN</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">                        Out.String(name); Out.Int(sec, 12); Out.Ln;</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">                        cont := TRUE</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">            END List;</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US"> </span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">PROCEDURE Do*;</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">            BEGIN</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">                        FileDir.Enumerate(“”, List)</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">            END Do;</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">BEGIN</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US">END myDir.Do</span></font></p><p><font size="2" face="Arial"><span lang="EN-US" style="font-size:11pt;font-family:'Arial',sans-serif;mso-fareast-language:EN-US"> </span></font></p><p><font size="3" face="Times New Roman"><span lang="EN-US" style="font-size:12pt;mso-fareast-language:EN-US"> </span></font></p><div><div style="border:none;border-top:solid #E1E1E1 1pt;padding:3pt 0cm 0cm 0cm"><p><b><font size="2" face="Calibri"><span lang="EN-US" style="font-size:11pt;font-family:'Calibri',sans-serif;font-weight:bold">From:</span></font></b><font size="2" face="Calibri"><span lang="EN-US" style="font-size:11pt;font-family:'Calibri',sans-serif"> Oberon [mailto:oberon-bounces@lists.inf.ethz.ch] <b><span style="font-weight:bold">On Behalf Of </span></b>thomas.kral@email.cz<br><b><span style="font-weight:bold">Sent:</span></b> Dienstag, 21. März 2017 09:53<br><b><span style="font-weight:bold">To:</span></b> ETH Oberon and related systems <oberon@lists.inf.ethz.ch><br><b><span style="font-weight:bold">Subject:</span></b> [Oberon] FPGA Oberon - Lost file reclaim storage</span></font></p></div></div><p><font size="3" face="Times New Roman"><span style="font-size:12pt"> </span></font></p><p><font size="3" face="Times New Roman"><span style="font-size:12pt">Hi,</span></font></p><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt"> </span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt">On a very rare occasion, I happened to produce a file that has a corrupt header, wherby a dot '.' in its name is replaced by an invisible character.</span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt"> </span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt">Subsequent writing to the same file name resolved the situation and file was created normally. </span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt"> </span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt">Now I am just thinking how I can reclaim the storage taken up by that lost file. Delete on its name fails, as the system does not see it as a regular file. </span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt"> </span></font></p></div><div><p><font size="3" face="Times New Roman"><span style="font-size:12pt">Tomas</span></font></p></div></div></div>--
<br>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems
<br>https://lists.inf.ethz.ch/mailman/listinfo/oberon
<br></blockquote></div></body></html>