1 /* variable.h: declare variable expander.
3 Copyright 1993, 1995, 2008 Karl Berry.
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public License
16 along with this library; if not, see <http://www.gnu.org/licenses/>. */
18 #ifndef KPATHSEA_VARIABLE_H
19 #define KPATHSEA_VARIABLE_H
21 #include <kpathsea/c-proto.h>
22 #include <kpathsea/types.h>
25 /* Return the (variable-expanded) environment variable value or config
26 file value, or NULL. */
27 extern KPSEDLL string kpse_var_value P1H(const_string var);
29 /* Expand $VAR, ${VAR}, and ~ references in SRC, returning the (always newly
30 dynamically-allocated) result. An unterminated ${ or any other
31 character following $ produce error messages, and that part of SRC is
32 ignored. In the $VAR form, the variable name consists of consecutive
33 letters, digits, and underscores. In the ${VAR} form, the variable
34 name consists of whatever is between the braces.
36 In any case, ``expansion'' means calling `getenv'; if the variable is not
37 set, look in texmf.cnf files for a definition. If not set there, either,
38 the expansion is the empty string (no error). */
39 extern KPSEDLL string kpse_var_expand P1H(const_string src);
41 #endif /* not KPATHSEA_VARIABLE_H */