[Talk-de] GPSbabel - kleine Veränderung für OSM
Sven Geggus
lists at fuchsschwanzdomain.de
Do Aug 14 20:53:38 UTC 2008
Tobias Wendorff <tobias.wendorff at uni-dortmund.de> wrote:
> echt toll, dass Du sowas weißt. Dann erkläre mir doch bitte auch, wie
> ich jenes in C/C++ realisieren kann und in einen Patch aufbereiten kann.
Gerne doch :)
Wenn man nachfolgenden patch einspielt kann mit Hilfe des Parameters
created_by beliebige created_by tags setzen und mit Hilfe eines leeren
created_by tags dafür sorgen, dass gar kein solcher Tag reingeschrieben
wird.
Ich werde das mal upstream einreichen.
Gruss
Sven
--- osm.c.orig 2008-08-14 22:25:06.549645351 +0200
+++ osm.c 2008-08-14 22:40:05.337795184 +0200
@@ -24,12 +24,13 @@
#include "avltree.h"
#include "xmlgeneric.h"
-static char *opt_tag, *opt_tagnd;
+static char *opt_tag, *opt_tagnd, *created_by;
static arglist_t osm_args[] =
{
{ "tag", &opt_tag, "Write additional way tag key/value pairs", NULL, ARGTYPE_STRING, ARG_NOMINMAX },
{ "tagnd", &opt_tagnd, "Write additional node tag key/value pairs", NULL, ARGTYPE_STRING, ARG_NOMINMAX },
+ { "created_by", &created_by, "Use this value as custom created_by value","GPSBabel", ARGTYPE_STRING, ARG_NOMINMAX },
ARG_TERMINATOR
};
@@ -785,11 +786,14 @@
}
gbfprintf(fout, ">\n");
- gbfprintf(fout, " <tag k='created_by' v='GPSBabel");
- if (gpsbabel_time != 0)
- gbfprintf(fout, "-%s", gpsbabel_version);
- gbfprintf(fout, "'/>\n");
-
+ if (strlen(created_by) !=0) {
+ gbfprintf(fout, " <tag k='created_by' v='%s",created_by);
+ if (gpsbabel_time != 0)
+ if (strcmp("GPSBabel",created_by)==0)
+ gbfprintf(fout, "-%s", gpsbabel_version);
+ gbfprintf(fout, "'/>\n");
+ }
+
osm_write_tag("name", wpt->shortname);
osm_write_tag("note", (wpt->notes) ? wpt->notes : wpt->description);
if (wpt->icon_descr)
@@ -837,10 +841,13 @@
{
if (skip_rte) return;
- gbfprintf(fout, " <tag k='created_by' v='GPSBabel");
- if (gpsbabel_time != 0)
- gbfprintf(fout, "-%s", gpsbabel_version);
- gbfprintf(fout, "'/>\n");
+ if (strlen(created_by) !=0) {
+ gbfprintf(fout, " <tag k='created_by' v='%s",created_by);
+ if (gpsbabel_time != 0)
+ if (strcmp("GPSBabel",created_by)==0)
+ gbfprintf(fout, "-%s", gpsbabel_version);
+ gbfprintf(fout, "'/>\n");
+ }
osm_write_tag("name", rte->rte_name);
osm_write_tag("note", rte->rte_desc);
--
"Every time you use Google, you're using a Linux machine"
(Chris DiBona, a programs manager for Google)
/me is giggls at ircnet, http://sven.gegg.us/ on the Web
Mehr Informationen über die Mailingliste Talk-de