/* cnf.h: runtime config files.
Copyright 1994, 1995, 2008, 2012, 2019 Karl Berry.
Copyright 1999, 2005 Olaf Weber.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not, see . */
#ifndef KPATHSEA_CNF_H
#define KPATHSEA_CNF_H
#include
#include
#ifdef __cplusplus
extern "C" {
#endif
/* Return the value in the last-read cnf file for VAR, or NULL if none.
On the first call, also read all the `texmf.cnf' files in the path
for kpse_cnf_format (and initialize the path). Any error messages are
written to stderr. */
extern KPSEDLL const_string kpathsea_cnf_get (kpathsea kpse, const_string var);
/* Parse L as a texmf.cnf configuration line for the KPSE instance,
and insert any assignment in the environment, both as-is and
with the value (if all non-NULL) of "_" KPSE->program_name.
If [_] is already set in the environment, it is
overwritten.
All of this behavior is because if the user runs tex with
--cnf-line=TEXINPUTS=/foo:, it's not unreasonable to expect that
cmdline option to override both environment variables TEXINPUTS and
TEXINPUTS_tex, and also both configuration values TEXINPUTS and
TEXINPUTS.tex -- even though ordinarily . overrides
plain .
Any error message is written to stderr. */
extern KPSEDLL void kpathsea_cnf_line_env_progname (kpathsea kpse,
string l);
#if defined(KPSE_COMPAT_API)
extern KPSEDLL const_string kpse_cnf_get (const_string var);
#endif
#ifdef __cplusplus
}
#endif
#endif /* not KPATHSEA_CNF_H */