From: "Torsten Bögershausen" <tboegi@web.de>
To: Stepan Kasal <kasal@ucw.cz>, Karsten Blees <karsten.blees@gmail.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
Erik Faye-Lund <kusmabite@gmail.com>,
Duy Nguyen <pclouds@gmail.com>,
GIT Mailing-list <git@vger.kernel.org>,
Thomas Braun <thomas.braun@virtuell-zuhause.de>,
msysGit <msysgit@googlegroups.com>
Subject: Re: [msysGit] [PATCH v2] Add a Windows-specific fallback to getenv("HOME");
Date: Thu, 05 Jun 2014 10:32:44 +0200 [thread overview]
Message-ID: <53902B2C.7050807@web.de> (raw)
In-Reply-To: <20140605080317.GA28029@camelia.ucw.cz>
On 2014-06-05 10.03, Stepan Kasal wrote:
> From: Johannes Schindelin <johannes.schindelin@gmx.de>
> Date: Wed, 2 Jun 2010 00:41:33 +0200
>
> If HOME is not set, use $HOMEDRIVE$HOMEPATH
>
> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
> Signed-off-by: Stepan Kasal <kasal@ucw.cz>
> ---
>
> Hello Karsten,
> thanks for your explanation. There are more things to be done, but
> I hope you can ack this patch as a step forward.
>
> Hello Dscho,
> I hope you can ack this as well: it is basically equivalent with your
> patch, tailored according to current upstream fashion, ;-)
>
> Stepan
>
> compat/mingw.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/compat/mingw.c b/compat/mingw.c
> index a0e13bc..e108388 100644
> --- a/compat/mingw.c
> +++ b/compat/mingw.c
> @@ -1181,6 +1181,11 @@ char *mingw_getenv(const char *name)
> if (!result)
> result = getenv_cs("TEMP");
> }
> + if (!result && !strcmp(name, "HOME")) {
> + struct strbuf buf = STRBUF_INIT;
> + strbuf_addf(&buf, "%s%s", getenv_cs("HOMEDRIVE"), getenv_cs("HOMEPATH"));
should we have a NULL pointer check here?
What happens if %HOMEPATH% is not set for any reason ?
getenv_cs will return NULL, and strbuf_addf() does not like that, as far as I know.
And even if it converts a NULL pointer into "<NULL>" or "NULL", the result is not what we want.
If HOMEDRIVE is set, but not HOMEPATH, we can fall back into the root of HOMEDRIVE:
if (!result && !strcmp(name, "HOME")) {
const char *homedrive = getenv_cs("HOMEDRIVE");
const char *homepath = getenv_cs("HOMEPATH");
if (!homepath)
homepath = "";
if (homedrive) {
struct strbuf buf = STRBUF_INIT;
strbuf_addf(&buf, "%s%s", homedrive, homepath);
result = strbuf_detach(&buf, NULL);
}
}
return result;
}
next prev parent reply other threads:[~2014-06-05 8:33 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-06-04 11:47 [PATCH] Add a Windows-specific fallback to getenv("HOME"); Stepan Kasal
2014-06-04 13:47 ` Duy Nguyen
2014-06-04 14:05 ` Erik Faye-Lund
2014-06-04 14:55 ` Karsten Blees
2014-06-04 15:14 ` Johannes Schindelin
2014-06-04 15:18 ` Erik Faye-Lund
2014-06-04 15:27 ` Johannes Schindelin
2014-06-04 15:45 ` Stepan Kasal
2014-06-04 15:56 ` [msysGit] " Johannes Schindelin
2014-06-04 16:16 ` Stepan Kasal
2014-06-04 17:49 ` [msysGit] " Johannes Schindelin
2014-06-06 9:12 ` Git for Windows SDK Philip Oakley
2014-06-04 23:10 ` Re: [PATCH] Add a Windows-specific fallback to getenv("HOME"); Duy Nguyen
2014-06-06 19:26 ` Sebastian Schuberth
2014-06-04 15:46 ` Johannes Schindelin
2014-06-05 1:42 ` Karsten Blees
2014-06-05 8:03 ` [PATCH v2] " Stepan Kasal
2014-06-05 8:32 ` Torsten Bögershausen [this message]
2014-06-05 10:23 ` [PATCH v3] " Stepan Kasal
2014-06-05 9:40 ` [PATCH v2] " Karsten Blees
2014-06-05 9:58 ` Erik Faye-Lund
2014-06-05 21:44 ` Karsten Blees
2014-06-06 8:03 ` Stepan Kasal
2014-06-05 11:23 ` Stepan Kasal
2014-06-05 13:39 ` Johannes Schindelin
2014-06-05 20:03 ` Karsten Blees
2014-06-05 12:03 ` Re: [PATCH] " Johannes Schindelin
2014-06-05 12:15 ` [msysGit] " Stepan Kasal
2014-06-05 14:33 ` Karsten Blees
2014-06-04 14:53 ` Stepan Kasal
2014-06-04 15:13 ` Johannes Schindelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53902B2C.7050807@web.de \
--to=tboegi@web.de \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=karsten.blees@gmail.com \
--cc=kasal@ucw.cz \
--cc=kusmabite@gmail.com \
--cc=msysgit@googlegroups.com \
--cc=pclouds@gmail.com \
--cc=thomas.braun@virtuell-zuhause.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.