xref: /freebsd/contrib/diff/lib/dirname.h (revision 18fd37a72c3a7549d2d4f6c6ea00bdcd2bdaca01)
118fd37a7SXin LI /*  Take file names apart into directory and base names.
218fd37a7SXin LI 
318fd37a7SXin LI     Copyright (C) 1998, 2001, 2003 Free Software Foundation, Inc.
418fd37a7SXin LI 
518fd37a7SXin LI     This program is free software; you can redistribute it and/or modify
618fd37a7SXin LI     it under the terms of the GNU General Public License as published by
718fd37a7SXin LI     the Free Software Foundation; either version 2, or (at your option)
818fd37a7SXin LI     any later version.
918fd37a7SXin LI 
1018fd37a7SXin LI     This program is distributed in the hope that it will be useful,
1118fd37a7SXin LI     but WITHOUT ANY WARRANTY; without even the implied warranty of
1218fd37a7SXin LI     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1318fd37a7SXin LI     GNU General Public License for more details.
1418fd37a7SXin LI 
1518fd37a7SXin LI     You should have received a copy of the GNU General Public License
1618fd37a7SXin LI     along with this program; if not, write to the Free Software Foundation,
1718fd37a7SXin LI     Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
1818fd37a7SXin LI 
1918fd37a7SXin LI #ifndef DIRNAME_H_
2018fd37a7SXin LI # define DIRNAME_H_ 1
2118fd37a7SXin LI 
2218fd37a7SXin LI # include <stddef.h>
2318fd37a7SXin LI 
2418fd37a7SXin LI # ifndef DIRECTORY_SEPARATOR
2518fd37a7SXin LI #  define DIRECTORY_SEPARATOR '/'
2618fd37a7SXin LI # endif
2718fd37a7SXin LI 
2818fd37a7SXin LI # ifndef ISSLASH
2918fd37a7SXin LI #  define ISSLASH(C) ((C) == DIRECTORY_SEPARATOR)
3018fd37a7SXin LI # endif
3118fd37a7SXin LI 
3218fd37a7SXin LI # ifndef FILESYSTEM_PREFIX_LEN
3318fd37a7SXin LI #  define FILESYSTEM_PREFIX_LEN(Filename) 0
3418fd37a7SXin LI # endif
3518fd37a7SXin LI 
3618fd37a7SXin LI char *base_name (char const *path);
3718fd37a7SXin LI char *dir_name (char const *path);
3818fd37a7SXin LI size_t base_len (char const *path);
3918fd37a7SXin LI size_t dir_len (char const *path);
4018fd37a7SXin LI 
4118fd37a7SXin LI int strip_trailing_slashes (char *path);
4218fd37a7SXin LI 
4318fd37a7SXin LI #endif /* not DIRNAME_H_ */
44