From 0d35599b07540747a8462cf352c579172be7667a Mon Sep 17 00:00:00 2001 From: JWu <j.wuttke@fz-juelich.de> Date: Thu, 2 Aug 2012 12:54:37 +0200 Subject: [PATCH] prevent crash when ntack=0 --- pub/src/dualplot.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/pub/src/dualplot.cpp b/pub/src/dualplot.cpp index ff917704..6c57f257 100644 --- a/pub/src/dualplot.cpp +++ b/pub/src/dualplot.cpp @@ -359,23 +359,25 @@ void CPlot::ps_ticktack( const vector<double>& Tacks, int ntpt, { uint i, ntack; ntack = Tacks.size(); - ps_accu.push_back( " [\n" ); - if (A->logflag && ( Tacks[0]<1e-3 || Tacks[ntack-1]>1e3 )) { - for (i=0; i<ntack; i++) { - snprintf( outlin, mLin, - " %9.6f {(10)(%d)sp()} %%{(%g)}\n", - A->pc(Tacks[i]), (int)(log10(Tacks[i])), - (float) Tacks[i]); - ps_accu.push_back( outlin ); - } - } else { - for (i=0; i<ntack; i++) { - snprintf( outlin, mLin, " %9.6f {(%g)}\n", - A->pc(Tacks[i]), (float) Tacks[i]); - ps_accu.push_back( outlin ); + if (ntack > 0 ) { + ps_accu.push_back( " [\n" ); + if (A->logflag && ( Tacks[0]<1e-3 || Tacks[ntack-1]>1e3 )) { + for (i=0; i<ntack; i++) { + snprintf( outlin, mLin, + " %9.6f {(10)(%d)sp()} %%{(%g)}\n", + A->pc(Tacks[i]), (int)(log10(Tacks[i])), + (float) Tacks[i]); + ps_accu.push_back( outlin ); + } + } else { + for (i=0; i<ntack; i++) { + snprintf( outlin, mLin, " %9.6f {(%g)}\n", + A->pc(Tacks[i]), (float) Tacks[i]); + ps_accu.push_back( outlin ); + } } + ps_accu.push_back( " ] SetTacVec\n" ); } - ps_accu.push_back( " ] SetTacVec\n" ); snprintf( outlin, mLin, " %g %g %d %d SetTicVec%s\n", A->pc(ticklim[0]), A->pc(ticklim[1]), ntack+2, ntpt, (A->logflag? "Log" : "Lin")); -- GitLab