Angus Leeming <[EMAIL PROTECTED]> writes:

| Just committed. Attached FYI.

| +/** Given a string "<glob> <glob> <glob>", expand each glob in turn.
| + *  Any glob that cannot be expanded is ignored silently.
| + *  Invokes \c convert_brace_glob and \c glob internally, so use only
| + *  on systems supporting the Posix function 'glob'.
| + *  \param mask the string "<glob> <glob> <glob>".
| + *  \param directory the current working directory from
| + *  which \c glob is invoked.
| + *  \returns a vector of all matching file names.
| + */
| +vector<string> const expand_globs(string const & mask,
| +                               string const & directory)
| +{
| +     Path p(directory);

We should work very hard to get rid of this Path stuff. (I have that
as one of my small projects.)
Currently it is like a gobal variable, multi-threading (if we ever go
there) will get really strange bugs because of this.

| +
| +     // Split into individual globs and then call 'glob' on each one.
| +     typedef boost::tokenizer<boost::char_separator<char> > Tokenizer;
| +     boost::char_separator<char> const separator(" ");
| +
| +     vector<string> matches;
| +     Tokenizer const tokens(mask, separator);
| +     Tokenizer::const_iterator it = tokens.begin();
| +     Tokenizer::const_iterator const end = tokens.end();
| +     for (; it != end; ++it) {
| +             vector<string> const tmp = lyx::support::glob(*it);

So possibly this glob should also take a dir param (and not use chdir
in any way to get the result)

-- 
        Lgb

Reply via email to