Le 18/10/2023 à 21:12, Blady a écrit :
>> Ce qui m'étonne, c'est que le crash se produit dans la fonction 
>> Dir_Search, fonction de la runtime.
>> Apparemment, plus préciément, dans le calcul d'une date 
>> (Ada.Calendar.Arithmetic_Operations.Add).
>>
>> C'est étrange et je ne vois pas comment remédier à ce problème. Il n'y 
>> a rien à ce sujet ici : 
>> 
http://www.ada-auth.org/standards/rm12_w_tc1/html/RM-A-16.html
> 
> Bonjour Nicolas,
> 
> J'ai testé sur macOS ça tourne :
> 
> % ./bin/test_20231018_dir_search
> Test en cours...
> Found : .
> Found : ..
> Found : Test avec entête.txt
> 
> 
> Le code concerné est :
> 
>           C_Name := Name & ASCII.NUL;
>           Date := C_Modification_Time (C_Name'Address);
> 
>           if Date = Invalid_Time then
>              raise Use_Error with
>                "Unable to get modification time of the file """ & Name & 
> '"';
>           end if;
> 
> Je suspecte la fonction C_Modification_Time avec des caractères 
> accentués ayant un code différent entre Linux / macOS / Windows, ce qui 
> est souvent le cas pour ces fonctions codées en C :
> 
>     function C_Modification_Time (N : System.Address) return 
> Ada.Calendar.Time;
>     pragma Import (C, C_Modification_Time, "__gnat_file_time");
> 
> Il faudrait aller voir dans le code C de __gnat_file_time.
> Sinon tu peux toujours poster un rapport d'anomalie sur 
> 
https://gcc.gnu.org/bugzilla.
 Je pense qu'un rapport de bug sera nécessaire. A confirmer.