<div dir="ltr"><div>Hi Gerd,</div><div>I'm not crafty enough to apply the patch, maybe a later release drops the tags empty values.</div><div>Until this ist provided I code 
ele=*& ele!="" to compile my map.<br></div><div>I don't blame the asterisk since it behaves as expected (* = any occurrences, including no occurence). I prefer to harden the called function as you suggested (if (val.isEmpty()) return null;)<br></div><div>So my work-around is a formally correct (but inconvenient) way. Even the default style doesn't care about that.</div><div>Thanks for solving,</div><div>Joern<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Am Fr., 10. Apr. 2020 um 08:27 Uhr schrieb Gerd Petermann <<a href="mailto:gpetermann_muenchen@hotmail.com">gpetermann_muenchen@hotmail.com</a>>:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Joern,<br>
<br>
looks like the node was creaed in a bad import.<br>
I was sure that mkgmap drops all tags where the value is empty but this doesn't happen. The attached patch changes this.<br>
<br>
Anyway, it is probably also possible to create an empty tag in the style rules, so I think we have to decide if ele=* should match when ele has an empty tag value.<br>
<br>
Gerd<br>
<br>
________________________________________<br>
Von: mkgmap-dev <<a href="mailto:mkgmap-dev-bounces@lists.mkgmap.org.uk" target="_blank">mkgmap-dev-bounces@lists.mkgmap.org.uk</a>> im Auftrag von J J <<a href="mailto:joern.de@gmail.com" target="_blank">joern.de@gmail.com</a>><br>
Gesendet: Donnerstag, 9. April 2020 23:21<br>
An: Development list for mkgmap<br>
Betreff: [mkgmap-dev] handling of a key without a value<br>
<br>
<a href="https://www.openstreetmap.org/node/7278416985" rel="noreferrer" target="_blank">https://www.openstreetmap.org/node/7278416985</a><br>
That node seems to crash my style while trying to execute the following command:<br>
  ele=*  {echo 'ele=${ele}'; set ele_m='${ele|conv:"ft=>m"}'; echo 'ele_m=${ele}'; }<br>
The echo command produces "ele=" in the transcript,<br>
afterwards "java.lang.StringIndexOutOfBoundsException: String index out of range: -1" etc.<br>
The node contains any empty values. "ele" is the only of them my style uses.<br>
Observed in: mkgmap-r4478<br>
_______________________________________________<br>
mkgmap-dev mailing list<br>
<a href="mailto:mkgmap-dev@lists.mkgmap.org.uk" target="_blank">mkgmap-dev@lists.mkgmap.org.uk</a><br>
<a href="http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev" rel="noreferrer" target="_blank">http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev</a></blockquote></div>