On 3/16/2025 7:21 PM, Paul Dufresne via Freedos-devel wrote:
---- Le dim., 16 mars 2025 19:18:45 -0400 Jim Hall via Freedos-devel a écrit
----
ry interesting! I don't usually use LFN, so I doin't have DOSLFN
> installed. I installed it to test.
>
> Before loading DOSLFN: Solitaire runs fine
>
> After loading DOSLFN: Boliaire exits with SIGSEGV error (*below)
>
> After un-loading DOSLFN: Solitaire runs fine again
>
It seems the bug can be triggered (but seldomly, not often, to the point I am unsure anymore) even with doslfn disabled or unloaded.
bolitare
Extra menu/change background
double-click BG
select a JPG file
click select background
Sometimes, seldomly, the bug is triggered
I checked a bit the source code.
Files seems to be read with (in browser.c):
void initialize_dir_file()
{
int done,i;
browser.dir_selected=-1;
browser.file_selected=-1;
browser.dir_n=0;
done=al_findfirst("*.*",&ffblk,FA_DIREC | FA_RDONLY| FA_ARCH);
while (!done)
{
if(strcmp(ffblk.name,".")!=0 && strcmp(ffblk.name,"..")!=0 &&ffblk.attrib!=0 &&
ffblk.attrib!=1 && ffblk.attrib!=32 && ffblk.attrib!=33)
{
strcpy(directory[browser.dir_n].name,ffblk.name);
directory[browser.dir_n].selected=0;
browser.dir_n=browser.dir_n+1;
}
done = al_findnext(&ffblk);
}
al_findclose(&ffblk);
browser.first_dir_n=0;
browser.file_n=0;
if(browser.mode==2)
done=al_findfirst("*.jpg",&ffblk,FA_ARCH|FA_RDONLY);
else
done=al_findfirst("*.mp3",&ffblk,FA_ARCH|FA_RDONLY);
while (!done)
{
strcpy(file[browser.file_n].name,ffblk.name);
file[browser.file_n].selected=0;
file[browser.file_n].size=ffblk.size;
done = al_findnext(&ffblk);
// textprintf_ex(form1,data[XSANS2].dat,350,150+i*20,colour.black,-1,"%d
%d",FA_ARCH,FA_RDONLY);
browser.file_n=browser.file_n+1;
}
al_findclose(&ffblk);
browser.first_file_n=0;
}
Frankly... not gone any conclusion from this code.
Don't have the time to check right now, but I would bet that it is the
findfirst() that craps out, as with LFN, the structure of ffblk is
likely only accounting for a "regular" 8.3 filename, space wise, but
gets a longer result back from the LFN enabled kernel file functions...
Ralf
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel