From 9f68541e0f55495d61dd9e583bec38740a247597 Mon Sep 17 00:00:00 2001 From: Angelo Mantellini Date: Tue, 5 Feb 2019 08:50:26 +0100 Subject: [HICN-26] Windows compatibilty for libparc Change-Id: I6ebff82a81a2bf42fa3bf210ff0e6e530ce21915 Signed-off-by: Angelo Mantellini --- libparc/parc/algol/parc_Environment.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'libparc/parc/algol/parc_Environment.c') diff --git a/libparc/parc/algol/parc_Environment.c b/libparc/parc/algol/parc_Environment.c index 2955a139..2ca11b4d 100644 --- a/libparc/parc/algol/parc_Environment.c +++ b/libparc/parc/algol/parc_Environment.c @@ -13,15 +13,15 @@ * limitations under the License. */ -/** - */ -#include -#include -#include -#include +#ifndef _WIN32 #include +#include +#endif +#include +#include +#include #include #include @@ -35,11 +35,23 @@ parcEnvironment_GetHomeDirectory(void) PARCFile * parcEnvironment_HomeDirectory(void) { - char *path; +#ifdef _WIN32 + char *pValue; + size_t len; + errno_t err = _dupenv_s(&pValue, &len, "USERPROFILE"); + if (err != 0) { + return parcFile_Create(pValue); + } + else { + return NULL; + } +#else + char *path; if ((path = getenv("HOME")) == NULL) { path = getpwuid(getuid())->pw_dir; } - return parcFile_Create(path); +#endif + } -- cgit 1.2.3-korg