--- a/FileDirectory.st Sat Apr 26 16:06:49 1997 +0200
+++ b/FileDirectory.st Mon Apr 28 22:35:16 1997 +0200
@@ -113,26 +113,38 @@
sep := OperatingSystem fileSeparator.
((name at:1) == sep) ifTrue:[
- ^ self directoryNamed:name
+ ^ self directoryNamed:name
].
+ "/ temporary kludge; this and the previous should
+ "/ go into OS isAbsolutePath ..
+
+ OperatingSystem isMSDOSlike ifTrue:[
+ ('[a-zA-Z]:*' match:name) ifTrue:[
+ "/ drive spec ...
+ ^ self directoryNamed:name
+ ]
+ ].
(aFileDirectory isKindOf:FileDirectory) ifTrue:[
- baseName := aFileDirectory pathName
+ baseName := aFileDirectory pathName
] ifFalse:[
- baseName := aFileDirectory
+ baseName := aFileDirectory
].
"
(name = '..') ifTrue:[
- ^ (self basicNew) pathName:(OperatingSystem directoryNameOf:baseName)
+ ^ (self basicNew) pathName:(OperatingSystem directoryNameOf:baseName)
].
"
(name = '.') ifTrue:[^ aFileDirectory].
(baseName = sep asString) ifFalse:[
- (baseName endsWith:sep) ifFalse:[
- baseName := baseName copyWith:sep
- ]
+ (baseName endsWith:sep) ifFalse:[
+ baseName := baseName copyWith:sep
+ ]
].
^ self directoryNamed:(baseName , name)
+
+ "Modified: 28.4.1997 / 23:23:51 / cg"
+ "Modified: 28.4.1997 / 22:34:47 / dq"
!
rootDirectory
@@ -153,10 +165,26 @@
|sep|
sep := OperatingSystem fileSeparator asString.
+
+ "/ is it an absolute path ?
+
(name startsWith:sep) ifTrue:[
- ^ name
+ ^ name
].
+
+ "/ temporary kludge; this and the previous should
+ "/ go into OS isAbsolutePath ..
+
+ OperatingSystem isMSDOSlike ifTrue:[
+ ('[a-zA-Z]:*' match:name) ifTrue:[
+ "/ drive spec ...
+ ^ name
+ ]
+ ].
^ path , sep , name
+
+ "Modified: 28.4.1997 / 22:06:17 / cg"
+ "Modified: 28.4.1997 / 22:34:18 / dq"
! !
!FileDirectory methodsFor:'accessing'!
@@ -592,6 +620,6 @@
!FileDirectory class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.28 1996-06-15 13:21:21 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/FileDirectory.st,v 1.29 1997-04-28 20:35:16 cg Exp $'
! !
FileDirectory initialize!