From c99902b9b09c43722eeccac40175f9e69d9e59c4 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 26 Jun 2002 19:39:05 +0000 Subject: * cygheap.cc (cygheap_user::set_name): Avoid clearing things when just setting name to itself or during first time initialization. * environ.cc (check_case_init): Make case insensitive. --- winsup/cygwin/cygheap.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/cygheap.cc') diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc index 0522255f6..ded9c252a 100644 --- a/winsup/cygwin/cygheap.cc +++ b/winsup/cygwin/cygheap.cc @@ -440,9 +440,17 @@ cygheap_user::~cygheap_user () void cygheap_user::set_name (const char *new_name) { - if (pname) + if (strcasematch (new_name, pname)) + return; /* nothing changed */ + + bool allocated = !!pname; + if (allocated) cfree (pname); + pname = cstrdup (new_name ? new_name : ""); + if (!allocated) + return; /* Initializing. Don't bother with other stuff. */ + homedrive = NULL; homepath = NULL; if (plogsrv) -- cgit v1.2.3