Open a "virtual index" when the real one can't be opened (hooray for the "knob" package!) Don't require existence of .dat files Don't search "." by default (too many false positives without requiring .dat files) Handle explicit paths separately from "find" machinery, so when you want a file in the current dir, you can specify it as "./foo" Convert TODO file to a fortunes file, now that we can read it without an index. Why not? ;)
... from the executable into the library
When the file can be found searching only files of the appropriate type (based on -o, -a, etc.), then only that instance of the file is used. Otherwise the search is repeated as if -a had been given, so that the file will be found if at all possible. Otherwise, barf and print usage info.