xref: /freebsd-src/contrib/diff/lib/dirname.h (revision 18fd37a72c3a7549d2d4f6c6ea00bdcd2bdaca01)
1*18fd37a7SXin LI /*  Take file names apart into directory and base names.
2*18fd37a7SXin LI 
3*18fd37a7SXin LI     Copyright (C) 1998, 2001, 2003 Free Software Foundation, Inc.
4*18fd37a7SXin LI 
5*18fd37a7SXin LI     This program is free software; you can redistribute it and/or modify
6*18fd37a7SXin LI     it under the terms of the GNU General Public License as published by
7*18fd37a7SXin LI     the Free Software Foundation; either version 2, or (at your option)
8*18fd37a7SXin LI     any later version.
9*18fd37a7SXin LI 
10*18fd37a7SXin LI     This program is distributed in the hope that it will be useful,
11*18fd37a7SXin LI     but WITHOUT ANY WARRANTY; without even the implied warranty of
12*18fd37a7SXin LI     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*18fd37a7SXin LI     GNU General Public License for more details.
14*18fd37a7SXin LI 
15*18fd37a7SXin LI     You should have received a copy of the GNU General Public License
16*18fd37a7SXin LI     along with this program; if not, write to the Free Software Foundation,
17*18fd37a7SXin LI     Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
18*18fd37a7SXin LI 
19*18fd37a7SXin LI #ifndef DIRNAME_H_
20*18fd37a7SXin LI # define DIRNAME_H_ 1
21*18fd37a7SXin LI 
22*18fd37a7SXin LI # include <stddef.h>
23*18fd37a7SXin LI 
24*18fd37a7SXin LI # ifndef DIRECTORY_SEPARATOR
25*18fd37a7SXin LI #  define DIRECTORY_SEPARATOR '/'
26*18fd37a7SXin LI # endif
27*18fd37a7SXin LI 
28*18fd37a7SXin LI # ifndef ISSLASH
29*18fd37a7SXin LI #  define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
30*18fd37a7SXin LI # endif
31*18fd37a7SXin LI 
32*18fd37a7SXin LI # ifndef FILESYSTEM_PREFIX_LEN
33*18fd37a7SXin LI #  define FILESYSTEM_PREFIX_LEN(Filename) 0
34*18fd37a7SXin LI # endif
35*18fd37a7SXin LI 
36*18fd37a7SXin LI char *base_name (char const *path);
37*18fd37a7SXin LI char *dir_name (char const *path);
38*18fd37a7SXin LI size_t base_len (char const *path);
39*18fd37a7SXin LI size_t dir_len (char const *path);
40*18fd37a7SXin LI 
41*18fd37a7SXin LI int strip_trailing_slashes (char *path);
42*18fd37a7SXin LI 
43*18fd37a7SXin LI #endif /* not DIRNAME_H_ */
44