blob: b44ddc7e71c21bcee6dcc44a4baa83f6d5a3686d (
plain)
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
|
/* setupvar.c: Look up a value in texmf.cnf or use default.
Adapted in 2010 by Peter Breitenlohner. Public domain.
Written in 1995 by Karl Berry. Public domain. */
#include <w2c/config.h>
#include "lib.h"
#include <kpathsea/variable.h>
/* Look up VAR_NAME in texmf.cnf; assign either the value found there or
DFLT to *VAR. */
void
setupboundvariable (integer *var, const_string var_name, integer dflt)
{
string expansion = kpse_var_value (var_name);
*var = dflt;
if (expansion) {
integer conf_val = atoi (expansion);
/* It's ok if the cnf file specifies 0 for extra_mem_{top,bot}, etc.
But negative numbers are always wrong. */
if (conf_val < 0 || (conf_val == 0 && dflt > 0)) {
fprintf (stderr,
"%s: Bad value (%ld) in environment or texmf.cnf for %s, keeping %ld.\n",
kpse_invocation_name,
(long) conf_val, var_name, (long) dflt);
} else {
*var = conf_val; /* We'll make further checks later. */
}
free (expansion);
}
}
|