dvitomp fix from Akira
[mplib] / src / texk / kpathsea / variable.h
1 /* variable.h: declare variable expander.
2
3    Copyright 1993, 1995, 2008 Karl Berry.
4
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.
9
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.
14
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/>.  */
17
18 #ifndef KPATHSEA_VARIABLE_H
19 #define KPATHSEA_VARIABLE_H
20
21 #include <kpathsea/c-proto.h>
22 #include <kpathsea/types.h>
23
24
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);
28
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.
35    
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);
40
41 #endif /* not KPATHSEA_VARIABLE_H */