Tobias Wendorff <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED], http://sven.gegg.us/ on the Web

_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an