From 80d859daab7ad1a60f2ea58e4c0b28fa114e11f7 Mon Sep 17 00:00:00 2001 From: Hartmut Birr Date: Sat, 27 Apr 2002 19:14:30 +0000 Subject: [PATCH] Added a trailing '\' to the directory in GetTempPathW. svn path=/trunk/; revision=2877 --- reactos/lib/kernel32/file/curdir.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/reactos/lib/kernel32/file/curdir.c b/reactos/lib/kernel32/file/curdir.c index 654cf9933aa..86159526e0a 100644 --- a/reactos/lib/kernel32/file/curdir.c +++ b/reactos/lib/kernel32/file/curdir.c @@ -1,4 +1,4 @@ -/* $Id: curdir.c,v 1.27 2002/03/17 17:49:56 hbirr Exp $ +/* $Id: curdir.c,v 1.28 2002/04/27 19:14:30 hbirr Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -206,7 +206,7 @@ GetTempPathW ( NTSTATUS Status; Value.Length = 0; - Value.MaximumLength = nBufferLength * sizeof(WCHAR); + Value.MaximumLength = (nBufferLength - 1) * sizeof(WCHAR); Value.Buffer = lpBuffer; RtlInitUnicodeString (&Name, @@ -215,7 +215,7 @@ GetTempPathW ( Status = RtlQueryEnvironmentVariable_U (NULL, &Name, &Value); - if (!NT_SUCCESS(Status)) + if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_TOO_SMALL) { RtlInitUnicodeString (&Name, L"TEMP"); @@ -223,14 +223,21 @@ GetTempPathW ( Status = RtlQueryEnvironmentVariable_U (NULL, &Name, &Value); - if (!NT_SUCCESS(Status)) + + if (!NT_SUCCESS(Status) && Status != STATUS_BUFFER_TOO_SMALL) { Value.Length = RtlGetCurrentDirectory_U (Value.MaximumLength, Value.Buffer); } } - return Value.Length / sizeof(WCHAR); + if (NT_SUCCESS(Status)) + { + lpBuffer[Value.Length / sizeof(WCHAR)] = L'\\'; + lpBuffer[Value.Length / sizeof(WCHAR) + 1] = 0; + } + + return Value.Length / sizeof(WCHAR) + 1; }