-
-# when(255) #FIXME - dead code
-# {
-# my @valid_tagvals=$self->{db}->tag_values($tag);
-# print "TAGVALUES: $name: ", join(', ', @valid_tagvals), "\n";
-# if(@valid_tagvals)
-# {
-# if(grep { $name eq $_; } @valid_tagvals)
-# {
-# print "TAGVAL VALID\n";
-# $self->state($STATE_TAGVAL);
-# push(@{$self->{elements}}, ID3FS::PathElement::Tagval($name));
-# }
-# else
-# {
-# print "ERROR: unknown tagval: $tagval\n";
-# $self->state($STATE_INVALID);
-# }
-# }
- when($STATE_TAGVAL)
- {
- print "SM: TAGVAL: $name\n";
- }
- when($STATE_BOOLEAN)
+ }
+ elsif($state==$STATE_TAG || $state==$STATE_TAGVAL)
+ {
+# print "SM: TAG/TAGVAL($state): $name\n";
+ my $tag=$self->{elements}->[$#{$self->{elements}}];
+ if($state==$STATE_TAG &&
+ defined($tag) &&
+ ref($tag) eq "ID3FS::PathElement::Tag" &&
+ $self->{db}->tag_has_values($tag->{id}))