Johannes Sixt <j...@kdbg.org> writes:

> Although I am convinced that the change is not necessary for
> correctness, I can buy the justification that we should produce forward
> slashes for consistency. There are a number of occasions where we
> present paths to the user, and we do show forward-slashes in all cases
> that I found. We should keep the commit.
>
> But then let's do this:

Sounds like a plan; even though I am mildly against adding more
platform specific #ifdef to files outside compat/, this patch does
not.

Dscho?

>
> ---- 8< ----
> Subject: [PATCH] Windows: shorten code by re-using convert_slashes()
>
> Make a few more spots more readable by using the recently introduced,
> Windows-specific helper.
>
> Signed-off-by: Johannes Sixt <j...@kdbg.org>
> ---
>  abspath.c      | 5 +----
>  compat/mingw.c | 9 ++-------
>  2 files changed, 3 insertions(+), 11 deletions(-)
>
> diff --git a/abspath.c b/abspath.c
> index 5edb4e7..2825de8 100644
> --- a/abspath.c
> +++ b/abspath.c
> @@ -167,7 +167,6 @@ const char *prefix_filename(const char *pfx, int pfx_len, 
> const char *arg)
>       strbuf_add(&path, pfx, pfx_len);
>       strbuf_addstr(&path, arg);
>  #else
> -     char *p;
>       /* don't add prefix to absolute paths, but still replace '\' by '/' */
>       strbuf_reset(&path);
>       if (is_absolute_path(arg))
> @@ -175,9 +174,7 @@ const char *prefix_filename(const char *pfx, int pfx_len, 
> const char *arg)
>       else if (pfx_len)
>               strbuf_add(&path, pfx, pfx_len);
>       strbuf_addstr(&path, arg);
> -     for (p = path.buf + pfx_len; *p; p++)
> -             if (*p == '\\')
> -                     *p = '/';
> +     convert_slashes(path.buf + pfx_len);
>  #endif
>       return path.buf;
>  }
> diff --git a/compat/mingw.c b/compat/mingw.c
> index 54c82ec..0413d5c 100644
> --- a/compat/mingw.c
> +++ b/compat/mingw.c
> @@ -763,15 +763,12 @@ struct tm *localtime_r(const time_t *timep, struct tm 
> *result)
>  
>  char *mingw_getcwd(char *pointer, int len)
>  {
> -     int i;
>       wchar_t wpointer[MAX_PATH];
>       if (!_wgetcwd(wpointer, ARRAY_SIZE(wpointer)))
>               return NULL;
>       if (xwcstoutf(pointer, wpointer, len) < 0)
>               return NULL;
> -     for (i = 0; pointer[i]; i++)
> -             if (pointer[i] == '\\')
> -                     pointer[i] = '/';
> +     convert_slashes(pointer);
>       return pointer;
>  }
>  
> @@ -2112,9 +2109,7 @@ static void setup_windows_environment()
>                * executable (by not mistaking the dir separators
>                * for escape characters).
>                */
> -             for (; *tmp; tmp++)
> -                     if (*tmp == '\\')
> -                             *tmp = '/';
> +             convert_slashes(tmp);
>       }
>  
>       /* simulate TERM to enable auto-color (see color.c) */
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to