diff options
author | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2011-07-02 14:56:47 +0000 |
---|---|---|
committer | martin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2011-07-02 14:56:47 +0000 |
commit | 2a63db4bb81f097482844bf3e072735731a8df80 (patch) | |
tree | 165bda1b1f04297a2ede96255eaaa593ed7a5d16 /navit/track.c | |
parent | 230f13ea8ae61f082029b7af2cc9e12f8c3c626f (diff) | |
download | navit-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.c | 11 |
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; |