From 3dcb399b58def966a940342ed3e421fdb3a8c435 Mon Sep 17 00:00:00 2001
From: Christopher Faylor <me@cgf.cx>
Date: Tue, 4 May 2004 15:09:58 +0000
Subject: [PATCH] * path.cc (is_unc_share): Remove redundant tests.

---
 winsup/cygwin/ChangeLog   |  5 +++++
 winsup/cygwin/Makefile.in |  6 +++---
 winsup/cygwin/path.cc     | 14 ++++++--------
 3 files changed, 14 insertions(+), 11 deletions(-)

diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index c724770d7..2662b8741 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-20  Pierre Humblet <pierre.humblet@ieee.org>
+	    Christopher Faylor  <cgf@alum.bu.edu>
+
+	* path.cc (is_unc_share): Remove redundant tests.
+
 2004-05-04  Corinna Vinschen  <corinna@vinschen.de>
 
 	* crt0.o (mainCRTStartup): 16 byte align stack for main function.
diff --git a/winsup/cygwin/Makefile.in b/winsup/cygwin/Makefile.in
index 5f9d11b83..26764fd96 100644
--- a/winsup/cygwin/Makefile.in
+++ b/winsup/cygwin/Makefile.in
@@ -48,12 +48,12 @@ override INSTALL_DATA:=@INSTALL_DATA@
 #
 MT_SAFE:=@MT_SAFE@
 DEFS:=@DEFS@
-
+CCEXTRA:=
 CC:=@CC@
 # FIXME: Which is it, CC or CC_FOR_TARGET?
 CC_FOR_TARGET:=$(CC)
 CFLAGS=@CFLAGS@
-override CFLAGS+=-MMD ${$(*F)_CFLAGS} -fmerge-constants -ftracer
+override CFLAGS+=-MMD ${$(*F)_CFLAGS} -fmerge-constants -ftracer $(CCEXTRA)
 CXX=@CXX@
 CXXFLAGS=@CXXFLAGS@
 
@@ -362,7 +362,7 @@ maintainer-clean realclean: clean
 
 # Rule to build cygwin.dll
 $(TEST_DLL_NAME): $(LDSCRIPT) $(DLL_OFILES) $(DLL_IMPORTS) $(LIBSERVER) $(LIBC) $(LIBM) $(API_VER) Makefile winver_stamp
-	$(CXX) $(CXXFLAGS) $(nostdlib) -Wl,-T$(firstword $^) -Wl,--out-implib,cygdll.a -shared -o $@ \
+	$(CXX) $(CXXFLAGS) -Wl,--gc-sections $(nostdlib) -Wl,-T$(firstword $^) -Wl,--out-implib,cygdll.a -shared -o $@ \
 	-e $(DLL_ENTRY) $(DEF_FILE) $(DLL_OFILES) version.o winver.o \
 	$(MALLOC_OBJ) $(LIBSERVER) $(LIBM) $(LIBC) \
 	-lgcc $(DLL_IMPORTS)
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 052749122..6944194ad 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -936,14 +936,12 @@ win32_device_name (const char *src_path, char *win32_path, device& dev)
 static bool __stdcall
 is_unc_share (const char *path)
 {
-  char *p = NULL;
-  int ret = (isdirsep (path[0])
-	     && isdirsep (path[1])
-	     && (isalnum (path[2]) || path[2] == '.')
-	     && ((p = strpbrk (path + 3, "\\/")) != NULL));
-  if (!ret || p == NULL)
-    return false;
-  return ret && isalnum (p[1]);
+  const char *p;
+  return (isdirsep (path[0])
+	 && isdirsep (path[1])
+	 && (isalnum (path[2]) || path[2] == '.')
+	 && ((p = strpbrk (path + 3, "\\/")) != NULL)
+	 && isalnum (p[1]));
 }
 
 /* Normalize a Win32 path.