![]()
From: Scott Rose (srose@direct.ca)
Date: Sun Jun 24 2001 - 09:27:57 CDT
As far as I can see, this is broken and has been broken since at least
late betas of 2.0. The environment variables are read in a function
called setup.c:PreConfig(). That function doesn't handle integers in
environment variables properly- setting any value in the envar will
cause the address of the string to be stored instead of the value of the
integer being scanned out of the string:
defval = getenv(name);
...
switch (cfg[i].flags) {
...
case CFG_INTEGER:
*(int *)cfg[i].value = (int)defval;
break;
Seems like a sscanf() is indicated here. I think your choices are to
hack the code or, more simply, to use a config file.
![]()