Ben Peart <ben.pe...@microsoft.com> writes:

> On Windows, if a tool calls SetCurrentDirectory with a lower case drive
> letter, the subsequent call to GetCurrentDirectory will return the same
> lower case drive letter. Powershell, for example, does not normalize the
> path. If that happens, test-drop-caches will error out as it does not
> correctly to handle lower case drive letters.
>
> Helped-by: Johannes Schindelin <johannes.schinde...@gmx.de>
> Signed-off-by: Ben Peart <ben.pe...@microsoft.com>
> ---

Thanks.  Will replace, even though showing the whole Buffer (I am
guessing it is the equivalent of result from getcwd(3) call) and
complaining about drive "letter" feels a bit strange ;-)

> Notes:
>     Base Ref: master
>     Web-Diff: https://github.com/benpeart/git/commit/1ff8de1b6c
>     Checkout: git fetch https://github.com/benpeart/git drop-caches-v3 && git 
> checkout 1ff8de1b6c
>     
>     ### Interdiff (v2..v3):
>     
>     diff --git a/t/helper/test-drop-caches.c b/t/helper/test-drop-caches.c
>     index 37047189c3..f65e301f9d 100644
>     --- a/t/helper/test-drop-caches.c
>     +++ b/t/helper/test-drop-caches.c
>     @@ -16,8 +16,8 @@ static int cmd_sync(void)
>       if ((0 == dwRet) || (dwRet > MAX_PATH))
>               return error("Error getting current directory");
>     
>     - if ((toupper(Buffer[0]) < 'A') || (toupper(Buffer[0]) > 'Z'))
>     -         return error("Invalid drive letter '%c'", Buffer[0]);
>     + if (!has_dos_drive_prefix(Buffer))
>     +         return error("'%s': invalid drive letter", Buffer);
>     
>       szVolumeAccessPath[4] = Buffer[0];
>       hVolWrite = CreateFile(szVolumeAccessPath, GENERIC_READ | GENERIC_WRITE,
>     
>     ### Patches
>
>  t/helper/test-drop-caches.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/t/helper/test-drop-caches.c b/t/helper/test-drop-caches.c
> index d6bcfddf13..f65e301f9d 100644
> --- a/t/helper/test-drop-caches.c
> +++ b/t/helper/test-drop-caches.c
> @@ -16,8 +16,8 @@ static int cmd_sync(void)
>       if ((0 == dwRet) || (dwRet > MAX_PATH))
>               return error("Error getting current directory");
>  
> -     if ((Buffer[0] < 'A') || (Buffer[0] > 'Z'))
> -             return error("Invalid drive letter '%c'", Buffer[0]);
> +     if (!has_dos_drive_prefix(Buffer))
> +             return error("'%s': invalid drive letter", Buffer);
>  
>       szVolumeAccessPath[4] = Buffer[0];
>       hVolWrite = CreateFile(szVolumeAccessPath, GENERIC_READ | GENERIC_WRITE,
>
> base-commit: e3331758f12da22f4103eec7efe1b5304a9be5e9

Reply via email to