win32-xpath 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1b9e865187d194c9db58257a0750bd60968ef2e5
4
- data.tar.gz: 72fdc11d85bad1b62711fe69349eed0bf0ba4e43
3
+ metadata.gz: 685daea6a90d6d67f915aeb1595dd45fc636701b
4
+ data.tar.gz: 7af2b9489ed6e8cd5d97003f95633a9b48b53ee1
5
5
  SHA512:
6
- metadata.gz: 77caf09f55a777500c810c2f533664e45282d396a627e1cf71097c061a2f9af3fd1c84c3c5b56c01fe8fbc32fb19999895a9817cedb44cc2bf5d95b8e4049c24
7
- data.tar.gz: 7f8268eb83aac290fd6d99a935f43b973d4fedfd39fb7234f2a8059b3205e5254f69c8ad36c698b3417d56fd3bfd47e316c3a3d037062d70f3e4b25c872bccc6
6
+ metadata.gz: 63dbc8982a5433a9a9a2c409817f46c91fe9f80165d36d70a096be99a0539bc7b563e480c179db8498fa895e615b96ac4e57b742fb72e591ea56def8d03a7091
7
+ data.tar.gz: 5b5b8e65792411768a15b7804043b8f3e42f6f8e06c2e885edeb06f34d807c633cd146ba1f95f2ffc16f74f33e68f3e1bb7991c90351997fd2133dd804d7cb40
data/CHANGES CHANGED
@@ -1,8 +1,11 @@
1
- = 1.0.2 - 17-Jun-2015
2
- * Deal with non-standard swprintf issues so that it works with mingw compiler.
3
-
4
- = 1.0.1 - 2-Apr-2015
5
- * Altered internal handling of native C function failures.
6
-
7
- = 1.0.0 - 26-Feb-2015
8
- * Initial release
1
+ = 1.0.3 - 3-Jul-2015
2
+ * Use PathCchXXX functions where available to improve long path handling.
3
+
4
+ = 1.0.2 - 17-Jun-2015
5
+ * Deal with non-standard swprintf issues so that it works with mingw compiler.
6
+
7
+ = 1.0.1 - 2-Apr-2015
8
+ * Altered internal handling of native C function failures.
9
+
10
+ = 1.0.0 - 26-Feb-2015
11
+ * Initial release
data/MANIFEST CHANGED
@@ -1,9 +1,9 @@
1
- bench/bench_win32_xpath.rb
2
- CHANGES
3
- ext/extconf.rb
4
- ext/win32/xpath.c
5
- futzing/futz.rb
6
- Rakefile
7
- README
8
- test/test_win32_xpath.rb
9
- win32-xpath.gemspec
1
+ bench/bench_win32_xpath.rb
2
+ CHANGES
3
+ ext/extconf.rb
4
+ ext/win32/xpath.c
5
+ futzing/futz.rb
6
+ Rakefile
7
+ README
8
+ test/test_win32_xpath.rb
9
+ win32-xpath.gemspec
data/README CHANGED
@@ -1,54 +1,65 @@
1
- = Description
2
- A custom File.expand_path method for Ruby on Windows that's much
3
- faster and works better.
4
-
5
- = Installation
6
- gem install win32-xpath
7
-
8
- = Synopsis
9
- require 'win32/xpath'
10
-
11
- # That's it, you are now using this library when you call File.expand_path
12
-
13
- = Features
14
- * A 5x average performance boost over MRI's current method.
15
- * Support for ~user expansion.
16
-
17
- = Known Issues
18
- * This library does not support drive-current paths for the 2nd argument.
19
- * This library does not support alt-stream name autocorrection.
20
-
21
- It is very unlikely you will ever be affected by either of these things.
22
- Drive-current paths are a relic of DOS 1.0, but even so this library
23
- will handle them in the first argument.
24
-
25
- I don't support alt-stream mangling because I don't believe it's the
26
- job of this method to peform autocorrection. Even in MRI it only works
27
- for the default $DATA stream, and then only for a certain type of
28
- syntax error. I do not know when or why it was added.
29
-
30
- If you discover any other issues, please report them on the project
31
- page at https://github.com/djberg96/win32-xpath.
32
-
33
- = Acknowledgements
34
- Park Heesob for encoding advice and help.
35
-
36
- == License
37
- Artistic 2.0
38
-
39
- == Contributions
40
- Although this library is free, please consider having your company
41
- setup a gittip if used by your company professionally.
42
-
43
- http://www.gittip.com/djberg96/
44
-
45
- == Copyright
46
- (C) 2003-2015 Daniel J. Berger, All Rights Reserved
47
-
48
- == Warranty
49
- This package is provided "as is" and without any express or
50
- implied warranties, including, without limitation, the implied
51
- warranties of merchantability and fitness for a particular purpose.
52
-
53
- = Author
54
- Daniel Berger
1
+ = Description
2
+ A custom File.expand_path method for Ruby on Windows that's much
3
+ faster and works better.
4
+
5
+ = Installation
6
+ gem install win32-xpath
7
+
8
+ = Synopsis
9
+ require 'win32/xpath'
10
+
11
+ # That's it, you are now using this library when you call File.expand_path
12
+
13
+ = Features
14
+ * A 5x average performance boost over MRI's current method.
15
+ * Support for ~user expansion.
16
+
17
+ = Known Issues
18
+ * This library does not support drive-current paths for the 2nd argument.
19
+ * This library does not support alt-stream name autocorrection.
20
+
21
+ It is very unlikely you will ever be affected by either of these things.
22
+ Drive-current paths are a relic of DOS 1.0, but even so this library
23
+ will handle them in the first argument.
24
+
25
+ I don't support alt-stream mangling because I don't believe it's the
26
+ job of this method to peform autocorrection. Even in MRI it only works
27
+ for the default $DATA stream, and then only for a certain type of
28
+ syntax error. I do not know when or why it was added.
29
+
30
+ One possible "real" issue is that on Windows 7 or earlier you will be
31
+ limited to 260 character paths. This is a limitation of the shlwapi.h
32
+ functions that I use internally.
33
+
34
+ If you discover any other issues, please report them on the project
35
+ page at https://github.com/djberg96/win32-xpath.
36
+
37
+ = Mingw and Devkit
38
+ Make sure you have a recent version of the Devkit installed if you're
39
+ using the one-click installer. If you see this warning then you need
40
+ to upgrade your Devkit.
41
+
42
+ "implicit declaration of function 'ConvertSidToStringSidW'"
43
+
44
+ = Acknowledgements
45
+ Park Heesob for encoding advice and help.
46
+
47
+ == License
48
+ Artistic 2.0
49
+
50
+ == Contributions
51
+ Although this library is free, please consider having your company
52
+ setup a gittip if used by your company professionally.
53
+
54
+ http://www.gittip.com/djberg96/
55
+
56
+ == Copyright
57
+ (C) 2003-2015 Daniel J. Berger, All Rights Reserved
58
+
59
+ == Warranty
60
+ This package is provided "as is" and without any express or
61
+ implied warranties, including, without limitation, the implied
62
+ warranties of merchantability and fitness for a particular purpose.
63
+
64
+ = Author
65
+ Daniel Berger
data/Rakefile CHANGED
@@ -1,60 +1,60 @@
1
- require 'rake'
2
- require 'rake/clean'
3
- require 'rake/testtask'
4
- require 'rbconfig'
5
- include RbConfig
6
-
7
- CLEAN.include(
8
- '**/*.gem', # Gem files
9
- '**/*.rbc', # Rubinius
10
- '**/*.o', # C object file
11
- '**/*.log', # Ruby extension build log
12
- '**/Makefile', # C Makefile
13
- '**/*.def', # Definition files
14
- '**/*.exp',
15
- '**/*.lib',
16
- '**/*.pdb',
17
- '**/*.obj',
18
- '**/*.stackdump', # Junk that can happen on Windows
19
- "**/*.#{CONFIG['DLEXT']}" # C shared object
20
- )
21
-
22
- make = CONFIG['host_os'] =~ /mingw|cygwin/i ? 'make' : 'nmake'
23
-
24
- desc "Build the win32-xpath library"
25
- task :build => [:clean] do
26
- require 'devkit' if CONFIG['host_os'] =~ /mingw|cygwin/i
27
- Dir.chdir('ext') do
28
- ruby "extconf.rb"
29
- sh make
30
- cp 'xpath.so', 'win32' # For testing
31
- end
32
- end
33
-
34
- namespace :gem do
35
- desc "Build the win32-xpath gem"
36
- task :create => [:clean] do
37
- require 'rubygems/package'
38
- spec = eval(IO.read('win32-xpath.gemspec'))
39
- Gem::Package.build(spec)
40
- end
41
-
42
- task "Install the win32-xpath gem"
43
- task :install => [:create] do
44
- file = Dir["*.gem"].first
45
- sh "gem install -l #{file}"
46
- end
47
- end
48
-
49
- Rake::TestTask.new do |t|
50
- task :test => [:build]
51
- t.test_files = FileList['test/*']
52
- t.libs << 'ext'
53
- end
54
-
55
- desc "Run benchmarks"
56
- task :bench => [:build] do
57
- ruby "-Iext bench/bench_win32_xpath.rb"
58
- end
59
-
60
- task :default => :test
1
+ require 'rake'
2
+ require 'rake/clean'
3
+ require 'rake/testtask'
4
+ require 'rbconfig'
5
+ include RbConfig
6
+
7
+ CLEAN.include(
8
+ '**/*.gem', # Gem files
9
+ '**/*.rbc', # Rubinius
10
+ '**/*.o', # C object file
11
+ '**/*.log', # Ruby extension build log
12
+ '**/Makefile', # C Makefile
13
+ '**/*.def', # Definition files
14
+ '**/*.exp',
15
+ '**/*.lib',
16
+ '**/*.pdb',
17
+ '**/*.obj',
18
+ '**/*.stackdump', # Junk that can happen on Windows
19
+ "**/*.#{CONFIG['DLEXT']}" # C shared object
20
+ )
21
+
22
+ make = CONFIG['host_os'] =~ /mingw|cygwin/i ? 'make' : 'nmake'
23
+
24
+ desc "Build the win32-xpath library"
25
+ task :build => [:clean] do
26
+ require 'devkit' if CONFIG['host_os'] =~ /mingw|cygwin/i
27
+ Dir.chdir('ext') do
28
+ ruby "extconf.rb"
29
+ sh make
30
+ cp 'xpath.so', 'win32' # For testing
31
+ end
32
+ end
33
+
34
+ namespace :gem do
35
+ desc "Build the win32-xpath gem"
36
+ task :create => [:clean] do
37
+ require 'rubygems/package'
38
+ spec = eval(IO.read('win32-xpath.gemspec'))
39
+ Gem::Package.build(spec)
40
+ end
41
+
42
+ task "Install the win32-xpath gem"
43
+ task :install => [:create] do
44
+ file = Dir["*.gem"].first
45
+ sh "gem install -l #{file}"
46
+ end
47
+ end
48
+
49
+ Rake::TestTask.new do |t|
50
+ task :test => [:build]
51
+ t.test_files = FileList['test/*']
52
+ t.libs << 'ext'
53
+ end
54
+
55
+ desc "Run benchmarks"
56
+ task :bench => [:build] do
57
+ ruby "-Iext bench/bench_win32_xpath.rb"
58
+ end
59
+
60
+ task :default => :test
@@ -1,79 +1,79 @@
1
- require 'benchmark'
2
-
3
- MAX = 100000
4
- puts "\nOld File.expand_path"
5
-
6
- Benchmark.bm(30) do |x|
7
- x.report("expand_path('foo/bar')") do
8
- str = "foo/bar"
9
- MAX.times{ File.expand_path(str) }
10
- end
11
-
12
- x.report("expand_path('C:/foo/bar')") do
13
- str = "C:/foo/bar"
14
- MAX.times{ File.expand_path(str) }
15
- end
16
-
17
- x.report("expand_path('//foo/bar')") do
18
- str = "//foo/bar"
19
- MAX.times{ File.expand_path(str) }
20
- end
21
-
22
- x.report("expand_path('foo//bar///')") do
23
- str = "foo//bar///"
24
- MAX.times{ File.expand_path(str) }
25
- end
26
-
27
- x.report("expand_path('~')") do
28
- str = "~"
29
- MAX.times{ File.expand_path(str) }
30
- end
31
-
32
- x.report("expand_path('')") do
33
- str = ""
34
- MAX.times{ File.expand_path(str) }
35
- end
36
-
37
- x.report("expand_path('', '~')") do
38
- MAX.times{ File.expand_path('', '~') }
39
- end
40
- end
41
-
42
- require 'win32/xpath'
43
- puts "\nNew File.expand_path\n"
44
-
45
- Benchmark.bm(30) do |x|
46
- x.report("expand_path('foo/bar')") do
47
- str = "foo/bar"
48
- MAX.times{ File.expand_path(str) }
49
- end
50
-
51
- x.report("expand_path('C:/foo/bar')") do
52
- str = "C:/foo/bar"
53
- MAX.times{ File.expand_path(str) }
54
- end
55
-
56
- x.report("expand_path('//foo/bar')") do
57
- str = "//foo/bar"
58
- MAX.times{ File.expand_path(str) }
59
- end
60
-
61
- x.report("expand_path('foo//bar///')") do
62
- str = "foo//bar///"
63
- MAX.times{ File.expand_path(str) }
64
- end
65
-
66
- x.report("expand_path('~')") do
67
- str = "~"
68
- MAX.times{ File.expand_path(str) }
69
- end
70
-
71
- x.report("expand_path('')") do
72
- str = ""
73
- MAX.times{ File.expand_path(str) }
74
- end
75
-
76
- x.report("expand_path('', '~')") do
77
- MAX.times{ File.expand_path('', '~') }
78
- end
79
- end
1
+ require 'benchmark'
2
+
3
+ MAX = 100000
4
+ puts "\nOld File.expand_path"
5
+
6
+ Benchmark.bm(30) do |x|
7
+ x.report("expand_path('foo/bar')") do
8
+ str = "foo/bar"
9
+ MAX.times{ File.expand_path(str) }
10
+ end
11
+
12
+ x.report("expand_path('C:/foo/bar')") do
13
+ str = "C:/foo/bar"
14
+ MAX.times{ File.expand_path(str) }
15
+ end
16
+
17
+ x.report("expand_path('//foo/bar')") do
18
+ str = "//foo/bar"
19
+ MAX.times{ File.expand_path(str) }
20
+ end
21
+
22
+ x.report("expand_path('foo//bar///')") do
23
+ str = "foo//bar///"
24
+ MAX.times{ File.expand_path(str) }
25
+ end
26
+
27
+ x.report("expand_path('~')") do
28
+ str = "~"
29
+ MAX.times{ File.expand_path(str) }
30
+ end
31
+
32
+ x.report("expand_path('')") do
33
+ str = ""
34
+ MAX.times{ File.expand_path(str) }
35
+ end
36
+
37
+ x.report("expand_path('', '~')") do
38
+ MAX.times{ File.expand_path('', '~') }
39
+ end
40
+ end
41
+
42
+ require 'win32/xpath'
43
+ puts "\nNew File.expand_path\n"
44
+
45
+ Benchmark.bm(30) do |x|
46
+ x.report("expand_path('foo/bar')") do
47
+ str = "foo/bar"
48
+ MAX.times{ File.expand_path(str) }
49
+ end
50
+
51
+ x.report("expand_path('C:/foo/bar')") do
52
+ str = "C:/foo/bar"
53
+ MAX.times{ File.expand_path(str) }
54
+ end
55
+
56
+ x.report("expand_path('//foo/bar')") do
57
+ str = "//foo/bar"
58
+ MAX.times{ File.expand_path(str) }
59
+ end
60
+
61
+ x.report("expand_path('foo//bar///')") do
62
+ str = "foo//bar///"
63
+ MAX.times{ File.expand_path(str) }
64
+ end
65
+
66
+ x.report("expand_path('~')") do
67
+ str = "~"
68
+ MAX.times{ File.expand_path(str) }
69
+ end
70
+
71
+ x.report("expand_path('')") do
72
+ str = ""
73
+ MAX.times{ File.expand_path(str) }
74
+ end
75
+
76
+ x.report("expand_path('', '~')") do
77
+ MAX.times{ File.expand_path('', '~') }
78
+ end
79
+ end