Ignore:
Timestamp:
06/18/12 15:33:50 (13 years ago)
Author:
Mathieu Morlighem
Message:

minor bug fix with xDelete

File:
1 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/objects/Params/StringArrayParam.cpp

    r12365 r12451  
    3636
    3737        if(numstrings){
    38                 value=(char**)xmalloc(numstrings*sizeof(char*));
     38                value=xNew<char*>(numstrings);
    3939                for(i=0;i<numstrings;i++){
    4040                        char* string=NULL;
    4141                        size=strlen(in_values[i])+1;
    42                         string=(char*)xmalloc(size*sizeof(char));
     42                        string=xNew<char>(size);
    4343                        memcpy(string,in_values[i],size*sizeof(char));
    4444                        value[i]=string;
     
    5757        for(i=0;i<this->numstrings;i++){
    5858                string=value[i];
    59                 xfree((void**)&string);
     59                xDelete<char>(string);
    6060        }
    61         xfree((void**)&value);
     61        xDelete<char*>(value);
    6262}
    6363/*}}}*/
     
    120120        M=this->numstrings;
    121121        if(this->numstrings){
    122                 outstrings=(char**)xmalloc(this->numstrings*sizeof(char*));
     122                outstrings=xNew<char*>(this->numstrings);
    123123
    124124                for(i=0;i<this->numstrings;i++){
     
    126126                        stringsize=strlen(string)+1;
    127127
    128                         string2=(char*)xmalloc(stringsize*sizeof(char));
     128                        string2=xNew<char>(stringsize);
    129129                        memcpy(string2,string,stringsize*sizeof(char));
    130130
     
    155155        for(i=0;i<this->numstrings;i++){
    156156                string=this->value[i];
    157                 xfree((void**)&string);
     157                xDelete<char>(string);
    158158        }
    159         xfree((void**)&this->value);
     159        xDelete<char*>(this->value);
    160160
    161161        /*copy: */
    162162        this->numstrings=M;
    163         this->value=(char**)xmalloc(this->numstrings*sizeof(char*));
     163        this->value=xNew<char*>(this->numstrings);
    164164        for(i=0;i<this->numstrings;i++){
    165165                string=stringarray[i];
    166166                stringsize=strlen(string)+1;
    167167
    168                 string2=(char*)xmalloc(stringsize*sizeof(char));
     168                string2=xNew<char>(stringsize);
    169169                memcpy(string2,string,stringsize*sizeof(char));
    170170
Note: See TracChangeset for help on using the changeset viewer.