Daniel Larsson wrote:
I've encountered an unintuitive behaviour in the users file processing . I wanted to do something similar to:
DEFAULT Some-Attr !* "", Other-Attr !* "" ...
I.e. if neither "Some-Attr" nor "Other-Attr" is present, it should match.
No. That is not the way it's documented. See "man users". Each item in the check list is ANDed. What you wrote is: Some-Attr doesn't exist AND some other attribute doesn't exist. If Some-Attr *does* exist, the first check fails, and the next one isn't even looked at.
Before I try to patch this, is this intended for some reason?
It's both intended and documented. If you want more complex comparisons, see the CVS head. There, you can do: if (!Some-Attr || !Other-Attr) ... Which is what you seem to want. Alan DeKok.