void GetSubVector<T>::DoIt()
{
int i,iStart,iEnd;
+ bool ok = true;
iStart = bbGetInputI();
iEnd = bbGetInputI() + bbGetInputSize() - 1;
- if (iStart<0) { iStart = 0; }
- if (iEnd<0) { iEnd = 0; }
- if (iStart>bbGetInputIn().size() ) { iStart = bbGetInputIn().size(); }
- if (iEnd>bbGetInputIn().size() ) { iEnd = bbGetInputIn().size(); }
+ if ((iStart<0) || (iEnd<0)) { ok=false; }
+ if (iStart>(int)bbGetInputIn().size() ) { ok=false; }
+ if (iEnd>=(int)bbGetInputIn().size() ) { ok=false; }
std::vector<T> tmpVectResult;
- if (bbGetInputSize()>=1)
+ if ( (ok==true) && (bbGetInputSize()>=1) )
{
- for ( i=iStart ; i<iEnd ; i++)
+ for ( i=iStart ; i<=iEnd ; i++)
{
if ( i<(int)bbGetInputIn().size() )
{