From ccae9aa389626210ee2259958b656f3fd727ca3d Mon Sep 17 00:00:00 2001 From: zaxl Date: Tue, 20 Nov 2007 19:06:16 +0000 Subject: [PATCH] attr_flags for garmin driver git-svn-id: https://navit.svn.sourceforge.net/svnroot/navit/trunk@571 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/src/data/garmin/garmin.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/navit/src/data/garmin/garmin.c b/navit/src/data/garmin/garmin.c index 595acf8..4a93f9a 100644 --- a/navit/src/data/garmin/garmin.c +++ b/navit/src/data/garmin/garmin.c @@ -301,6 +301,22 @@ point_attr_get(void *priv_data, enum attr_type attr_type, struct attr *attr) rc = garmin_object_debug(g, attr); if (rc) return rc; + case 2: + mr->last_attr++; + attr->type = attr_street_name; + rc = garmin_object_label(g, attr); + if (rc) + return rc; + case 3: + mr->last_attr++; + attr->type = attr_flags; + attr->u.num = 0; + rc = gar_object_flags(g); + if (rc & F_ONEWAY) + attr->u.num |= AF_ONEWAY; + if (rc & F_SEGMENTED) + attr->u.num |= AF_SEGMENTED; + return 1; default: return 0; } @@ -312,7 +328,14 @@ point_attr_get(void *priv_data, enum attr_type attr_type, struct attr *attr) attr->type = attr_street_name; return garmin_object_label(g, attr); case attr_flags: - return 0; + attr->type = attr_flags; + attr->u.num = 0; + rc = gar_object_flags(g); + if (rc & F_ONEWAY) + attr->u.num |= AF_ONEWAY; + if (rc & F_SEGMENTED) + attr->u.num |= AF_SEGMENTED; + return 1; default: dlog(1, "Dont know about attribute %d[%04X]=%s yet\n", attr_type,attr_type, attr_to_name(attr_type)); } -- 2.7.4