@@ -165,63 +165,63 @@ const win32 = {
165165      const  code  =  path . charCodeAt ( 0 ) ; 
166166
167167      // Try to match a root 
168-       if  ( len  >  1 )  { 
168+       if  ( len  ===  1 )  { 
169169        if  ( isPathSeparator ( code ) )  { 
170-           // Possible UNC root 
171- 
172-           // If we started with a separator, we know we at least have an 
173-           // absolute path of some kind (UNC or otherwise) 
170+           // `path` contains just a path separator 
171+           rootEnd  =  1 ; 
174172          isAbsolute  =  true ; 
173+         } 
174+       }  else  if  ( isPathSeparator ( code ) )  { 
175+         // Possible UNC root 
175176
176-           if  ( isPathSeparator ( path . charCodeAt ( 1 ) ) )  { 
177-             // Matched double path separator at beginning 
178-             let  j  =  2 ; 
179-             let  last  =  j ; 
180-             // Match 1 or more non-path separators 
181-             while  ( j  <  len  &&  ! isPathSeparator ( path . charCodeAt ( j ) ) )  { 
177+         // If we started with a separator, we know we at least have an 
178+         // absolute path of some kind (UNC or otherwise) 
179+         isAbsolute  =  true ; 
180+ 
181+         if  ( isPathSeparator ( path . charCodeAt ( 1 ) ) )  { 
182+           // Matched double path separator at beginning 
183+           let  j  =  2 ; 
184+           let  last  =  j ; 
185+           // Match 1 or more non-path separators 
186+           while  ( j  <  len  &&  ! isPathSeparator ( path . charCodeAt ( j ) ) )  { 
187+             j ++ ; 
188+           } 
189+           if  ( j  <  len  &&  j  !==  last )  { 
190+             const  firstPart  =  path . slice ( last ,  j ) ; 
191+             // Matched! 
192+             last  =  j ; 
193+             // Match 1 or more path separators 
194+             while  ( j  <  len  &&  isPathSeparator ( path . charCodeAt ( j ) ) )  { 
182195              j ++ ; 
183196            } 
184197            if  ( j  <  len  &&  j  !==  last )  { 
185-               const  firstPart  =  path . slice ( last ,  j ) ; 
186198              // Matched! 
187199              last  =  j ; 
188-               // Match 1 or more path separators 
189-               while  ( j  <  len  &&  isPathSeparator ( path . charCodeAt ( j ) ) )  { 
200+               // Match 1 or more non- path separators 
201+               while  ( j  <  len  &&  ! isPathSeparator ( path . charCodeAt ( j ) ) )  { 
190202                j ++ ; 
191203              } 
192-               if  ( j  <  len  &&  j  !==  last )  { 
193-                 // Matched! 
194-                 last  =  j ; 
195-                 // Match 1 or more non-path separators 
196-                 while  ( j  <  len  &&  ! isPathSeparator ( path . charCodeAt ( j ) ) )  { 
197-                   j ++ ; 
198-                 } 
199-                 if  ( j  ===  len  ||  j  !==  last )  { 
200-                   // We matched a UNC root 
201-                   device  =  `\\\\${ firstPart }  \\${ path . slice ( last ,  j ) }  ` ; 
202-                   rootEnd  =  j ; 
203-                 } 
204+               if  ( j  ===  len  ||  j  !==  last )  { 
205+                 // We matched a UNC root 
206+                 device  =  `\\\\${ firstPart }  \\${ path . slice ( last ,  j ) }  ` ; 
207+                 rootEnd  =  j ; 
204208              } 
205209            } 
206-           }  else  { 
207-             rootEnd  =  1 ; 
208-           } 
209-         }  else  if  ( isWindowsDeviceRoot ( code )  && 
210-                    path . charCodeAt ( 1 )  ===  CHAR_COLON )  { 
211-           // Possible device root 
212-           device  =  path . slice ( 0 ,  2 ) ; 
213-           rootEnd  =  2 ; 
214-           if  ( len  >  2  &&  isPathSeparator ( path . charCodeAt ( 2 ) ) )  { 
215-             // Treat separator following drive name as an absolute path 
216-             // indicator 
217-             isAbsolute  =  true ; 
218-             rootEnd  =  3 ; 
219210          } 
211+         }  else  { 
212+           rootEnd  =  1 ; 
213+         } 
214+       }  else  if  ( isWindowsDeviceRoot ( code )  && 
215+                   path . charCodeAt ( 1 )  ===  CHAR_COLON )  { 
216+         // Possible device root 
217+         device  =  path . slice ( 0 ,  2 ) ; 
218+         rootEnd  =  2 ; 
219+         if  ( len  >  2  &&  isPathSeparator ( path . charCodeAt ( 2 ) ) )  { 
220+           // Treat separator following drive name as an absolute path 
221+           // indicator 
222+           isAbsolute  =  true ; 
223+           rootEnd  =  3 ; 
220224        } 
221-       }  else  if  ( isPathSeparator ( code ) )  { 
222-         // `path` contains just a path separator 
223-         rootEnd  =  1 ; 
224-         isAbsolute  =  true ; 
225225      } 
226226
227227      if  ( device . length  >  0 )  { 
0 commit comments