From 3321dbc6df4592abab28482f87599c06fa3f67c6 Mon Sep 17 00:00:00 2001 From: sleske Date: Wed, 1 May 2013 22:18:14 +0000 Subject: Fix:core:Set default name for vehicle if no name is specified in navit.xml. git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5466 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/vehicle.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/navit/vehicle.c b/navit/vehicle.c index 757f1eeaa..5ccfb524c 100644 --- a/navit/vehicle.c +++ b/navit/vehicle.c @@ -66,6 +66,7 @@ struct vehicle { struct object_func vehicle_func; +static void vehicle_set_default_name(struct vehicle *this); static void vehicle_draw_do(struct vehicle *this_, int lazy); static void vehicle_log_nmea(struct vehicle *this_, struct log *log); static void vehicle_log_gpx(struct vehicle *this_, struct log *log); @@ -129,6 +130,7 @@ vehicle_new(struct attr *parent, struct attr **attrs) center.x=0; center.y=0; transform_setup(this_->trans, ¢er, 16, 0); + vehicle_set_default_name(this_); dbg(1, "leave\n"); this_->log_to_cb=g_hash_table_new(NULL,NULL); @@ -392,6 +394,17 @@ vehicle_get_cursor_data(struct vehicle *this, struct point *pnt, int *angle, int return 1; } +static void vehicle_set_default_name(struct vehicle *this_) +{ + struct attr default_name; + if (!attr_search(this_->attrs, NULL, attr_name)) { + default_name.type=attr_name; + default_name.u.str="Unnamed vehicle"; + this_->attrs=attr_generic_set_attr(this_->attrs, &default_name); + dbg(0, "Incomplete vehicle definition: missing attribute 'name'. Default name set.\n"); + } +} + static void vehicle_draw_do(struct vehicle *this_, int lazy) -- cgit v1.2.1