The Trunk: Network-nice.179.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Network-nice.179.mcz

commits-2
Nicolas Cellier uploaded a new version of Network to project The Trunk:
http://source.squeak.org/trunk/Network-nice.179.mcz

==================== Summary ====================

Name: Network-nice.179
Author: nice
Time: 20 July 2016, 12:19:36.925063 am
UUID: d5a82bde-b7b7-47ab-8d39-94beab819cae
Ancestors: Network-bp.178

Let VMMaker (.oscog branch) code generation work on windows.

Detail: VMMaker uses something like:
FileDirectory default pathFromURI: self sourceTree, '/spur64src'

On windows, the URI encodes drive spec letter $: into '%3A'.
This was never decoded, and then C%3A\Users\nicolas\opensmalltalk-vm\spur64src is not a good path specification and miserably fails :(

Note that DosFileDirectory class privateFullPathForURI: seems to perform some similar task, so maybe the next step will be to CLEAN UP!!!

=============== Diff against Network-bp.178 ===============

Item was changed:
  ----- Method: DosFileDirectory>>uriPathToPlatformPath: (in category '*network-uri') -----
  uriPathToPlatformPath: aString
  "Convert a URI path (w/ forward slashes) into a platform path if necessary.
  Also make sure we deal properly with shares vs. drives"
+ | parts path |
+ path := aString unescapePercents.
+ parts := path findTokens: '/'.
- | parts |
- parts := aString findTokens: '/'.
  (parts first endsWith: ':') ifTrue:[
  "it's a drive - compose c:\foo\bar"
+ ^path allButFirst copyReplaceAll: '/' with: '\'
- ^aString allButFirst copyReplaceAll: '/' with: '\'
  ] ifFalse:[
  "it's a share - compose \\share\foo\bar"
+ ^'\', (path copyReplaceAll: '/' with: '\')
- ^'\', (aString copyReplaceAll: '/' with: '\')
  ].!