[squeak-dev] The Trunk: Network-nice.179.mcz

commits at source.squeak.org commits at source.squeak.org
Tue Jul 19 22:19:51 UTC 2016

Nicolas Cellier uploaded a new version of Network to project The Trunk:

==================== 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: '\')

More information about the Squeak-dev mailing list