diff --git a/src/include/ngspice/iferrmsg.h b/src/include/ngspice/iferrmsg.h index c5532bdd4..1d5a53adb 100644 --- a/src/include/ngspice/iferrmsg.h +++ b/src/include/ngspice/iferrmsg.h @@ -34,7 +34,8 @@ Author: 1986 Thomas L. Quarles #define E_NOCHANGE 13 /* simulator can't tolerate any more topology changes */ #define E_NOTFOUND 14 /* simulator can't find something it was looking for */ #define E_BAD_DOMAIN 15 /* output interface begin/end domain calls mismatched */ - +#define E_EXISTS_BAD 16 /* error - attempt to create duplicate */ + /* instance or model. Bail out. */ #define E_PRIVATE 100 /* messages above this number are private to */ /* the simulator and MUST be accompanied by */ diff --git a/src/spicelib/devices/cktcrte.c b/src/spicelib/devices/cktcrte.c index 1f5b9578d..77715604b 100644 --- a/src/spicelib/devices/cktcrte.c +++ b/src/spicelib/devices/cktcrte.c @@ -32,7 +32,7 @@ CKTcrtElt(CKTcircuit *ckt, GENmodel *modPtr, GENinstance **inInstPtr, IFuid name if (instPtr) { if (inInstPtr) *inInstPtr = instPtr; - return E_EXISTS; + return E_EXISTS_BAD; } type = modPtr->GENmodType; diff --git a/src/spicelib/parser/sperror.c b/src/spicelib/parser/sperror.c index 1ada7e7d7..915afc79c 100644 --- a/src/spicelib/parser/sperror.c +++ b/src/spicelib/parser/sperror.c @@ -29,7 +29,10 @@ const char *SPerror(int type) case E_EXISTS: msg = "device already exists, existing one being used"; break; - case E_NODEV: + case E_EXISTS_BAD: + msg = "device already exists, bail out"; + break; + case E_NODEV: msg = "no such device"; break; case E_NOMOD: