summaryrefslogtreecommitdiff
path: root/navit/track.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-07-02 14:56:47 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2011-07-02 14:56:47 +0000
commit2a63db4bb81f097482844bf3e072735731a8df80 (patch)
tree165bda1b1f04297a2ede96255eaaa593ed7a5d16 /navit/track.c
parent230f13ea8ae61f082029b7af2cc9e12f8c3c626f (diff)
downloadnavit-2a63db4bb81f097482844bf3e072735731a8df80.tar.gz
Add:Core:new attribute to query number of street segments in tracking cache
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@4570 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/track.c')
-rw-r--r--navit/track.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/navit/track.c b/navit/track.c
index 0c3f84a3d..f2df82842 100644
--- a/navit/track.c
+++ b/navit/track.c
@@ -329,12 +329,15 @@ tracking_get_attr(struct tracking *_this, enum attr_type type, struct attr *attr
{
struct item *item;
struct map_rect *mr;
+ struct tracking_line *tl;
+
int result=0;
dbg(1,"enter %s\n",attr_to_name(type));
if (_this->attr) {
attr_free(_this->attr);
_this->attr=NULL;
}
+ attr->type=type;
switch (type) {
case attr_position_valid:
attr->u.num=_this->valid;
@@ -363,6 +366,14 @@ tracking_get_attr(struct tracking *_this, enum attr_type type, struct attr *attr
return 0;
attr->u.item=&_this->curr_line->street->item;
return 1;
+ case attr_street_count:
+ attr->u.num=0;
+ tl=_this->lines;
+ while (tl) {
+ attr->u.num++;
+ tl=tl->next;
+ }
+ return 1;
default:
if (! _this->curr_line || ! _this->curr_line->street)
return 0;