From: Christopher Faylor Date: Wed, 26 Jun 2002 19:39:05 +0000 (+0000) Subject: * cygheap.cc (cygheap_user::set_name): Avoid clearing things when just setting X-Git-Tag: pre-no-this~449 X-Git-Url: https://sourceware.org/git/?a=commitdiff_plain;h=c99902b9b09c43722eeccac40175f9e69d9e59c4;p=newlib-cygwin.git * 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. --- diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 47ddb265c..1af4606df 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,10 @@ +2002-06-26 Christopher Faylor + + * 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. + 2002-06-26 Corinna Vinschen * fhandler.h (fhandler_socket::bind): Add method definition. 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) diff --git a/winsup/cygwin/environ.cc b/winsup/cygwin/environ.cc index ab280265c..114fce7f0 100644 --- a/winsup/cygwin/environ.cc +++ b/winsup/cygwin/environ.cc @@ -411,12 +411,12 @@ check_case_init (const char *buf) pcheck_case = PCHECK_RELAXED; debug_printf ("File case checking set to RELAXED"); } - else if (strcmp (buf, "adjust")== 0) + else if (strcasematch (buf, "adjust")) { pcheck_case = PCHECK_ADJUST; debug_printf ("File case checking set to ADJUST"); } - else if (strcmp (buf, "strict")== 0) + else if (strcasematch (buf, "strict")) { pcheck_case = PCHECK_STRICT; debug_printf ("File case checking set to STRICT");