delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/1998/11/02/15:50:43

From: rdparker AT butlermfg DOT org (Parker, Ron)
Subject: RE: B20 patch: UNC device path handling
2 Nov 1998 15:50:43 -0800 :
Message-ID: <199811022306.PAA07146.cygnus.cygwin32.developers@cygnus.com>
Mime-Version: 1.0
To: Corinna Vinschen <corinna DOT vinschen AT cityweb DOT de>,
cygwin32-developers AT cygnus DOT com

This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------ =_NextPart_000_01BE06B6.5F124540
Content-Type: text/plain

FYI, The utility at http://www.sysinternals.com/winobj.htm will show all
of the devices on an NT system, which could appear under "\\.\". Click
on the "??" key on the left and the devices will display on the right.

I would change the patch to:

--- path.cc.orig        Mon Nov 02 22:24:51 1998
+++ path.cc     Mon Nov 02 22:35:36 1998
@@ -697,9 +697,9 @@ mount_info::conv_to_win32_path (const ch
          int j = mount[i].devicelen;
          memcpy (p, mount[i].device, j);
          /* Do not add trailing \ to UNC device names like \\.\a: */
-         if (pathbuf[mount[i].pathlen] != '/' &&
-               !(strncmp (mount[i].device, "\\\\.\\", 4) == 0 &&
-               mount[i].device[mount[i].devicelen-1] == ':'))
+         if (pathbuf[mount[i].pathlen] != '/' &&
+               strncmp (mount[i].device, "\\\\.\\", 4) == 0 &&
+               strchr(mount[i].device[mount[i].devicelen-1] + 4, '\\'))
            p[j++] = '\\';
          strcpy (p + j, pathbuf + mount[i].pathlen);
          backslashify (p, p, trailing_slash_p);

These checks will account for \\.\tape0 and \\.\a: while still adding a
trailing slash to \\.\UNC\machine\share_name.  The original patch, seen
below, would never add a trailing slash to \\.\... style paths.

-----Original Message-----
From: Corinna Vinschen [mailto:corinna DOT vinschen AT cityweb DOT de]
Sent: Monday, November 02, 1998 3:42 PM
To: cygwin32-developers AT cygnus DOT com
Subject: B20 patch: UNC device path handling


Hello,

the handling of UNC device paths is incorrect. In the actual version,
the path must end with a colon. This ignores the existence of
paths like '\\.\tape0' or '\\.\physicaldrive2'. So, leave out
the "colon check".

Regards,
Corinna

---- snip ----
--- path.cc.orig        Mon Nov 02 22:24:51 1998
+++ path.cc     Mon Nov 02 22:35:36 1998
@@ -697,9 +697,8 @@ mount_info::conv_to_win32_path (const ch
          int j = mount[i].devicelen;
          memcpy (p, mount[i].device, j);
          /* Do not add trailing \ to UNC device names like \\.\a: */
-         if (pathbuf[mount[i].pathlen] != '/' &&
-               !(strncmp (mount[i].device, "\\\\.\\", 4) == 0 &&
-               mount[i].device[mount[i].devicelen-1] == ':'))
+         if (pathbuf[mount[i].pathlen] != '/'
+              && strncmp (mount[i].device, "\\\\.\\", 4))
            p[j++] = '\\';
          strcpy (p + j, pathbuf + mount[i].pathlen);
          backslashify (p, p, trailing_slash_p);

------ =_NextPart_000_01BE06B6.5F124540
Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64

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
AADAAAAAAAAARgAAAAADhQAAAAAAAAMACIAIIAYAAAAAAMAAAAAAAABGAAAAABCFAAAAAAAAAwAB
gAggBgAAAAAAwAAAAAAAAEYAAAAAUoUAAPATAAAeAAKACCAGAAAAAADAAAAAAAAARgAAAABUhQAA
AQAAAAQAAAA4LjUAAwAJgAggBgAAAAAAwAAAAAAAAEYAAAAAAYUAAAAAAAALAAqACCAGAAAAAADA
AAAAAAAARgAAAAAOhQAAAAAAAAMAC4AIIAYAAAAAAMAAAAAAAABGAAAAABGFAAAAAAAAAwAMgAgg
BgAAAAAAwAAAAAAAAEYAAAAAGIUAAAAAAAAeAAOACCAGAAAAAADAAAAAAAAARgAAAAA2hQAAAQAA
AAEAAAAAAAAAHgAEgAggBgAAAAAAwAAAAAAAAEYAAAAAN4UAAAEAAAABAAAAAAAAAB4ABYAIIAYA
AAAAAMAAAAAAAABGAAAAADiFAAABAAAAAQAAAAAAAAALAC6ACyAGAAAAAADAAAAAAAAARgAAAAAA
iAAAAAAAAAsAL4ALIAYAAAAAAMAAAAAAAABGAAAAAAWIAAAAAAAACwBzgAggBgAAAAAAwAAAAAAA
AEYAAAAABoUAAAAAAAADACYAAAAAAAMANgAAAAAAHgAxQAEAAAARAAAAUkRQQVJLRVJEMDZGQzQw
MAAAAAADABpAAAAAAB4AMEABAAAAEQAAAFJEUEFSS0VSRDA2RkM0MDAAAAAAAwAZQAAAAAADAIAQ
/////wIB+T8BAAAAdAAAAAAAAADcp0DIwEIQGrS5CAArL+GCAQAAAAYAAAAvTz1CVVRMRVIgTUFO
VUZBQ1RVUklORyBDT01QQU5ZL09VPUJVSUxESU5HUy9DTj1SRUNJUElFTlRTL0NOPVRPV0VSL0NO
PVJEUEFSS0VSRDA2RkM0MDAAHgD4PwEAAAAMAAAAUGFya2VyLCBSb24AHgA4QAEAAAARAAAAUkRQ
QVJLRVJEMDZGQzQwMAAAAAACAfs/AQAAAHQAAAAAAAAA3KdAyMBCEBq0uQgAKy/hggEAAAAGAAAA
L089QlVUTEVSIE1BTlVGQUNUVVJJTkcgQ09NUEFOWS9PVT1CVUlMRElOR1MvQ049UkVDSVBJRU5U
Uy9DTj1UT1dFUi9DTj1SRFBBUktFUkQwNkZDNDAwAB4A+j8BAAAADAAAAFBhcmtlciwgUm9uAB4A
OUABAAAAEQAAAFJEUEFSS0VSRDA2RkM0MDAAAAAAQAAHMEBqbRaxBr4BQAAIMEBFEl+2Br4BHgA9
AAEAAAAFAAAAUkU6IAAAAAAeAB0OAQAAACQAAABCMjAgcGF0Y2g6IFVOQyBkZXZpY2UgcGF0aCBo
YW5kbGluZwALACkAAAAAAAsAIwAAAAAAAwAGEGrrpAADAAcQUAYAAAMAEBAAAAAAAwAREAAAAAAe
AAgQAQAAAGUAAABGWUksVEhFVVRJTElUWUFUSFRUUDovL1dXV1NZU0lOVEVSTkFMU0NPTS9XSU5P
QkpIVE1XSUxMU0hPV0FMTE9GVEhFREVWSUNFU09OQU5OVFNZU1RFTSxXSElDSENPVUxEQVBQAAAA
AHa4

------ =_NextPart_000_01BE06B6.5F124540--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019