Dependent on given R and L parameter values,
"txl" models might be transformed to "cpl" models in INPdomodel().
This would cause a "unrecognized parameter" warning in create_model()
when searching for the "txl" flag in the "cpl" model,
which is avoided with some awkward extra processing in inpgmod.c
This commit removes this special processing
by addition of an "alias" parameter "txl" to the
"cpl" module parameter description CPLmPTable[] in "cpl.c"
Note,
setModelParm() is a no-op for "cpl" and "txl"
see case CPL_MOD_R in
function CPLmParam()
and case TXL_MOD_R in
function TXLmParam()
When 'level' is a valid model parameter,
then it was processed like any other parameter,
but additionally the
`if (strcmp(parm, "level") == 0)'
invoked INPgetValue() a second time.
This special processing is meant to allow "level" for all models
whether they make use of it or not.
The excess invocation of INPgetValue() didn't cause harm,
merely because the next token after the "level=number"
almost necessarily is a string (the beginning "name=" of the next assignment)
thus not a parse-able number,
thus the second INPgetValue() didn't modify the 'line' pointer.
To sanitise the code invoke the "level" skipping only if "level"
is not recognised as a valid model parameter.
in the block in-between those two positions
there is no access to lastType
there is no 'continue'
there is no 'break' out of the enclosing switch
thus the assignment is inevitable
there is one position where cardType is modified,
need to assign to lastType there too to keep it in sync
in the block in-between those two positions
there is no access to lastType or cardType
there is no 'continue'
there is no 'break' out of the enclosing 'switch'
thus the assignment is inevitable
setting txtCard to 0 and cardType to E_MISSING (which is < 0)
caused the following `if (cardType >= 0)' to be skipped
and then broke out of the enclosing 'while' loop
in this case, there where no other statements executed