Changeset 22280


Ignore:
Timestamp:
11/29/17 09:02:22 (7 years ago)
Author:
bdef
Message:

BUG: we should not copy if transient input is empty

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp

    r22279 r22280  
    133133        outinput->enum_type=this->enum_type;
    134134        outinput->numtimesteps=this->numtimesteps;
    135         outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
    136         xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
    137         outinput->inputs=(Inputs*)this->inputs->SpawnSegInputs(index1,index2);
     135        if(this->numtimesteps>0){
     136                outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
     137                xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
     138                outinput->inputs=(Inputs*)this->inputs->SpawnSegInputs(index1,index2);
     139        }
    138140        outinput->parameters=this->parameters;
    139141
     
    152154        outinput->enum_type=this->enum_type;
    153155        outinput->numtimesteps=this->numtimesteps;
    154         outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
    155         xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
    156         outinput->inputs=(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
     156        if(this->numtimesteps>0){
     157                outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
     158                xMemCpy<IssmDouble>(outinput->timesteps,this->timesteps,this->numtimesteps);
     159                outinput->inputs=(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
     160        }
    157161        outinput->parameters=this->parameters;
    158162
     
    316320
    317321        values=xNew<IssmDouble>(3);
    318 
     322       
    319323        for(int i=0;i<this->numtimesteps;i++){
    320324                time                                             = this->timesteps[i];
Note: See TracChangeset for help on using the changeset viewer.