Re: g_get_home_dir (), ${HOME}, and getpwuid ()->pw_dir
- From: Matthias Clasen <matthias clasen gmail com>
- To: Colin Walters <walters verbum org>
- Cc: gtk-devel-list gnome org, Ivan Shmakov <oneingray gmail com>
- Subject: Re: g_get_home_dir (), ${HOME}, and getpwuid ()->pw_dir
- Date: Thu, 27 Sep 2012 10:00:01 -0400
On Thu, Sep 27, 2012 at 9:35 AM, Colin Walters <walters verbum org> wrote:
> On Thu, 2012-09-27 at 12:42 +0700, Ivan Shmakov wrote:
>
>> Gets the current user's home directory as defined in the password
>> database.
>>
>> Note that in contrast to traditional UNIX tools, this function
>> prefers passwd entries over the HOME environment variable.
>
> The question to answer is simple: why does GLib do what it does now?
>
> "git annotate" says the comment dates from:
>
> commit 5a866843df0d8dc5e5b81fcf2a8a572b6db31521
> Author: Matthias Clasen <mclasen redhat com>
> Date: Wed Feb 2 06:07:14 2005 +0000
>
> Move doc comments inline.
>
> Which is just moving around the original comment, so let's dig into
> that:
>
> $ git annotate 5a866843df0d8dc5e5b81fcf2a8a572b6db31521^ -- docs/reference/glib/tmpl/misc_utils.sgml
>
> Gives us:
>
> commit ea01de53feb47d592ba6401051ac85375e9a45a9
> Author: Matthias Clasen <matthiasc src gnome org>
> Date: Thu Sep 9 14:06:20 2004 +0000
>
> Clarify the relation of g_get_home_dir() and $HOME.
>
> So...yeah, not very enlightening =/ This kind of thing is a
> prime example of why I am constantly asking people to rewrite commit
> messages to say *WHY*, not what.
That commit was adding documentation. What else would you say there ?
The actual commit is
Tue Mar 5 00:38:54 2002 Owen Taylor <otaylor redhat com>
* glib/gutils.c (g_get_any_init): Where we have
getpwuid[_r], use that in preference to $HOME, and
only check $HOME as a fallback if getpwuid fails.
(#2311)
And the detailed analysis leading to this change is in
http://mail.gnome.org/archives/gtk-devel-list/2002-March/msg00066.html
I don't think anything has changed there, really. And it is far too
late to change the behaviour of this function, a decade later.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]