From b3e2d035bbf42433f48a966e1f73f9a67082d37e Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 27 Jun 2002 02:29:57 +0000 Subject: * cygheap.cc (cygheap_user::set_name): Correct thinko in below change. --- winsup/cygwin/ChangeLog | 4 ++++ winsup/cygwin/cygheap.cc | 10 ++++++---- winsup/cygwin/fhandler_disk_file.cc | 4 +++- 3 files changed, 13 insertions(+), 5 deletions(-) (limited to 'winsup') diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 1af4606df..85eb55d45 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +2002-06-26 Christopher Faylor + + * cygheap.cc (cygheap_user::set_name): Correct thinko in below change. + 2002-06-26 Christopher Faylor * cygheap.cc (cygheap_user::set_name): Avoid clearing things when just diff --git a/winsup/cygwin/cygheap.cc b/winsup/cygwin/cygheap.cc index ded9c252a..561e9330f 100644 --- a/winsup/cygwin/cygheap.cc +++ b/winsup/cygwin/cygheap.cc @@ -440,12 +440,14 @@ cygheap_user::~cygheap_user () void cygheap_user::set_name (const char *new_name) { - if (strcasematch (new_name, pname)) - return; /* nothing changed */ - bool allocated = !!pname; + if (allocated) - cfree (pname); + { + if (strcasematch (new_name, pname)) + return; + cfree (pname); + } pname = cstrdup (new_name ? new_name : ""); if (!allocated) diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 443612ff4..c412e2109 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -103,11 +103,13 @@ fhandler_disk_file::fstat_by_name (struct __stat64 *buf, path_conv *pc) if (!pc->exists ()) { + debug_printf ("already determined that pc does not exist"); set_errno (ENOENT); res = -1; } - else if ((handle = FindFirstFile (pc->get_win32 (), &local)) == INVALID_HANDLE_VALUE) + else if ((handle = FindFirstFile ((char *) pc, &local)) == INVALID_HANDLE_VALUE) { + debug_printf ("FindFirstFile failed, %E"); __seterrno (); res = -1; } -- cgit v1.2.3