Hi,

I fixed it in SVN.

Thanks,
Alex


> Am 22.12.2016 um 12:04 schrieb amal...@kannel.org:
> 
> Hi Werner,
> 
> as far as I see there is no reason to immutable assert.
> 
> Alex
> 
> 
>> Am 21.12.2016 um 15:39 schrieb Werner Coetzee <werner.coet...@clickatell.com 
>> <mailto:werner.coet...@clickatell.com>>:
>> 
>> Hi
>>  
>> Why does the octstr_cat(Octstr *ostr1, Octstr *ostr2) function in 
>> gwlib/octstr.c require that ostr1 be non-immutable?
>> It contains:
>> gw_assert(!ostr1->immutable);
>>  
>> I can't see any reason for the requirement since ostr1 is never modified in 
>> octstr_cat() so to me octstr_cat() should work perfectly fine/safely if 
>> ostr1 is immutable.
>> And since the requirement is there for ostr1, why is it not there for ostr2? 
>>  There's no difference in the way that ostr1 and ostr2 is used.
>>  
>> I now have to resort to much slower functions such as octstr_format or 
>> octstr_insert or octstr_append to get the same result.
>>  
>> My use case:
>>  
>> void myfunc(const Octstr *param) // param should/will not be modified
>> {
>>     Octstr *newvar = octstr_cat(octstr_imm("PREFIX"), param);  // this will 
>> panic
>>     // Do something with newvar
>> }
>>  
>> So my work around is newvar = octstr_format("%s%S", "PREFIX", param); but 
>> could also have newvar = octstr_create("PREFIX"); octstr_append(newvar, 
>> param); or even newvar = octstr_duplicate(param); octstr_insert(newvar, 
>> octstr_imm("PREFIX"), 0);
>>  
>> I would really appreciate it if someone could shed some light on this, and 
>> if the powers that be agree with me remove the assertion?
>>  
>> Thanks in advance
>> Werner
>>  
>> 
>>   
>> <image1a2972.PNG>    
>> Werner Coetzee
>> Senior Message Engine Engineer
>> <imagea0c2e2.PNG>
>>  
>> T  +27 21 910 7700
>> werner.coet...@clickatell.com <mailto:werner.coet...@clickatell.com>
>> www.clickatell.com <https://www.clickatell.com/>
>> <imagedf67b0.PNG>
> 

Reply via email to