Reorganizing internal_getlogin()
Christopher Faylor
cgf@redhat.com
Tue Jun 11 22:32:00 GMT 2002
On Mon, Jun 10, 2002 at 10:28:12PM -0400, Christopher Faylor wrote:
>On Mon, Jun 10, 2002 at 11:30:51AM -0400, Pierre A. Humblet wrote:
>>Christopher Faylor wrote:
>>>
>>>
>>> Ok. I'm in favor of getting rid of sexec in 1.3.11, then.
>>>
>>> I'll do that sometime today.
>>>
>>Then you can also junk the first argument (token) in _spawnve()
>>and spawn_guts() (FYI).
>
>Yes, this was one of the things that I've wanted to do for a while.
After a chat with Corinna, I have taken a stab at cleaning up some
of the environment manipulation in internal_getlogin. I've done this
without bothering spawn_guts too much.
I tried to keep most of the logic the same but a couple of things
bothered me in internal_getlogin. They were probably there for a
good reason, but I changed them anyway.
One thing that I changed was to not query for a user name if you've
already gotten the user name from GetUserName. I also changed the HOME
and HOMEPATH manipulation slightly. If there were reasons for the way
things were, then please revert my changes and check in a comment
explaining why you have to call GetUserName and then overwrite what it
has discovered a few lines later.
I probably introduced other gratuitous formatting changes as I careened
around uinfo.cc, too. Hopefully Corinna will tell me if I did anything
wrong.
The bottom line is that all (most?) user-related environment variables
are only set when they need to be set and are not calculated or set at
all when a known cygwin process is about to be run. UNIX doesn't know
about HOMEPATH or HOMEDRIVE so there is no reason to assume that a
"native" cygwin process needs this updated info, either.
There's probably more cleanup that can be done. If so, let's discuss
them.
<time passes>
Oops! I just realized that I screwed up posix conversion in the new
code. Oh well. That something to fix tomorrow. Until then CVS is
officially broken.
cgf
More information about the Cygwin-patches
mailing list