logo separator

[mkgmap-dev] [PATCH v1] Add null handling for Element.copyTags and Element.getTagsWithPrefix

From WanMil wmgcnfg at web.de on Sat Feb 27 14:43:09 GMT 2010

> On 27/02/10 13:23, WanMil wrote:
>> /**
>>     * Copy the tags of the other element.  Only to be used internally
>>     * by subclasses.
>>     * @param other The other element.  All its tags will be copied to this
>>     * element.
>>     */
>> public void copyTags(Element other) {
>> 	if (other.tags != null)
>> 		tags = other.tags.copy();
>> }
>>
>>
>> So the copyTags does not add but replace all tags. But only if the other
>> element has tags. This is weird. So I think replaceTags would be a
>> better name and the other.tags==null case should be handled:
>
> Originally it was used to copy tags from an existing element to a
> newly created one, so there wasn't really much of a problem.
>
> This is still mostly the case, except in the multipolygon code which
> is no doubt why you are bringing this up :)
>
> So yes, your changes appear fine to me as they will not affect the
> original cases. Also the comment about only being used in subclasses
> is wrong/out of date.
>
> ..Steve

Yeah, I use this in the multipolygon code and stumbled over it.

The patch fixes the copyTags method and adds a null check to the 
getTagsWithPrefix method (which might have been bigger problem).

WanMil
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: element_copytag_v1.patch
Url: http://lists.mkgmap.org.uk/pipermail/mkgmap-dev/attachments/20100227/765e1530/attachment.pl 


More information about the mkgmap-dev mailing list