diff options
Diffstat (limited to 'gl/dirname.h')
-rw-r--r-- | gl/dirname.h | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/gl/dirname.h b/gl/dirname.h index 4ad0312..e18a97e 100644 --- a/gl/dirname.h +++ b/gl/dirname.h | |||
@@ -1,46 +1,54 @@ | |||
1 | /* Take file names apart into directory and base names. | 1 | /* Take file names apart into directory and base names. |
2 | 2 | ||
3 | Copyright (C) 1998, 2001, 2003-2006, 2009-2013 Free Software Foundation, | 3 | Copyright (C) 1998, 2001, 2003-2006, 2009-2022 Free Software Foundation, |
4 | Inc. | 4 | Inc. |
5 | 5 | ||
6 | This program is free software: you can redistribute it and/or modify | 6 | This file is free software: you can redistribute it and/or modify |
7 | it under the terms of the GNU General Public License as published by | 7 | it under the terms of the GNU Lesser General Public License as |
8 | the Free Software Foundation; either version 3 of the License, or | 8 | published by the Free Software Foundation; either version 2.1 of the |
9 | (at your option) any later version. | 9 | License, or (at your option) any later version. |
10 | 10 | ||
11 | This program is distributed in the hope that it will be useful, | 11 | This file is distributed in the hope that it will be useful, |
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 12 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
14 | GNU General Public License for more details. | 14 | GNU Lesser General Public License for more details. |
15 | 15 | ||
16 | You should have received a copy of the GNU General Public License | 16 | You should have received a copy of the GNU Lesser General Public License |
17 | along with this program. If not, see <http://www.gnu.org/licenses/>. */ | 17 | along with this program. If not, see <https://www.gnu.org/licenses/>. */ |
18 | 18 | ||
19 | #ifndef DIRNAME_H_ | 19 | #ifndef DIRNAME_H_ |
20 | # define DIRNAME_H_ 1 | 20 | # define DIRNAME_H_ 1 |
21 | 21 | ||
22 | # include <stdbool.h> | 22 | # include <stdbool.h> |
23 | # include <stddef.h> | 23 | # include <stdlib.h> |
24 | # include "dosname.h" | 24 | # include "filename.h" |
25 | # include "basename-lgpl.h" | ||
25 | 26 | ||
26 | # ifndef DIRECTORY_SEPARATOR | 27 | # ifndef DIRECTORY_SEPARATOR |
27 | # define DIRECTORY_SEPARATOR '/' | 28 | # define DIRECTORY_SEPARATOR '/' |
28 | # endif | 29 | # endif |
29 | 30 | ||
30 | # ifndef DOUBLE_SLASH_IS_DISTINCT_ROOT | 31 | #ifdef __cplusplus |
31 | # define DOUBLE_SLASH_IS_DISTINCT_ROOT 0 | 32 | extern "C" { |
32 | # endif | 33 | #endif |
33 | 34 | ||
34 | # if GNULIB_DIRNAME | 35 | # if GNULIB_DIRNAME |
35 | char *base_name (char const *file); | 36 | char *base_name (char const *file) |
36 | char *dir_name (char const *file); | 37 | _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE |
38 | _GL_ATTRIBUTE_RETURNS_NONNULL; | ||
39 | char *dir_name (char const *file) | ||
40 | _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE | ||
41 | _GL_ATTRIBUTE_RETURNS_NONNULL; | ||
37 | # endif | 42 | # endif |
38 | 43 | ||
39 | char *mdir_name (char const *file); | 44 | char *mdir_name (char const *file) |
40 | size_t base_len (char const *file) _GL_ATTRIBUTE_PURE; | 45 | _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE; |
41 | size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; | 46 | size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE; |
42 | char *last_component (char const *file) _GL_ATTRIBUTE_PURE; | ||
43 | 47 | ||
44 | bool strip_trailing_slashes (char *file); | 48 | bool strip_trailing_slashes (char *file); |
45 | 49 | ||
50 | #ifdef __cplusplus | ||
51 | } /* extern "C" */ | ||
52 | #endif | ||
53 | |||
46 | #endif /* not DIRNAME_H_ */ | 54 | #endif /* not DIRNAME_H_ */ |