summaryrefslogtreecommitdiff
path: root/apps/tagtree.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/tagtree.c')
-rw-r--r--apps/tagtree.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/tagtree.c b/apps/tagtree.c
index 7cae86a953..db35ee0d0c 100644
--- a/apps/tagtree.c
+++ b/apps/tagtree.c
@@ -426,12 +426,16 @@ int tagtree_load(struct tree_context* c)
426 dptr->newtable = tcs.result_seek; 426 dptr->newtable = tcs.result_seek;
427 if (!tcs.ramsearch || csi->tagorder[extra] == tag_title) 427 if (!tcs.ramsearch || csi->tagorder[extra] == tag_title)
428 { 428 {
429 int tracknum = -1;
430
429 dptr->name = &c->name_buffer[namebufused]; 431 dptr->name = &c->name_buffer[namebufused];
430 if (csi->tagorder[extra] == tag_title) 432 if (csi->tagorder[extra] == tag_title)
433 tracknum = tagcache_get_numeric(&tcs, tag_tracknumber);
434
435 if (tracknum > 0)
431 { 436 {
432 snprintf(dptr->name, c->name_buffer_size - namebufused, "%02d. %s", 437 snprintf(dptr->name, c->name_buffer_size - namebufused, "%02d. %s",
433 tagcache_get_numeric(&tcs, tag_tracknumber), 438 tracknum, tcs.result);
434 tcs.result);
435 namebufused += strlen(dptr->name) + 1; 439 namebufused += strlen(dptr->name) + 1;
436 if (namebufused >= c->name_buffer_size) 440 if (namebufused >= c->name_buffer_size)
437 { 441 {
@@ -518,8 +522,8 @@ int tagtree_enter(struct tree_context* c)
518 522
519 switch (c->currtable) { 523 switch (c->currtable) {
520 case root: 524 case root:
521 c->currtable = newextra;
522 c->currextra = newextra; 525 c->currextra = newextra;
526
523 if (newextra == navibrowse) 527 if (newextra == navibrowse)
524 { 528 {
525 int i, j; 529 int i, j;
@@ -539,7 +543,7 @@ int tagtree_enter(struct tree_context* c)
539 if (rc == -1 || !searchstring[0]) 543 if (rc == -1 || !searchstring[0])
540 { 544 {
541 c->dirlevel--; 545 c->dirlevel--;
542 break; 546 return 0;
543 } 547 }
544 548
545 if (csi->clause[i][j].numeric) 549 if (csi->clause[i][j].numeric)
@@ -549,8 +553,9 @@ int tagtree_enter(struct tree_context* c)
549 sizeof(csi->clause[i][j].str)-1); 553 sizeof(csi->clause[i][j].str)-1);
550 } 554 }
551 } 555 }
552
553 } 556 }
557
558 c->currtable = newextra;
554 break; 559 break;
555 560
556 case navibrowse: 561 case navibrowse: