diff --git a/src/frontend/plotting/gnuplot.c b/src/frontend/plotting/gnuplot.c index 2d5220d03..57811e243 100644 --- a/src/frontend/plotting/gnuplot.c +++ b/src/frontend/plotting/gnuplot.c @@ -94,6 +94,8 @@ ft_gnuplot(double *xlims, double *ylims, char *filename, char *title, char *xlab terminal_type = 4; if (cieq(terminal, "eps/quit")) terminal_type = 5; + if (cieq(terminal, "xterm")) + terminal_type = 6; } if (!cp_getvar("xbrushwidth", CP_NUM, &linewidth, 0)) @@ -342,8 +344,10 @@ ft_gnuplot(double *xlims, double *ylims, char *filename, char *title, char *xlab fprintf(cp_out, "writing plot to file %s.eps\n", filename); (void) sprintf(buf, "gnuplot %s", filename_plt); } - else + else if (terminal_type == 6) (void) sprintf(buf, "xterm -e gnuplot %s - &", filename_plt); + else + (void) sprintf(buf, "gnuplot -p %s - &", filename_plt); #endif err = system(buf); diff --git a/src/spicelib/analysis/dctrcurv.c b/src/spicelib/analysis/dctrcurv.c index 1e25baca2..c373160a7 100644 --- a/src/spicelib/analysis/dctrcurv.c +++ b/src/spicelib/analysis/dctrcurv.c @@ -140,7 +140,7 @@ DCtrCurv(CKTcircuit *ckt, int restart) } } - if (!strcmp(job->TRCVvName[i], "temp")) { + if (cieq(job->TRCVvName[i], "temp")) { job->TRCVvSave[i] = ckt->CKTtemp; /* Saves the old circuit temperature */ job->TRCVvType[i] = TEMP_CODE; /* Set the sweep type code */ ckt->CKTtemp = job->TRCVvStart[i] + CONSTCtoK; /* Set the new circuit temp */ diff --git a/src/spicelib/devices/vsrc/vsrcask.c b/src/spicelib/devices/vsrc/vsrcask.c index bdf922c46..752fdc688 100644 --- a/src/spicelib/devices/vsrc/vsrcask.c +++ b/src/spicelib/devices/vsrc/vsrcask.c @@ -92,7 +92,10 @@ VSRCask(CKTcircuit *ckt, GENinstance *inst, int which, IFvalue *value, IFvalue * strcpy(errMsg,msg); return(E_ASKCURRENT); } else { - value->rValue = *(ckt->CKTrhsOld+here->VSRCbranch); + if (ckt->CKTrhsOld) + value->rValue = *(ckt->CKTrhsOld + here->VSRCbranch); + else + value->rValue = 0.; } return(OK); case VSRC_POWER: