> Out of curiosity, why did you prefer this:
> 
>   +#if defined(__MSDOS__) || (defined(_WIN32) && !defined(__CYGWIN__))
>   +void normalize_for_lf (string &fn)
>   +{
>   +  int fnlen = fn.length();
>   +  for (int i = 0; i < fnlen; i++) {
>   +    if (fn[i] == '\\')
>   +      fn[i] = '/';
>   +  }
>   +}
>   +#else
>   +void normalize_for_lf (string &)
>   +{
>   +}
>   +#endif
> 
> to my original change:
> 
>   +void normalize_for_lf (string &fn)
>   +{
>   +#if defined(__MSDOS__) || (defined(_WIN32) && !defined(__CYGWIN__))
>   +  int fnlen = fn.length();
>   +  for (int i = 0; i < fnlen; i++)
>   +    {
>   +      if (fn[i] == '\\')
>   +       fn[i] = '/';
>   +    }
>   +#endif
>   +}

With your version, I get a warning about an unused variable `fn' if
not compiling for MS.  The standard C++ solution to suppress this
warning is to simply omit the parameter's name in the function's
signature, and exactly this I've done in my version.


    Werner

Reply via email to