Browse Source

Prevent a crash when "portnum" is used in a voltage source without "z0".

pre-master-46
Giles Atkinson 3 years ago
committed by Holger Vogt
parent
commit
ae6375c519
  1. 11
      src/spicelib/devices/vsrc/vsrcpar.c

11
src/spicelib/devices/vsrc/vsrcpar.c

@ -298,14 +298,19 @@ VSRCparam(int param, IFvalue *value, GENinstance *inst, IFvalue *select)
{ {
here->VSRCportNum = value->iValue; here->VSRCportNum = value->iValue;
here->VSRCportNumGiven = TRUE; here->VSRCportNumGiven = TRUE;
here->VSRCisPort = ((here->VSRCportNumGiven) && (here->VSRCportNum > 0) && (here->VSRCportZ0 > 0.0));
here->VSRCisPort = (here->VSRCportNum > 0);
if (here->VSRCportZ0 <= 0.0) {
here->VSRCportZ0 = 50;
here->VSRCVAmplitude =
sqrt(here->VSRCportPower * 4.0 * here->VSRCportZ0);
}
break; break;
} }
case VSRC_PORTZ0: case VSRC_PORTZ0:
{ {
here->VSRCportZ0 = value->rValue; here->VSRCportZ0 = value->rValue;
here->VSRCVAmplitude = sqrt(here->VSRCportPower * 4.0 * here->VSRCportZ0);
here->VSRCisPort = ((here->VSRCportNumGiven) && (here->VSRCportNum > 0) && (here->VSRCportZ0 > 0.0));
here->VSRCVAmplitude =
sqrt(here->VSRCportPower * 4.0 * here->VSRCportZ0);
here->VSRCportZ0Given = TRUE; here->VSRCportZ0Given = TRUE;
break; break;
} }

Loading…
Cancel
Save