root/maint/gnulib/lib/dirname.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* Take file names apart into directory and base names.
   2 
   3    Copyright (C) 1998, 2001, 2003-2006, 2009-2021 Free Software Foundation,
   4    Inc.
   5 
   6    This file is free software: you can redistribute it and/or modify
   7    it under the terms of the GNU Lesser General Public License as
   8    published by the Free Software Foundation; either version 2.1 of the
   9    License, or (at your option) any later version.
  10 
  11    This file is distributed in the hope that it will be useful,
  12    but WITHOUT ANY WARRANTY; without even the implied warranty of
  13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  14    GNU Lesser General Public License for more details.
  15 
  16    You should have received a copy of the GNU Lesser General Public License
  17    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  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 } /* extern "C" */
  52 #endif
  53 
  54 #endif /* not DIRNAME_H_ */

/* [previous][next][first][last][top][bottom][index][help] */