Function guess_type may yield the wrong type, because

it does not cover all of the the many, many options possible.
This commit fixes bug597, where [current] was interpreted as
capacitance.
This commit is contained in:
Holger Vogt 2022-07-24 12:17:29 +02:00
parent eee07be10d
commit 44930ebcb1
1 changed files with 6 additions and 1 deletions

View File

@ -927,7 +927,9 @@ fileInit(runDesc *run)
printf("No. of Data Columns : %d \n", run->numData);
}
/* Trying to guess the type of a vector, using either their special names
or special parameter names for @ vecors. FIXME This guessing may fail
due to the many options, especially for the @ vectors. */
static int
guess_type(const char *name)
{
@ -951,6 +953,9 @@ guess_type(const char *name)
type = SV_RES;
else if (cieq(name, "i-sweep"))
type = SV_CURRENT;
/* current source ISRC parameters for current */
else if (substring("@i", name) && (substring("[c]", name) || substring("[dc]", name) || substring("[current]", name)))
type = SV_CURRENT;
else if ((*name == '@') && substring("[g", name)) /* token starting with [g */
type = SV_ADMITTANCE;
else if ((*name == '@') && substring("[c", name))