1 /**********
2 Copyright 1990 Regents of the University of California.  All rights reserved.
3 Author: 1985 Thomas L. Quarles
4 **********/
5 /*
6  */
7 
8     /* CKTmkCur
9      *  make the given name a 'node' of type current in the
10      * specified circuit
11      */
12 
13 #include "ngspice/ngspice.h"
14 #include "ngspice/ifsim.h"
15 #include "ngspice/sperror.h"
16 #include "ngspice/cktdefs.h"
17 
18 
19 
20 /* ARGSUSED */
21 int
CKTmkCur(CKTcircuit * ckt,CKTnode ** node,IFuid basename,char * suffix)22 CKTmkCur(CKTcircuit *ckt, CKTnode **node, IFuid basename, char *suffix)
23 {
24     IFuid uid;
25     int error;
26     CKTnode *mynode;
27     CKTnode *checknode;
28 
29     error = CKTmkNode(ckt,&mynode);
30     if(error) return(error);
31     checknode = mynode;
32     error = SPfrontEnd->IFnewUid (ckt, &uid, basename, suffix, UID_SIGNAL, &checknode);
33     if(error) {
34         FREE(mynode);
35         if(node) *node = checknode;
36         return(error);
37     }
38     mynode->name = uid;
39     mynode->type = SP_CURRENT;
40     if(node) *node = mynode;
41     error = CKTlinkEq(ckt,mynode);
42     return(error);
43 }
44