diff --git a/src/frontend/spiceif.c b/src/frontend/spiceif.c index 98ba57dbc..df44ef4b0 100644 --- a/src/frontend/spiceif.c +++ b/src/frontend/spiceif.c @@ -626,7 +626,7 @@ finddev_special( *modptr = ft_sim->findModel (ckt, &type, modptr, name); if (*modptr) { *device_or_model = 1; - return (type); + return (*modptr)->GENmodType; } *modptr = NULL; @@ -1224,7 +1224,7 @@ finddev(CKTcircuit *ckt, char *name, GENinstance **devptr, GENmodel **modptr) // assert(third && *third == NULL) *modptr = ft_sim->findModel (ckt, &type, modptr, name); if (*modptr) - return (type); + return (*modptr)->GENmodType; *modptr = NULL; return (-1); diff --git a/src/spicelib/analysis/cktmcrt.c b/src/spicelib/analysis/cktmcrt.c index 8065dca42..9378823d9 100644 --- a/src/spicelib/analysis/cktmcrt.c +++ b/src/spicelib/analysis/cktmcrt.c @@ -35,6 +35,7 @@ CKTmodCrt(CKTcircuit *ckt, int type, GENmodel **modfast, IFuid name) if(modfast) *modfast=mymodfast; return(OK); } else { + type = mymodfast->GENmodType; /* unused */ if(modfast) *modfast=mymodfast; return(E_EXISTS); } diff --git a/src/spicelib/devices/urc/urcsetup.c b/src/spicelib/devices/urc/urcsetup.c index b9877cce0..b66aa0e9d 100644 --- a/src/spicelib/devices/urc/urcsetup.c +++ b/src/spicelib/devices/urc/urcsetup.c @@ -313,6 +313,7 @@ URCunsetup(GENmodel *inModel, CKTcircuit *ckt) modfast = CKTfndMod(ckt, &type, &modfast, varUid); if (!modfast) return E_NOMOD; + type = modfast->GENmodType; /* unused */ for (in = modfast->GENinstances; in; in = in->GENnextInstance) CKTdltNNum(ckt, in->GENnode1); @@ -333,6 +334,7 @@ URCunsetup(GENmodel *inModel, CKTcircuit *ckt) if (!modfast) return E_NOMOD; + type = modfast->GENmodType; /* unused */ CKTdltMod(ckt, modfast); } } diff --git a/src/tclspice.c b/src/tclspice.c index 0cbe08f88..57b4e8252 100644 --- a/src/tclspice.c +++ b/src/tclspice.c @@ -1401,6 +1401,8 @@ get_mod_param TCL_CMDPROCARGS(clientData, interp, argc, argv) // assert(third && *third == NULL) modptr = ft_sim->findModel (ft_curckt->ci_ckt, &typecode, &modptr, name); err = modptr ? OK : E_NOMOD; + if (modptr) + typecode = modptr->GENmodType; } else { typecode = devptr->GENmodPtr->GENmodType; err = OK;