]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ada/a-dirval.adb
trans-array.c (gfc_conv_descriptor_data_get): Rename from gfc_conv_descriptor_data.
[thirdparty/gcc.git] / gcc / ada / a-dirval.adb
CommitLineData
30c20106
AC
1------------------------------------------------------------------------------
2-- --
3-- GNAT RUN-TIME COMPONENTS --
4-- --
5-- A D A . D I R E C T O R I E S . V A L I D I T Y --
6-- --
7-- B o d y --
8-- (POSIX Version) --
9-- --
10-- Copyright (C) 2004 Free Software Foundation, Inc. --
11-- --
12-- GNAT is free software; you can redistribute it and/or modify it under --
13-- terms of the GNU General Public License as published by the Free Soft- --
14-- ware Foundation; either version 2, or (at your option) any later ver- --
15-- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
16-- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
17-- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License --
18-- for more details. You should have received a copy of the GNU General --
19-- Public License distributed with GNAT; see file COPYING. If not, write --
20-- to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, --
21-- MA 02111-1307, USA. --
22-- --
23-- As a special exception, if other files instantiate generics from this --
24-- unit, or you link this unit with other files to produce an executable, --
25-- this unit does not by itself cause the resulting executable to be --
26-- covered by the GNU General Public License. This exception does not --
27-- however invalidate any other reasons why the executable file might be --
28-- covered by the GNU Public License. --
29-- --
30-- GNAT was originally developed by the GNAT team at New York University. --
31-- Extensive contributions were provided by Ada Core Technologies Inc. --
32-- --
33------------------------------------------------------------------------------
34
35-- This is the POSIX version of this package
36
37package body Ada.Directories.Validity is
38
1cfd6c3a
VC
39 ---------------------------------
40 -- Is_Path_Name_Case_Sensitive --
41 ---------------------------------
42
43 function Is_Path_Name_Case_Sensitive return Boolean is
44 begin
45 return True;
46 end Is_Path_Name_Case_Sensitive;
47
30c20106
AC
48 ------------------------
49 -- Is_Valid_Path_Name --
50 ------------------------
51
52 function Is_Valid_Path_Name (Name : String) return Boolean is
53 begin
54 -- A path name cannot be empty and cannot contain any NUL character
55
56 if Name'Length = 0 then
57 return False;
58
59 else
60 for J in Name'Range loop
61 if Name (J) = ASCII.NUL then
62 return False;
63 end if;
64 end loop;
65 end if;
66
67 -- If Name does not contain any NUL character, it is valid
68
69 return True;
70 end Is_Valid_Path_Name;
71
72 --------------------------
73 -- Is_Valid_Simple_Name --
74 --------------------------
75
76 function Is_Valid_Simple_Name (Name : String) return Boolean is
77 begin
78 -- A file name cannot be empty and cannot contain a slash ('/') or
79 -- the NUL character.
80
81 if Name'Length = 0 then
82 return False;
83
84 else
85 for J in Name'Range loop
86 if Name (J) = '/' or else Name (J) = ASCII.NUL then
87 return False;
88 end if;
89 end loop;
90 end if;
91
92 -- If Name does not contain any slash or NUL, it is valid
93
94 return True;
95 end Is_Valid_Simple_Name;
96
97end Ada.Directories.Validity;