This file is indexed.

/usr/include/MLV/MLV_path.h is in libmlv3-dev 3.1.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/*
 *   This file is part of the MLV Library.
 *
 *   Copyright (C) 2010,2011,2012 Adrien Boussicault, Marc Zipstein
 *
 *
 *    This Library is free software: you can redistribute it and/or modify
 *    it under the terms of the GNU General Public License as published by
 *    the Free Software Foundation, either version 3 of the License, or
 *    (at your option) any later version.
 *
 *    This Library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *    GNU General Public License for more details.
 *
 *    You should have received a copy of the GNU General Public License
 *    along with this Library.  If not, see <http://www.gnu.org/licenses/>.
 */

/** \~french 
 * \file MLV_path.h
 *
 * \author Adrien Boussicault
 * \author Marc Zipstein
 *
 * \brief Ce fichier définit les prototypes des fonctions permettant de
 *        manipuler les chemins d'accès aux fichiers et répertoires.
 *
 */

#ifndef __MLV__MLV_PATH_H__
#define __MLV__MLV_PATH_H__

#include <stdarg.h>

#ifdef __cplusplus
extern "C" {
#endif

/** \~french
 * \brief Renvoie la chaîne de caractères après le dernier séparteur / dans un
 *        chemin donné en paramètre.
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \param path Le chemin à analyser.
 * \return Une chaîne de caractères.
 */
char* MLV_get_base_name( const char* path );

/** \~french
 *
 * \brief Renvoie la chaîne de caractères s'étendant jusqu'au dernier séparateur
 *        / du chemin donné en paramètre.
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \param path Le chemin à analyser.
 * \return Une chaîne de caractères.
 */
char* MLV_get_directory_name( const char* path );

/** \~french
 * \brief Teste si un chemin est absolu.
 *
 * \param path Le chemin
 * \return Renvoie 1 si le chemin est absolue, 0 sinon.
 */
int MLV_path_is_absolute( const char* path );

/** \~french
 * \brief Teste si un chemin est relatif.
 *
 * \param path Le chemin
 * \return Renoie 1 si le chemin est relatif, 0 sinon.
 */
int MLV_path_is_relative( const char* path );

/** \~french
 *
 * \brief Teste si le chemin corespond au chemin d'un fichier ou dossier
 *        existant.
 *
 * \param path Le chemin
 * \return Renvoie 1 si le chemin est associé à un dossier ou à un fichier
 *         existant, 0 sinon.
 */
int MLV_path_exists( const char* path );

/** \~french
 * \brief Vérifie si un chemin est associé à un répertoire.
 *
 * \param path Le chemin
 * \return Renvoie 1 si le chemin est associé à un dossier, 0 sinon.
 */
int MLV_path_is_a_directory( const char* path );

/** \~french
 * \brief Vérifie si un chemin est associé à un fichier.
 *
 * \param path Le chemin
 * \return Renvoie 1 si le chemin est associé à un fichier, 0 sinon.
 */
int MLV_path_is_a_file( const char* path );

/** \~french
 * \brief Construit en concaténant différents textes, une chaîne de caractères 
 *        représentant un chemin dont les séparateurs corespondent aux 
 *        spécifications de la plateforme sur laquel s'exécute le programme.
 *
 * \bug Cette fonction ne fait que concaténer les differentes chaînes en 
 *      mettant entre chaque chaîne un séparateur de répertoire compatible
 *      avec le système d'exploitation. Par contre, ce qui constitue le bug, il
 *      ne convertit pas chaque chaîne dans un format compatible avec celui du
 *      système d'exploitation.
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \param first_element La première chaîne à concaténer.
 * \param ... Les autres éléments à concaténer.
 * \return Le chemin vérifiant les normes de la plateforme hôte.
 */
char* MLV_build_path( const char* first_element, ... );

/** \~french
 * \brief Même chose que MLV_build_path
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \param elements Les éléments à concaténer ensemble.
 * \return Le chemin vérifiant les normes de la plateforme qui va exécuter 
 *         le programme.
 */
char* MLV_build_path_v( char** elements );

/** \~french
 * \brief Détermine le répertoire courant.
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \return Le chemin du répertoire courant.
 */
char * MLV_get_current_directory( );

/** \~french
 * \brief Détermine le répertoire temporaire.
 *
 * Le répertoire temporaire est le répertoire dans lequel les applications
 * ont le droit d'ajouter et de modifier des fichiers.
 * Ce répertoire est génaralement vidé lorsque la machine est étteinte.
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \return Le chemin du répertoire temporaire.
 */
const char * MLV_get_temporary_directory( );

/** \~french
 * \brief Détermine le répertoire personnel de l'utilisateur courant.
 *
 * La chaîne de caractères doit être désallouée après utilisation.
 *
 * \return Le chemin du répertoire personnel.
 */
const char * MLV_get_home_directory( );

#ifdef __cplusplus
}
#endif

#endif