FIX:core: don't leak date when writing gpx logs
authorzaxl <zaxl@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 6 Nov 2008 11:55:13 +0000 (11:55 +0000)
committerzaxl <zaxl@ffa7fe5e-494d-0410-b361-a75ebd5db220>
Thu, 6 Nov 2008 11:55:13 +0000 (11:55 +0000)
git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk/navit@1651 ffa7fe5e-494d-0410-b361-a75ebd5db220

navit/vehicle.c

index 309a500..bcd9ae9 100644 (file)
@@ -56,6 +56,7 @@ vehicle_log_gpx(struct vehicle *this_, struct log *log)
 #ifdef HAVE_GLIB
        GTimeVal time; 
        g_get_current_time(&time); 
+       gchar *iso8601 = g_time_val_to_iso8601(&time);
 #endif
 
        if (!this_->meth.position_attr_get)
@@ -63,8 +64,12 @@ vehicle_log_gpx(struct vehicle *this_, struct log *log)
        if (!this_->meth.position_attr_get(this_->priv, attr_position_coord_geo, &pos_attr))
                return;
 #ifdef HAVE_GLIB
-       sprintf(buffer,"<trkpt lat=\"%f\" lon=\"%f\">\n\t<time>%s</time>\n</trkpt>\n",
-               pos_attr.u.coord_geo->lat, pos_attr.u.coord_geo->lng, g_time_val_to_iso8601(&time));
+       if (iso8601) {
+               sprintf(buffer,"<trkpt lat=\"%f\" lon=\"%f\">\n\t<time>%s</time>\n</trkpt>\n",
+                       pos_attr.u.coord_geo->lat, pos_attr.u.coord_geo->lng, 
+                       iso8601);
+               g_free(iso8601);
+       }
 #else
        sprintf(buffer,"<trkpt lat=\"%f\" lon=\"%f\">\n</trkpt>\n",
                pos_attr.u.coord_geo->lat, pos_attr.u.coord_geo->lng);