Re: liens symboliques
Thomas De Contes <[email protected]>
| Newsgroups | gmane.comp.lang.ada.france |
|---|---|
| Message-ID | <[email protected]> |
Le 4 oct. 09 à 22:09, Laurent GUERBY a écrit :
> On Sun, 2009-10-04 at 19:01 +0200, Thomas De Contes wrote:
>>
>> Le 11 nov. 08 à 16:39, Thomas De Contes a écrit :
>>
>>> J'ai trouvé System.OS_Lib.Is_Symbolic_Link
>>> Mais il me semble qu'il faut absolument éviter d'utiliser System.* ,
>>> non ? parce que ça risque de ne pas être portable ? Je ne me
>>> souviens
>>> plus exactement.
>
> La version utilisateur est GNAT.OS_Lib.Is_Symbolic_Link
> c'est cette version qu'il faut utiliser.
Merci :-)
2 questions et 1 requête :
package GNAT.OS_Lib renames System.OS_Lib;
Pourquoi cette simple redirection ?
Je trouve que c'est pas très propre de mettre à disposition des
utilisateurs des routines qui leur sont destinées mélangées à des
routines qui semblent destinées uniquement à l'usage interne (comme
celles qui utilisent C_File_Name)
Est ce qu'il y a une raison précise, ou c'est juste que personne n'a
pris le temps de reprendre tout GNAT.OS_Lib pour faire le tri ?
function Is_Symbolic_Link (Name : String) return Boolean;
-- Determines if the given string, Name, is the path of a
symbolic link on
-- systems that support it. Returns True if so, False if the
path is not a
-- symbolic link or if the system does not support symbolic links.
Est ce à dire que GNAT.OS_Lib.Is_Symbolic_Link existe sur *tous* les
gnat, par exemple même sous windows ?
Si oui, ça limite la requête suivante à ceux qui n'ont pas gnat, mais
pas à ceux qui n'ont pas de liens symboliques :-)
Vu ce qui précède, il me semble souhaitable que tous ceux qui font
des explorations d'arborescence intègrent ceci dans leur code :
function sorteDeFichier (dossier : String) return
Ada.Directories.File_Kind is
use Ada.Directories;
begin
return sf : File_Kind do
sf:= Kind(dossier);
if GNAT.OS_Lib.Is_Symbolic_Link(dossier) then
sf:= Special_File;
end if;
end return;
end sorteDeFichier;
Je ne sais pas quel serais l'équivalent pour ceux qui utilisent par
exemple Aonix (dont qqn nous a récemment envoyé un msg de soutien)
> Ma recommandation pour un logiciel Ada : faire un paquetage
> mon_logiciel.os_interface
> Cela a l'avantage de contenir les points litigieux a un seul paquetage
> et eviter un etalage de dependance obscures a tout ton logiciel.
:-)
--
Téléassistance / Télémaintenance
http://www.portparallele.com/ThomasDECONTES/
_______________________________________________
Site WWW de l'association Ada-France: http://www.ada-france.org/
[email protected]
http://www.ada-france.org/mailman/listinfo/ada-france