On Mon, Dec 17, 2007 at 08:51:48AM +0100, Abdelrazak Younes wrote:

> Edwin Leuven wrote:
> > Enrico Forestieri wrote:
> >> As I already said, you should complain with Microsoft because that
> >> is a cmd.exe bug ;-)
> > 
> > i know, and i am always more than happy to blame microsoft ;-) but i was 
> > wondering whether there are ways to call programs (not using cmd.exe) 
> > where we don't run into this problem.
> > 
> > but maybe things are just the way they are, but nice it ain't and it 
> > seems a bit odd that all software can live on our network drives but not 
> > lyx
> 
> I think I fixed that temporarily in trunk. A cleaner fix will be to port 
> this to FileName.

I am surprised that the UNC path case was not caught by the isUnixPath
check. If this is so, it means that now backslashes can slip in.

>   bool is_absolute_path(string const & p)
>   {
>       if (p.empty())
>               return false;
> 
> -     bool isDosPath = (p.length() > 1 && p[1] == ':');
> -     bool isUnixPath = (p[0] == '/');
> -
> -     return isDosPath || isUnixPath;
> +     if (p[0] == '/')
> +             // Unix style.
> +             return true;
> +
> +     if (p.length() <= 1)
> +             return false;
> +
> +     if (p[1] == ':')
> +             // 'X:\' style.
> +             return true;
> +
> +     if (p[0] == '\\' && p[1] == '\\')
> +             // Network folder style: '\\server\share'
> +             return true;
> +
> +     return false;
>   }

-- 
Enrico

Reply via email to