Sujet : Re: Crash de Start_Search
De : 314 (at) *nospam* drpi.fr (DrPi)
Groupes : fr.comp.lang.adaDate : 18. Oct 2023, 20:47:02
Autres entêtes
Organisation : <https://pasdenom.info/news.html>
Message-ID : <ugpcnq$5gr$3@rasp.pasdenom.info>
References : 1 2 3 4
User-Agent : Mozilla Thunderbird
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,
Bonjour Pascal,
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 n'ai pas encore pris le temps de regarder dans le détail.
Tes informations me seront bien utiles.
Je pense qu'un rapport de bug sera nécessaire. A confirmer.
Merci
Nicolas