• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Database
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by sideral - 2011-05-03
Last edited by sideral - 2011-05-10

FS#12095 - Logical-or operator for tagnavi conditionals

This patch adds a logical-or operator (”|”) for tagnavi conditionals.

Logical-and (”&”) always takes precedence over logical-or. (Brackets are not supported.)


“Unfinished Podcasts” → album ? filename ^ “/<microSD1>/PODCASTS” & playcount == “0” | filename ^ “/<microSD1>/PODCASTS” & lastoffset > “0” → title = “fmt_title”

Closed by  sideral
2011-05-10 10:32
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Committed as r29851

New patch revision with the following changes:

* check_clauses: Correct size calculations for data read from disk.
* Fail a clause (i.e., return false rather than true) in case of errors (tag deleted or too long).
* Binsize optimization: Store some common expressions in local variables to avoid repeated reevaluation involving memory accesses.
* Minor cleanups and commenting.
* [EDIT:] Add checks to functions inspecting search clauses to prevent them from crashing trying to dereference undefined fields in logical-or clauses.
* [EDIT2:] Fix a functional bug introduced with the binsize optimization


Available keyboard shortcuts


Task Details

Task Editing