I see. The code I just uploaded has the brackets, but I’ve made a note to undo 
it I guess and figure out how to get it fixed in the Sword repo. 

Thanks,
TS

> On Oct 13, 2016, at 11:56 AM, Manfred Bergmann <manfred.bergm...@me.com> 
> wrote:
> 
> Hi.
> 
> 
>> Am 13.10.2016 um 20:28 schrieb TS <outofthec...@icloud.com 
>> <mailto:outofthec...@icloud.com>>:
>> 
>>      Thank you all for your replies and confirmation. I will use the delete 
>> with the square brackets. 
> 
> I would suggest to stick to the upstream code as much as possible. That 
> means, have someone fix this in the main SWORD repo and pull a copy of it for 
> PS.
> Otherwise it’s hard to reason what exactly is used in PS.
> 
> 
> Manfred
> 
> 
>> 
>>      I also had already looked at the Sword++ code and saw that it had the 
>> brackets which suggested to me that it was correct that something should be 
>> there. 
>>      I had some confusion because in Apple's ObjC framework, they also have 
>> a "new" function and Xcode was directing me to it when I was asking it to 
>> show me where "new" came.(The "new" use to created the variable which needed 
>> delete[]). As a result, I was uncertain as to how Xcode was implementing the 
>> code. I think though that it may be an error for Xcode to be directing me to 
>> the Cocoa definition of "new" since the file has the "cpp" file extension 
>> and so Xcode should know to expect c++ code. Also, "new" isn't being applied 
>> here in the code as a proper objective-c method call (I don't think?), so 
>> I'm thinking that it's being compiled as the "new" from the c++ library.
>> 
>> Thanks again,    
>> -TS
>> 
>> On Oct 12, 2016, at 05:16 AM, DM Smith <dmsm...@crosswire.org 
>> <mailto:dmsm...@crosswire.org>> wrote:
>> 
>>> 
>>>> On Oct 12, 2016, at 3:22 AM, Jaak Ristioja <j...@ristioja.ee 
>>>> <mailto:j...@ristioja.ee>> wrote:
>>>> On 12.10.2016 10:02, Manfred Bergmann wrote:
>>>>> 
>>>>>> Am 12.10.2016 um 08:57 schrieb Jaak Ristioja <j...@ristioja.ee 
>>>>>> <mailto:j...@ristioja.ee>>:
>>>>>> 
>>>>>> On 12.10.2016 09:37, Manfred Bergmann wrote:
>>>>>>>> On 12.10.2016 01:08, TS wrote:
>>>>>>>>> Xcode was warning me that in PocketSword's Sword framework, swld.cpp 
>>>>>>>>> at
>>>>>>>>> line 111 with
>>>>>>>>> 
>>>>>>>>> "delete buf;"
>>>>>>>>> may be wrong and it should perhaps be
>>>>>>>>> 
>>>>>>>>> "delete[] buf;"
>>>>>>>>> instead. Is this correct? I looked at the code and I think Xcode is
>>>>>>>>> correct in that the variable is an array and needs the brackets to
>>>>>>>>> delete properly.
>>>>>>>> 
>>>>>>>> Yes, Xcode has it correct. It should be `delete[] buf;`. This was also
>>>>>>>> fixed in Sword++ in March.
>>>>>>> 
>>>>>>> Despite the warning, would but not be deleted completely?
>>>>>> 
>>>>>> It is undefined behavior, as stated by §3.7.4.2.3 in C++11. However, the
>>>>>> C++ draft at https://github.com/cplusplus/draft 
>>>>>> <https://github.com/cplusplus/draft> doesn't have this
>>>>>> wording since e51a2152 [1] for some reason.
>>>>>> 
>>>>> 
>>>>> Yeah, don’t get me wrong. It should be corrected.
>>>>> But is it indeed a memory leak or does the runtime still collect and 
>>>>> destroy all array elements?
>>>>> Depends on the runtime probably.
>>>> 
>>>> It is undefined behavior (see http://stackoverflow.com/q/2397984/3919155 
>>>> <http://stackoverflow.com/q/2397984/3919155>
>>>> ). So as far as the C++ standard is concerned, this might yield
>>>> different behavior depending on the toolchain, the runtime, the
>>>> environment or the phase of the moon... There are also no defined bounds
>>>> to what may happen: it may leak, crash, hang, corrupt memory, whatever...
>>>> 
>>>> J
>>>> 
>>> 
>>> If I recall delete without the brackets will delete the object. That is the 
>>> array. When called with the brackets will call delete on the elements in 
>>> the array. In some cases the semantic difference does not matter, such as 
>>> an array of char or int. I didn’t look at the code to see if it mattered 
>>> here.
>>> 
>>> DM
>>> _______________________________________________
>>> sword-devel mailing list: sword-devel@crosswire.org 
>>> <mailto:sword-devel@crosswire.org>
>>> http://www.crosswire.org/mailman/listinfo/sword-devel 
>>> <http://www.crosswire.org/mailman/listinfo/sword-devel>
>>> Instructions to unsubscribe/change your settings at above page
>> _______________________________________________
>> sword-devel mailing list: sword-devel@crosswire.org 
>> <mailto:sword-devel@crosswire.org>
>> http://www.crosswire.org/mailman/listinfo/sword-devel 
>> <http://www.crosswire.org/mailman/listinfo/sword-devel>
>> Instructions to unsubscribe/change your settings at above page
> 
> _______________________________________________
> sword-devel mailing list: sword-devel@crosswire.org 
> <mailto:sword-devel@crosswire.org>
> http://www.crosswire.org/mailman/listinfo/sword-devel 
> <http://www.crosswire.org/mailman/listinfo/sword-devel>
> Instructions to unsubscribe/change your settings at above page

_______________________________________________
sword-devel mailing list: sword-devel@crosswire.org
http://www.crosswire.org/mailman/listinfo/sword-devel
Instructions to unsubscribe/change your settings at above page

Reply via email to