remove trailing '\' when asked for the pathName
authorClaus Gittinger <cg@exept.de>
Tue, 26 Apr 2005 19:08:29 +0200
changeset 8870 93dc7a3aec7c
parent 8869 6b7d0f4c1e24
child 8871 ad36cffaa66c
remove trailing '\' when asked for the pathName
PCFilename.st
--- a/PCFilename.st	Tue Apr 26 12:30:22 2005 +0200
+++ b/PCFilename.st	Tue Apr 26 19:08:29 2005 +0200
@@ -632,6 +632,39 @@
     "Modified: / 24.9.1998 / 19:09:53 / cg"
 !
 
+pathName
+    |path|
+
+    path := super pathName.
+    path size > 1 ifTrue:[
+        (path endsWith:'\') ifTrue:[
+            (path endsWith:':\') ifFalse:[
+                path := path copyWithoutLast:1
+            ]
+        ]
+    ].
+    ^ path
+
+    "
+     '\foo'         asFilename pathName  
+     '\foo\'        asFilename pathName 
+     '\foo\bar'     asFilename pathName 
+     '\foo\bar\'    asFilename pathName 
+     '\'            asFilename pathName  
+     'c:'           asFilename pathName 
+     'c:\'          asFilename pathName 
+     'c:\foo'       asFilename pathName 
+     'c:\foo\'      asFilename pathName 
+     'c:\foo\bar'   asFilename pathName  
+     'c:\foo\bar\'  asFilename pathName      
+     '\\idefix'          asFilename pathName    
+     '\\idefix\home'     asFilename pathName 
+     '\\idefix\home\foo' asFilename pathName 
+     "
+
+    "Modified: / 24.9.1998 / 19:09:53 / cg"
+!
+
 volume
     "return the disc volume part of the name or an empty string.
      This is only used with DOS filenames - on unix, an empty string is returned.
@@ -753,5 +786,5 @@
 !PCFilename class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.30 2005-04-05 14:33:02 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/PCFilename.st,v 1.31 2005-04-26 17:08:29 cg Exp $'
 ! !