1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 #ifndef DIRNAME_H_
20 # define DIRNAME_H_ 1
21
22 # include <stdbool.h>
23 # include <stdlib.h>
24 # include "filename.h"
25 # include "basename-lgpl.h"
26
27 # ifndef DIRECTORY_SEPARATOR
28 # define DIRECTORY_SEPARATOR '/'
29 # endif
30
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
34
35 # if GNULIB_DIRNAME
36 char *base_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;
42 # endif
43
44 char *mdir_name (char const *file)
45 _GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_DEALLOC_FREE;
46 size_t dir_len (char const *file) _GL_ATTRIBUTE_PURE;
47
48 bool strip_trailing_slashes (char *file);
49
50 #ifdef __cplusplus
51 }
52 #endif
53
54 #endif