win32-api 1.4.5 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGES +90 -0
  3. data/Dockerfile +99 -0
  4. data/Dockerfile.trunk +17 -0
  5. data/Gemfile +4 -0
  6. data/Gemfile.lock +24 -0
  7. data/MANIFEST +1 -1
  8. data/README.md +136 -0
  9. data/RELEASE.md +41 -0
  10. data/Rakefile +238 -97
  11. data/appveyor.yml +46 -0
  12. data/build-gem.bat +3 -0
  13. data/ext/extconf.rb +4 -0
  14. data/ext/win32/api.c +305 -145
  15. data/pkg/win32-api-1.9.1-universal-mingw32.gem +0 -0
  16. data/pkg/win32-api-1.9.2-universal-mingw32.gem +0 -0
  17. data/test.rb +10 -0
  18. data/test/test_win32_api.rb +33 -28
  19. data/test/test_win32_api_callback.rb +51 -51
  20. data/vendor/bundle/ruby/2.5.0/bin/rake +27 -0
  21. data/vendor/bundle/ruby/2.5.0/bin/rake-compiler-dock +27 -0
  22. data/vendor/bundle/ruby/2.5.0/bin/rake-compiler-dock.bat +6 -0
  23. data/vendor/bundle/ruby/2.5.0/bin/rake.bat +6 -0
  24. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/BSDL +22 -0
  25. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/COPYING +57 -0
  26. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/Gemfile +9 -0
  27. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/LEGAL +4 -0
  28. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/README.rdoc +81 -0
  29. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/Rakefile +59 -0
  30. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/bin/console +12 -0
  31. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/bin/setup +6 -0
  32. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert.rb +98 -0
  33. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/colorize.rb +9 -0
  34. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/configuration.rb +46 -0
  35. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/context.rb +235 -0
  36. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/enable_tracepoint_events.rb +91 -0
  37. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/inspector.rb +61 -0
  38. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/parser.rb +251 -0
  39. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/lib/power_assert/version.rb +3 -0
  40. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.5/power_assert.gemspec +31 -0
  41. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/BSDL +22 -0
  42. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/COPYING +57 -0
  43. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/Gemfile +9 -0
  44. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/LEGAL +4 -0
  45. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/README.rdoc +81 -0
  46. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/Rakefile +59 -0
  47. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/bin/console +12 -0
  48. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/bin/setup +6 -0
  49. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert.rb +98 -0
  50. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/colorize.rb +9 -0
  51. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/configuration.rb +46 -0
  52. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/context.rb +238 -0
  53. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/enable_tracepoint_events.rb +91 -0
  54. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/inspector.rb +61 -0
  55. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/parser.rb +251 -0
  56. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/lib/power_assert/version.rb +3 -0
  57. data/vendor/bundle/ruby/2.5.0/gems/power_assert-1.1.7/power_assert.gemspec +31 -0
  58. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
  59. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/Gemfile +10 -0
  60. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/History.rdoc +2368 -0
  61. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/MIT-LICENSE +21 -0
  62. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/README.rdoc +155 -0
  63. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/Rakefile +41 -0
  64. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/bundle +105 -0
  65. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/console +7 -0
  66. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/rake +29 -0
  67. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/rdoc +29 -0
  68. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/rubocop +29 -0
  69. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/bin/setup +6 -0
  70. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
  71. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
  72. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
  73. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/a.c +6 -0
  74. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/b.c +6 -0
  75. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/example/main.c +11 -0
  76. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
  77. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/jamis.rb +592 -0
  78. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
  79. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/rake.1 +156 -0
  80. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
  81. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/doc/rational.rdoc +151 -0
  82. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/exe/rake +27 -0
  83. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake.rb +71 -0
  84. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/application.rb +824 -0
  85. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
  86. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
  87. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
  88. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
  89. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
  90. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
  91. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
  92. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
  93. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
  94. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
  95. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
  96. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
  97. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
  98. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
  99. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
  100. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
  101. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
  102. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
  103. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
  104. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
  105. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
  106. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
  107. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
  108. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
  109. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
  110. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
  111. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
  112. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
  113. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  114. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
  115. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task.rb +434 -0
  116. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
  117. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
  118. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
  119. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
  120. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
  121. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
  122. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
  123. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
  124. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/version.rb +10 -0
  125. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
  126. data/vendor/bundle/ruby/2.5.0/gems/rake-13.0.1/rake.gemspec +43 -0
  127. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Dockerfile.jruby +61 -0
  128. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Dockerfile.mri +122 -0
  129. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Gemfile +8 -0
  130. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/History.md +130 -0
  131. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/LICENSE.txt +22 -0
  132. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/README.md +162 -0
  133. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/Rakefile +36 -0
  134. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/bin/rake-compiler-dock +18 -0
  135. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/mk_i686.rb +16 -0
  136. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/patches/rake-compiler-1.0.7/enable-static.diff +13 -0
  137. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/patches/ruby-2.5.3/no_sendfile.patch +24 -0
  138. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/runas +12 -0
  139. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/sigfw.c +45 -0
  140. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/strip_wrapper +30 -0
  141. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/build/sudoers +1 -0
  142. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock.rb +66 -0
  143. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/colors.rb +43 -0
  144. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/docker_check.rb +350 -0
  145. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/gem_helper.rb +73 -0
  146. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/predefined_user_group.rb +5 -0
  147. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/starter.rb +155 -0
  148. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/lib/rake_compiler_dock/version.rb +4 -0
  149. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/rake-compiler-dock.gemspec +28 -0
  150. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/test/test_environment_variables.rb +54 -0
  151. data/vendor/bundle/ruby/2.5.0/gems/rake-compiler-dock-0.7.2/test/test_starter.rb +33 -0
  152. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/COPYING +67 -0
  153. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/GPL +339 -0
  154. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/LGPL +502 -0
  155. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/PSFL +271 -0
  156. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/README.md +101 -0
  157. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/Rakefile +80 -0
  158. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/doc/text/getting-started.md +246 -0
  159. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/doc/text/how-to.md +90 -0
  160. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/doc/text/news.md +1453 -0
  161. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test-unit.rb +34 -0
  162. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit.rb +514 -0
  163. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/assertion-failed-error.rb +25 -0
  164. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/assertions.rb +2256 -0
  165. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/attribute-matcher.rb +26 -0
  166. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/attribute.rb +227 -0
  167. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/auto-runner-loader.rb +17 -0
  168. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/autorunner.rb +537 -0
  169. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/code-snippet-fetcher.rb +56 -0
  170. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector.rb +73 -0
  171. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/descendant.rb +19 -0
  172. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/dir.rb +108 -0
  173. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/load.rb +197 -0
  174. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/objectspace.rb +34 -0
  175. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/collector/xml.rb +249 -0
  176. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/color-scheme.rb +198 -0
  177. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/color.rb +134 -0
  178. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/data-sets.rb +116 -0
  179. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/data.rb +371 -0
  180. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/diff.rb +746 -0
  181. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/error.rb +158 -0
  182. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/exception-handler.rb +82 -0
  183. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/failure.rb +169 -0
  184. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/fault-location-detector.rb +100 -0
  185. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/fixture.rb +298 -0
  186. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/notification.rb +138 -0
  187. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/omission.rb +198 -0
  188. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/pending.rb +155 -0
  189. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/priority.rb +196 -0
  190. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/runner/console.rb +84 -0
  191. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/runner/emacs.rb +8 -0
  192. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/runner/xml.rb +15 -0
  193. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/test-suite-creator.rb +103 -0
  194. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/testcase.rb +899 -0
  195. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/testresult.rb +132 -0
  196. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/testsuite.rb +175 -0
  197. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/console/outputlevel.rb +15 -0
  198. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/console/testrunner.rb +750 -0
  199. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  200. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/testrunner.rb +53 -0
  201. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/testrunnermediator.rb +114 -0
  202. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  203. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/ui/xml/testrunner.rb +224 -0
  204. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/backtracefilter.rb +59 -0
  205. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/method-owner-finder.rb +28 -0
  206. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/observable.rb +90 -0
  207. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/output.rb +32 -0
  208. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/util/procwrapper.rb +48 -0
  209. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/lib/test/unit/version.rb +5 -0
  210. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/adder.rb +13 -0
  211. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/subtracter.rb +12 -0
  212. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/test_adder.rb +20 -0
  213. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/test_subtracter.rb +20 -0
  214. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/sample/test_user.rb +23 -0
  215. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test-descendant.rb +182 -0
  216. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test-load.rb +475 -0
  217. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test_dir.rb +407 -0
  218. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/collector/test_objectspace.rb +102 -0
  219. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header-label.csv +3 -0
  220. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header-label.tsv +3 -0
  221. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header.csv +3 -0
  222. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/header.tsv +3 -0
  223. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/no-header.csv +2 -0
  224. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/no-header.tsv +2 -0
  225. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/fixtures/plus.csv +3 -0
  226. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/run-test.rb +22 -0
  227. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-assertions.rb +2187 -0
  228. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-attribute-matcher.rb +38 -0
  229. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-attribute.rb +123 -0
  230. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-code-snippet.rb +79 -0
  231. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-color-scheme.rb +82 -0
  232. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-color.rb +47 -0
  233. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-data.rb +419 -0
  234. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-diff.rb +518 -0
  235. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-emacs-runner.rb +60 -0
  236. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-error.rb +26 -0
  237. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-failure.rb +33 -0
  238. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-fault-location-detector.rb +163 -0
  239. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-fixture.rb +713 -0
  240. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-notification.rb +33 -0
  241. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-omission.rb +81 -0
  242. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-pending.rb +70 -0
  243. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-priority.rb +184 -0
  244. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-case.rb +1279 -0
  245. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-result.rb +113 -0
  246. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-suite-creator.rb +97 -0
  247. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/test-test-suite.rb +151 -0
  248. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/testunit-test-util.rb +33 -0
  249. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/ui/test_testrunmediator.rb +20 -0
  250. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test-method-owner-finder.rb +38 -0
  251. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test-output.rb +11 -0
  252. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test_backtracefilter.rb +52 -0
  253. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test_observable.rb +102 -0
  254. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.4/test/util/test_procwrapper.rb +36 -0
  255. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/COPYING +67 -0
  256. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/GPL +339 -0
  257. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/LGPL +502 -0
  258. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/PSFL +271 -0
  259. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/README.md +101 -0
  260. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/Rakefile +80 -0
  261. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/doc/text/getting-started.md +246 -0
  262. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/doc/text/how-to.md +90 -0
  263. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/doc/text/news.md +1464 -0
  264. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test-unit.rb +34 -0
  265. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit.rb +514 -0
  266. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/assertion-failed-error.rb +25 -0
  267. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/assertions.rb +2256 -0
  268. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/attribute-matcher.rb +26 -0
  269. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/attribute.rb +227 -0
  270. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/auto-runner-loader.rb +17 -0
  271. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb +537 -0
  272. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb +58 -0
  273. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector.rb +73 -0
  274. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/descendant.rb +19 -0
  275. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/dir.rb +108 -0
  276. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/load.rb +197 -0
  277. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/objectspace.rb +34 -0
  278. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/collector/xml.rb +249 -0
  279. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/color-scheme.rb +198 -0
  280. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/color.rb +134 -0
  281. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/data-sets.rb +116 -0
  282. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/data.rb +371 -0
  283. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/diff.rb +746 -0
  284. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/error.rb +158 -0
  285. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/exception-handler.rb +82 -0
  286. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/failure.rb +169 -0
  287. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/fault-location-detector.rb +100 -0
  288. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb +298 -0
  289. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/notification.rb +138 -0
  290. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/omission.rb +198 -0
  291. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/pending.rb +155 -0
  292. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/priority.rb +196 -0
  293. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/runner/console.rb +84 -0
  294. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/runner/emacs.rb +8 -0
  295. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/runner/xml.rb +15 -0
  296. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/test-suite-creator.rb +103 -0
  297. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb +899 -0
  298. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/testresult.rb +132 -0
  299. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb +175 -0
  300. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/outputlevel.rb +15 -0
  301. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb +750 -0
  302. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  303. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb +53 -0
  304. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb +114 -0
  305. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  306. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/ui/xml/testrunner.rb +224 -0
  307. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/backtracefilter.rb +59 -0
  308. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/method-owner-finder.rb +28 -0
  309. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb +90 -0
  310. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/output.rb +32 -0
  311. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/util/procwrapper.rb +48 -0
  312. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/lib/test/unit/version.rb +5 -0
  313. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/adder.rb +13 -0
  314. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/subtracter.rb +12 -0
  315. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/test_adder.rb +20 -0
  316. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/test_subtracter.rb +20 -0
  317. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/sample/test_user.rb +23 -0
  318. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test-descendant.rb +182 -0
  319. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test-load.rb +475 -0
  320. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test_dir.rb +407 -0
  321. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/collector/test_objectspace.rb +102 -0
  322. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header-label.csv +3 -0
  323. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header-label.tsv +3 -0
  324. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header.csv +3 -0
  325. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/header.tsv +3 -0
  326. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/no-header.csv +2 -0
  327. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/no-header.tsv +2 -0
  328. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/fixtures/plus.csv +3 -0
  329. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/run-test.rb +22 -0
  330. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-assertions.rb +2187 -0
  331. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-attribute-matcher.rb +38 -0
  332. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-attribute.rb +123 -0
  333. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-code-snippet.rb +79 -0
  334. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-color-scheme.rb +82 -0
  335. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-color.rb +47 -0
  336. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-data.rb +419 -0
  337. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-diff.rb +518 -0
  338. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-emacs-runner.rb +60 -0
  339. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-error.rb +26 -0
  340. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-failure.rb +33 -0
  341. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-fault-location-detector.rb +163 -0
  342. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-fixture.rb +713 -0
  343. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-notification.rb +33 -0
  344. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-omission.rb +81 -0
  345. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-pending.rb +70 -0
  346. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-priority.rb +184 -0
  347. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-case.rb +1279 -0
  348. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-result.rb +113 -0
  349. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-suite-creator.rb +97 -0
  350. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/test-test-suite.rb +151 -0
  351. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/testunit-test-util.rb +33 -0
  352. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/ui/test_testrunmediator.rb +20 -0
  353. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test-method-owner-finder.rb +38 -0
  354. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test-output.rb +11 -0
  355. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test_backtracefilter.rb +52 -0
  356. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test_observable.rb +102 -0
  357. data/vendor/bundle/ruby/2.5.0/gems/test-unit-3.3.5/test/util/test_procwrapper.rb +36 -0
  358. data/vendor/bundle/ruby/2.5.0/specifications/power_assert-1.1.5.gemspec +54 -0
  359. data/vendor/bundle/ruby/2.5.0/specifications/power_assert-1.1.7.gemspec +54 -0
  360. data/vendor/bundle/ruby/2.5.0/specifications/rake-13.0.1.gemspec +26 -0
  361. data/vendor/bundle/ruby/2.5.0/specifications/rake-compiler-dock-0.7.2.gemspec +40 -0
  362. data/vendor/bundle/ruby/2.5.0/specifications/test-unit-3.3.4.gemspec +48 -0
  363. data/vendor/bundle/ruby/2.5.0/specifications/test-unit-3.3.5.gemspec +48 -0
  364. data/vendor/bundle/ruby/2.7.0/bin/rake +27 -0
  365. data/vendor/bundle/ruby/2.7.0/bin/rake.bat +2 -0
  366. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/BSDL +22 -0
  367. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/COPYING +57 -0
  368. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/Gemfile +9 -0
  369. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/LEGAL +4 -0
  370. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/README.rdoc +81 -0
  371. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/Rakefile +59 -0
  372. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/bin/console +12 -0
  373. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/bin/setup +6 -0
  374. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert.rb +98 -0
  375. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/colorize.rb +9 -0
  376. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/configuration.rb +46 -0
  377. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/context.rb +238 -0
  378. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/enable_tracepoint_events.rb +91 -0
  379. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/inspector.rb +61 -0
  380. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/parser.rb +251 -0
  381. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/lib/power_assert/version.rb +3 -0
  382. data/vendor/bundle/ruby/2.7.0/gems/power_assert-1.1.7/power_assert.gemspec +31 -0
  383. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/CONTRIBUTING.rdoc +43 -0
  384. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Gemfile +10 -0
  385. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/History.rdoc +2368 -0
  386. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/MIT-LICENSE +21 -0
  387. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/README.rdoc +155 -0
  388. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/Rakefile +41 -0
  389. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/bundle +105 -0
  390. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/console +7 -0
  391. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rake +29 -0
  392. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rdoc +29 -0
  393. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/rubocop +29 -0
  394. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/bin/setup +6 -0
  395. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/command_line_usage.rdoc +158 -0
  396. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile1 +38 -0
  397. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/Rakefile2 +35 -0
  398. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/a.c +6 -0
  399. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/b.c +6 -0
  400. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/example/main.c +11 -0
  401. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/glossary.rdoc +42 -0
  402. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/jamis.rb +592 -0
  403. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/proto_rake.rdoc +127 -0
  404. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rake.1 +156 -0
  405. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rakefile.rdoc +622 -0
  406. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/doc/rational.rdoc +151 -0
  407. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/exe/rake +27 -0
  408. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake.rb +71 -0
  409. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/application.rb +824 -0
  410. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/backtrace.rb +24 -0
  411. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/clean.rb +78 -0
  412. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cloneable.rb +17 -0
  413. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/cpu_counter.rb +107 -0
  414. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/default_loader.rb +15 -0
  415. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/dsl_definition.rb +195 -0
  416. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/early_time.rb +22 -0
  417. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/core.rb +26 -0
  418. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/ext/string.rb +176 -0
  419. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_creation_task.rb +25 -0
  420. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_list.rb +435 -0
  421. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_task.rb +54 -0
  422. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils.rb +134 -0
  423. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/file_utils_ext.rb +134 -0
  424. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_chain.rb +57 -0
  425. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/invocation_exception_mixin.rb +17 -0
  426. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/late_time.rb +18 -0
  427. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/linked_list.rb +112 -0
  428. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/loaders/makefile.rb +54 -0
  429. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/multi_task.rb +14 -0
  430. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/name_space.rb +38 -0
  431. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/packagetask.rb +222 -0
  432. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/phony.rb +16 -0
  433. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/private_reader.rb +21 -0
  434. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/promise.rb +100 -0
  435. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/pseudo_status.rb +30 -0
  436. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_module.rb +67 -0
  437. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rake_test_loader.rb +27 -0
  438. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/rule_recursion_overflow_error.rb +20 -0
  439. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/scope.rb +43 -0
  440. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task.rb +434 -0
  441. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_argument_error.rb +8 -0
  442. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_arguments.rb +109 -0
  443. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/task_manager.rb +331 -0
  444. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/tasklib.rb +12 -0
  445. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/testtask.rb +224 -0
  446. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_history_display.rb +49 -0
  447. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/thread_pool.rb +163 -0
  448. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/trace_output.rb +23 -0
  449. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/version.rb +10 -0
  450. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/lib/rake/win32.rb +51 -0
  451. data/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/rake.gemspec +43 -0
  452. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/COPYING +67 -0
  453. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/GPL +339 -0
  454. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/LGPL +502 -0
  455. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/PSFL +271 -0
  456. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/README.md +101 -0
  457. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/Rakefile +80 -0
  458. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/doc/text/getting-started.md +246 -0
  459. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/doc/text/how-to.md +90 -0
  460. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/doc/text/news.md +1464 -0
  461. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test-unit.rb +34 -0
  462. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit.rb +514 -0
  463. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/assertion-failed-error.rb +25 -0
  464. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/assertions.rb +2256 -0
  465. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/attribute-matcher.rb +26 -0
  466. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/attribute.rb +227 -0
  467. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/auto-runner-loader.rb +17 -0
  468. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/autorunner.rb +537 -0
  469. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/code-snippet-fetcher.rb +58 -0
  470. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector.rb +73 -0
  471. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/descendant.rb +19 -0
  472. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/dir.rb +108 -0
  473. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/load.rb +197 -0
  474. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/objectspace.rb +34 -0
  475. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/collector/xml.rb +249 -0
  476. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/color-scheme.rb +198 -0
  477. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/color.rb +134 -0
  478. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/data-sets.rb +116 -0
  479. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/data.rb +371 -0
  480. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/diff.rb +746 -0
  481. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/error.rb +158 -0
  482. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/exception-handler.rb +82 -0
  483. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/failure.rb +169 -0
  484. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fault-location-detector.rb +100 -0
  485. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/fixture.rb +298 -0
  486. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/notification.rb +138 -0
  487. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/omission.rb +198 -0
  488. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/pending.rb +155 -0
  489. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/priority.rb +196 -0
  490. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/runner/console.rb +84 -0
  491. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/runner/emacs.rb +8 -0
  492. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/runner/xml.rb +15 -0
  493. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/test-suite-creator.rb +103 -0
  494. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testcase.rb +899 -0
  495. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testresult.rb +132 -0
  496. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/testsuite.rb +175 -0
  497. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/outputlevel.rb +15 -0
  498. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/console/testrunner.rb +750 -0
  499. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/emacs/testrunner.rb +49 -0
  500. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunner.rb +53 -0
  501. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnermediator.rb +114 -0
  502. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/testrunnerutilities.rb +41 -0
  503. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/ui/xml/testrunner.rb +224 -0
  504. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/backtracefilter.rb +59 -0
  505. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/method-owner-finder.rb +28 -0
  506. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/observable.rb +90 -0
  507. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/output.rb +32 -0
  508. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/util/procwrapper.rb +48 -0
  509. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/lib/test/unit/version.rb +5 -0
  510. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/adder.rb +13 -0
  511. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/subtracter.rb +12 -0
  512. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/test_adder.rb +20 -0
  513. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/test_subtracter.rb +20 -0
  514. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/sample/test_user.rb +23 -0
  515. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test-descendant.rb +182 -0
  516. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test-load.rb +475 -0
  517. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test_dir.rb +407 -0
  518. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/collector/test_objectspace.rb +102 -0
  519. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header-label.csv +3 -0
  520. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header-label.tsv +3 -0
  521. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header.csv +3 -0
  522. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/header.tsv +3 -0
  523. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/no-header.csv +2 -0
  524. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/no-header.tsv +2 -0
  525. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/fixtures/plus.csv +3 -0
  526. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/run-test.rb +22 -0
  527. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-assertions.rb +2187 -0
  528. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-attribute-matcher.rb +38 -0
  529. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-attribute.rb +123 -0
  530. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-code-snippet.rb +79 -0
  531. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-color-scheme.rb +82 -0
  532. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-color.rb +47 -0
  533. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-data.rb +419 -0
  534. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-diff.rb +518 -0
  535. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-emacs-runner.rb +60 -0
  536. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-error.rb +26 -0
  537. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-failure.rb +33 -0
  538. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-fault-location-detector.rb +163 -0
  539. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-fixture.rb +713 -0
  540. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-notification.rb +33 -0
  541. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-omission.rb +81 -0
  542. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-pending.rb +70 -0
  543. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-priority.rb +184 -0
  544. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-case.rb +1279 -0
  545. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-result.rb +113 -0
  546. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-suite-creator.rb +97 -0
  547. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/test-test-suite.rb +151 -0
  548. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/testunit-test-util.rb +33 -0
  549. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/ui/test_testrunmediator.rb +20 -0
  550. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test-method-owner-finder.rb +38 -0
  551. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test-output.rb +11 -0
  552. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test_backtracefilter.rb +52 -0
  553. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test_observable.rb +102 -0
  554. data/vendor/bundle/ruby/2.7.0/gems/test-unit-3.3.5/test/util/test_procwrapper.rb +36 -0
  555. data/vendor/bundle/ruby/2.7.0/specifications/power_assert-1.1.7.gemspec +46 -0
  556. data/vendor/bundle/ruby/2.7.0/specifications/rake-13.0.1.gemspec +26 -0
  557. data/vendor/bundle/ruby/2.7.0/specifications/test-unit-3.3.5.gemspec +41 -0
  558. data/win32-api-1.9.1.gem +0 -0
  559. data/win32-api.gemspec +24 -28
  560. metadata +608 -44
  561. data/README +0 -103
@@ -0,0 +1,46 @@
1
+ version: '{build}'
2
+
3
+ init:
4
+ # use a minimal path
5
+ - set PATH=C:\ruby%ruby_version%\bin;C:\Program Files\7-Zip;C:\Program Files\AppVeyor\BuildAgent;C:\Program Files\Git\cmd;C:\Windows\system32
6
+ # Load ruby trunk build
7
+ - if %ruby_version%==_trunk (
8
+ appveyor DownloadFile https://ci.appveyor.com/api/projects/MSP-Greg/ruby-loco/artifacts/ruby_trunk.7z -FileName C:\ruby_trunk.7z &
9
+ 7z x C:\ruby_trunk.7z -oC:\ruby_trunk
10
+ )
11
+
12
+ platform: x64
13
+
14
+ install:
15
+ - ruby --version
16
+ - gem --version
17
+ # Assume we can use the version of bundler that Appveyor has packaged with each ruby version
18
+ - bundle install
19
+
20
+ build: off
21
+
22
+ test_script:
23
+ - rake gem:binary
24
+ - rake -rdevkit test:all
25
+
26
+ environment:
27
+ matrix:
28
+ - ruby_version: _trunk
29
+ - ruby_version: 26-x64
30
+ - ruby_version: 26
31
+ - ruby_version: 25-x64
32
+ - ruby_version: 25
33
+ - ruby_version: 24-x64
34
+ - ruby_version: 24
35
+ - ruby_version: 23-x64
36
+ - ruby_version: 23
37
+ - ruby_version: 22-x64
38
+ - ruby_version: 22
39
+ - ruby_version: 21-x64
40
+ - ruby_version: 21
41
+ - ruby_version: 200-x64
42
+ - ruby_version: 200
43
+
44
+ matrix:
45
+ allow_failures:
46
+ - ruby_version: _trunk
@@ -0,0 +1,3 @@
1
+ git clone https://github.com/cosmo0920/win32-api win32-api
2
+ cd win32-api
3
+ rake -rdevkit gem:binary
@@ -6,6 +6,10 @@
6
6
  ##########################################################################
7
7
  require 'mkmf'
8
8
 
9
+ if RbConfig::CONFIG['host_os'] =~ /mingw/
10
+ $CFLAGS << ' -fno-omit-frame-pointer'
11
+ end
12
+
9
13
  have_func('strncpy_s')
10
14
 
11
15
  create_makefile('win32/api', 'win32')
@@ -16,8 +16,34 @@
16
16
  #define RARRAY_LEN(a) (RARRAY(a)->len)
17
17
  #endif
18
18
 
19
+ /* Use Ruby defined macro definitions. */
20
+ #if !defined(NUM2SIZET) && !defined(NUM2SSIZET)
21
+ # if defined(HAVE_LONG_LONG) && SIZEOF_SIZE_T > SIZEOF_LONG
22
+ # define NUM2SIZET(x) ((size_t)NUM2ULL(x))
23
+ # define NUM2SSIZET(x) ((ssize_t)NUM2LL(x))
24
+ # else
25
+ # define NUM2SIZET(x) NUM2ULONG(x)
26
+ # define NUM2SSIZET(x) NUM2LONG(x)
27
+ # endif
28
+ #endif
29
+
30
+ /* Use Ruby defined macro definitions. */
31
+ #if !defined(SIZET2NUM) && !defined(SSIZET2NUM)
32
+ # if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG)
33
+ # define SIZET2NUM(v) ULL2NUM(v)
34
+ # define SSIZET2NUM(v) LL2NUM(v)
35
+ # elif SIZEOF_SIZE_T == SIZEOF_LONG
36
+ # define SIZET2NUM(v) ULONG2NUM(v)
37
+ # define SSIZET2NUM(v) LONG2NUM(v)
38
+ # else
39
+ # define SIZET2NUM(v) UINT2NUM(v)
40
+ # define SSIZET2NUM(v) INT2NUM(v)
41
+ # endif
42
+ #endif
43
+
44
+
19
45
  #define MAX_BUF 1024
20
- #define WINDOWS_API_VERSION "1.4.5"
46
+ #define WINDOWS_API_VERSION "1.9.2"
21
47
 
22
48
  #define _T_VOID 0
23
49
  #define _T_LONG 1
@@ -46,6 +72,7 @@ static void api_free(Win32API* ptr){
46
72
 
47
73
  static VALUE api_allocate(VALUE klass){
48
74
  Win32API* ptr = malloc(sizeof(Win32API));
75
+ memset(ptr, 0, sizeof(*ptr));
49
76
  return Data_Wrap_Struct(klass, 0, api_free, ptr);
50
77
  }
51
78
 
@@ -56,61 +83,64 @@ static VALUE api_allocate(VALUE klass){
56
83
  * Internal use only.
57
84
  */
58
85
  char* StringError(DWORD dwError){
59
- LPVOID lpMsgBuf;
60
- static char buf[MAX_PATH];
61
- DWORD dwLen;
62
-
63
- // Assume ASCII error messages from the Windows API
64
- dwLen = FormatMessageA(
86
+ LPVOID lpMsgBuf;
87
+ static char buf[MAX_PATH];
88
+ DWORD dwLen, dwLastError;
89
+
90
+ // Assume ASCII (English) error messages from the Windows API
91
+ dwLen = FormatMessageA(
92
+ FORMAT_MESSAGE_ALLOCATE_BUFFER |
93
+ FORMAT_MESSAGE_FROM_SYSTEM |
94
+ FORMAT_MESSAGE_IGNORE_INSERTS,
95
+ NULL,
96
+ dwError,
97
+ MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
98
+ (LPSTR)&lpMsgBuf,
99
+ 0,
100
+ NULL
101
+ );
102
+
103
+ dwLastError = GetLastError();
104
+
105
+ /* It appears that Windows doesn't necessarily ship with the DLL
106
+ * required to always use English error messages. Check for error
107
+ * ERROR_MUI_FILE_NOT_FOUND (15100) or ERROR_RESOURCE_LANG_NOT_FOUND (1815)
108
+ * and try again if necessary.
109
+ */
110
+ if(!dwLen && (dwLastError == 15100 || dwLastError == 1815)){
111
+ dwLen = FormatMessageA(
65
112
  FORMAT_MESSAGE_ALLOCATE_BUFFER |
66
113
  FORMAT_MESSAGE_FROM_SYSTEM |
67
114
  FORMAT_MESSAGE_IGNORE_INSERTS,
68
115
  NULL,
69
116
  dwError,
70
- MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US),
117
+ 0,
71
118
  (LPSTR)&lpMsgBuf,
72
119
  0,
73
120
  NULL
74
- );
121
+ );
122
+ }
75
123
 
76
- /* It appears that Windows doesn't necessarily ship with the DLL
77
- * required to always use English error messages. Check for error
78
- * ERROR_MUI_FILE_NOT_FOUND (15100), and try again if necessary.
79
- */
80
- if(!dwLen && GetLastError() == 15100){
81
- dwLen = FormatMessageA(
82
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
83
- FORMAT_MESSAGE_FROM_SYSTEM |
84
- FORMAT_MESSAGE_IGNORE_INSERTS,
85
- NULL,
86
- dwError,
87
- 0,
88
- (LPSTR)&lpMsgBuf,
89
- 0,
90
- NULL
91
- );
92
- }
124
+ if(!dwLen){
125
+ rb_raise(
126
+ cAPIError,
127
+ "Attempt to format message failed (error = '%lu')",
128
+ GetLastError()
129
+ );
130
+ }
93
131
 
94
- if(!dwLen){
95
- rb_raise(
96
- cAPIError,
97
- "Attempt to format message failed (error = '%d')",
98
- GetLastError()
99
- );
100
- }
101
-
102
- memset(buf, 0, MAX_PATH);
132
+ memset(buf, 0, MAX_PATH);
103
133
 
104
- /* remove \r\n */
134
+ // Remove \r\n at end of string.
105
135
  #ifdef HAVE_STRNCPY_S
106
- strncpy_s(buf, MAX_PATH, lpMsgBuf, dwLen - 2);
136
+ strncpy_s(buf, MAX_PATH, lpMsgBuf, dwLen - 2);
107
137
  #else
108
- strncpy(buf, lpMsgBuf, dwLen - 2);
138
+ strncpy(buf, lpMsgBuf, dwLen - 2);
109
139
  #endif
110
140
 
111
- LocalFree(lpMsgBuf);
141
+ LocalFree(lpMsgBuf);
112
142
 
113
- return buf;
143
+ return buf;
114
144
  }
115
145
 
116
146
  /*
@@ -170,7 +200,7 @@ static VALUE callback_init(int argc, VALUE* argv, VALUE self)
170
200
  v_return = rb_str_new2("L");
171
201
  }
172
202
  else{
173
- switch(*(char*)RSTRING_PTR(v_return)){
203
+ switch(*(TCHAR*)RSTRING_PTR(v_return)){
174
204
  case 'I': case 'L': case 'P': case 'V': case 'S':
175
205
  break;
176
206
  default:
@@ -183,7 +213,7 @@ static VALUE callback_init(int argc, VALUE* argv, VALUE self)
183
213
  rb_iv_set(self, "@function", v_proc);
184
214
  rb_iv_set(self, "@prototype", v_proto);
185
215
  rb_iv_set(self, "@return_type", v_return);
186
- rb_iv_set(self, "@address", ULONG2NUM((LPARAM)find_callback(self,RSTRING_LEN(v_proto))));
216
+ rb_iv_set(self, "@address", SIZET2NUM((LPARAM)find_callback(self,RSTRING_LEN(v_proto))));
187
217
  ActiveCallback = self;
188
218
 
189
219
  return self;
@@ -234,8 +264,8 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
234
264
  FARPROC fProc;
235
265
  Win32API* ptr;
236
266
  int i;
237
- char* first = "A";
238
- char* second = "W";
267
+ const char* first = "A";
268
+ const char* second = "W";
239
269
  VALUE v_proc, v_proto, v_return, v_dll;
240
270
 
241
271
  rb_scan_args(argc, argv, "13", &v_proc, &v_proto, &v_return, &v_dll);
@@ -253,8 +283,8 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
253
283
  }
254
284
 
255
285
  // Set an arbitrary limit of 20 parameters
256
- if(20 < RARRAY_LEN(v_proto))
257
- rb_raise(rb_eArgError, "too many parameters: %d\n", RARRAY_LEN(v_proto));
286
+ if(RARRAY_LEN(v_proto) > 20)
287
+ rb_raise(rb_eArgError, "too many parameters: %ld", RARRAY_LEN(v_proto));
258
288
 
259
289
  // Set the default dll to 'kernel32'
260
290
  if(NIL_P(v_dll))
@@ -264,8 +294,10 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
264
294
  if(NIL_P(v_return))
265
295
  v_return = rb_str_new2("L");
266
296
 
297
+ #if defined TAINTING_SUPPORT
267
298
  SafeStringValue(v_dll);
268
299
  SafeStringValue(v_proc);
300
+ #endif
269
301
 
270
302
  hLibrary = LoadLibrary(TEXT(RSTRING_PTR(v_dll)));
271
303
 
@@ -332,8 +364,10 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
332
364
  // Push the numeric prototypes onto our int array for later use.
333
365
 
334
366
  for(i = 0; i < RARRAY_LEN(v_proto); i++){
367
+ #if defined TAINTING_SUPPORT
335
368
  SafeStringValue(RARRAY_PTR(v_proto)[i]);
336
- switch(*(char*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
369
+ #endif
370
+ switch(*(TCHAR*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
337
371
  case 'L':
338
372
  ptr->prototype[i] = _T_LONG;
339
373
  break;
@@ -367,7 +401,9 @@ static VALUE api_init(int argc, VALUE* argv, VALUE self)
367
401
  ptr->return_type = _T_VOID;
368
402
  }
369
403
  else{
404
+ #if defined TAINTING_SUPPORT
370
405
  SafeStringValue(v_return);
406
+ #endif
371
407
  switch(*RSTRING_PTR(v_return)){
372
408
  case 'L':
373
409
  ptr->return_type = _T_LONG;
@@ -447,18 +483,20 @@ static VALUE func_init(int argc, VALUE* argv, VALUE self){
447
483
 
448
484
  // Set an arbitrary limit of 20 parameters
449
485
  if(20 < RARRAY_LEN(v_proto))
450
- rb_raise(rb_eArgError, "too many parameters: %d\n", RARRAY_LEN(v_proto));
486
+ rb_raise(rb_eArgError, "too many parameters: %li\n", RARRAY_LEN(v_proto));
451
487
 
452
488
  // Set the default return type to 'L' (DWORD)
453
489
  if(NIL_P(v_return))
454
490
  v_return = rb_str_new2("L");
455
491
 
456
- ptr->function = (FARPROC)NUM2LONG(v_address);
492
+ ptr->function = (FARPROC)NUM2SIZET(v_address);
457
493
 
458
494
  // Push the numeric prototypes onto our int array for later use.
459
495
 
460
496
  for(i = 0; i < RARRAY_LEN(v_proto); i++){
497
+ #if defined TAINTING_SUPPORT
461
498
  SafeStringValue(RARRAY_PTR(v_proto)[i]);
499
+ #endif
462
500
  switch(*(char*)StringValuePtr(RARRAY_PTR(v_proto)[i])){
463
501
  case 'L':
464
502
  ptr->prototype[i] = _T_LONG;
@@ -493,7 +531,9 @@ static VALUE func_init(int argc, VALUE* argv, VALUE self){
493
531
  ptr->return_type = _T_VOID;
494
532
  }
495
533
  else{
534
+ #if defined TAINTING_SUPPORT
496
535
  SafeStringValue(v_return);
536
+ #endif
497
537
  switch(*RSTRING_PTR(v_return)){
498
538
  case 'L':
499
539
  ptr->return_type = _T_LONG;
@@ -525,134 +565,132 @@ static VALUE func_init(int argc, VALUE* argv, VALUE self){
525
565
  }
526
566
 
527
567
  typedef struct {
528
- DWORD params[20];
568
+ uintptr_t params[20];
529
569
  } CALLPARAM;
530
570
 
531
571
 
532
- DWORD CallbackFunction(CALLPARAM param,VALUE callback)
572
+ DWORD CallbackFunction(CALLPARAM param, VALUE callback)
533
573
  {
534
- VALUE v_proto, v_return, v_proc, v_retval;
535
- VALUE argv[20];
536
- int i, argc;
537
- char *a_proto;
538
- char *a_return;
539
-
540
- if(callback && !NIL_P(callback)){
541
- v_proto = rb_iv_get(callback, "@prototype");
542
- a_proto = RSTRING_PTR(v_proto);
543
-
544
- v_return = rb_iv_get(callback, "@return_type");
545
- a_return = RSTRING_PTR(v_return);
546
-
547
- v_proc = rb_iv_get(callback, "@function");
548
- argc = RSTRING_LEN(v_proto);
549
-
550
- for(i=0; i < RSTRING_LEN(v_proto); i++){
551
- argv[i] = Qnil;
552
- switch(a_proto[i]){
553
- case 'L':
554
- argv[i] = ULONG2NUM(param.params[i]);
555
- break;
556
- case 'P':
557
- if(param.params[i])
558
- argv[i] = rb_str_new2((char *)param.params[i]);
559
- break;
560
- case 'I':
561
- argv[i] = INT2NUM(param.params[i]);
562
- break;
563
- default:
564
- rb_raise(cAPIProtoError, "Illegal prototype '%s'",
565
- RSTRING_PTR(a_proto[i])
566
- );
567
- }
568
- }
574
+ VALUE v_proto, v_return, v_proc, v_retval;
575
+ VALUE argv[20];
576
+ int i, argc;
577
+ char *a_proto;
578
+ char *a_return;
579
+
580
+ if(callback && !NIL_P(callback)){
581
+ v_proto = rb_iv_get(callback, "@prototype");
582
+ a_proto = RSTRING_PTR(v_proto);
583
+
584
+ v_return = rb_iv_get(callback, "@return_type");
585
+ a_return = RSTRING_PTR(v_return);
586
+
587
+ v_proc = rb_iv_get(callback, "@function");
588
+ argc = RSTRING_LEN(v_proto);
589
+
590
+ for(i=0; i < RSTRING_LEN(v_proto); i++){
591
+ argv[i] = Qnil;
592
+ switch(a_proto[i]){
593
+ case 'L':
594
+ argv[i] = SIZET2NUM(param.params[i]);
595
+ break;
596
+ case 'P':
597
+ if(param.params[i])
598
+ argv[i] = rb_str_new2((char *)param.params[i]);
599
+ break;
600
+ case 'I':
601
+ argv[i] = INT2NUM(param.params[i]);
602
+ break;
603
+ default:
604
+ rb_raise(cAPIProtoError, "Illegal prototype '%c'", a_proto[i]);
605
+ }
606
+ }
569
607
 
570
- v_retval = rb_funcall2(v_proc, rb_intern("call"), argc, argv);
571
-
572
- /* Handle true and false explicitly, as some CALLBACK functions
573
- * require TRUE or FALSE to break out of loops, etc.
574
- */
575
- if(v_retval == Qtrue)
576
- return TRUE;
577
- else if(v_retval == Qfalse)
578
- return FALSE;
579
-
580
- switch (*a_return) {
581
- case 'I':
582
- return NUM2INT(v_retval);
583
- break;
584
- case 'L':
585
- return NUM2ULONG(v_retval);
586
- break;
587
- case 'S':
588
- return (unsigned long)RSTRING_PTR(v_retval);
589
- break;
590
- case 'P':
591
- if(NIL_P(v_retval)){
592
- return 0;
593
- }
594
- else if(FIXNUM_P(v_retval)){
595
- return NUM2ULONG(v_retval);
596
- }
597
- else{
598
- StringValue(v_retval);
599
- rb_str_modify(v_retval);
600
- return (unsigned long)StringValuePtr(v_retval);
601
- }
602
- break;
608
+ v_retval = rb_funcall2(v_proc, rb_intern("call"), argc, argv);
609
+
610
+ /* Handle true and false explicitly, as some CALLBACK functions
611
+ * require TRUE or FALSE to break out of loops, etc.
612
+ */
613
+ if(v_retval == Qtrue)
614
+ return TRUE;
615
+ else if(v_retval == Qfalse)
616
+ return FALSE;
617
+
618
+ switch (*a_return) {
619
+ case 'I':
620
+ return NUM2INT(v_retval);
621
+ break;
622
+ case 'L':
623
+ return NUM2SIZET(v_retval);
624
+ break;
625
+ case 'S':
626
+ return (uintptr_t)RSTRING_PTR(v_retval);
627
+ break;
628
+ case 'P':
629
+ if(NIL_P(v_retval)){
630
+ return 0;
631
+ }
632
+ else if(FIXNUM_P(v_retval)){
633
+ return NUM2SIZET(v_retval);
603
634
  }
635
+ else{
636
+ StringValue(v_retval);
637
+ rb_str_modify(v_retval);
638
+ return (uintptr_t)StringValuePtr(v_retval);
639
+ }
640
+ break;
604
641
  }
642
+ }
605
643
 
606
- return 0;
644
+ return 0;
607
645
  }
608
646
 
609
647
  #define CALLBACK0(x) DWORD CALLBACK CallbackFunction0_##x() {\
610
- CALLPARAM param = {0};\
648
+ CALLPARAM param = {{0}};\
611
649
  param.params[0] = 0;\
612
650
  return CallbackFunction(param,FuncTable[0][x]);\
613
651
  }
614
652
 
615
653
  #define CALLBACK1(x) DWORD CALLBACK CallbackFunction1_##x(DWORD p1) {\
616
- CALLPARAM param = {p1};\
654
+ CALLPARAM param = {{p1}};\
617
655
  return CallbackFunction(param,FuncTable[1][x]);\
618
656
  }
619
657
 
620
658
  #define CALLBACK2(x) DWORD CALLBACK CallbackFunction2_##x(\
621
659
  DWORD p1, DWORD p2){\
622
- CALLPARAM param = {p1,p2};\
660
+ CALLPARAM param = {{p1,p2}};\
623
661
  return CallbackFunction(param,FuncTable[2][x]);\
624
662
  }
625
663
 
626
664
  #define CALLBACK3(x) DWORD CALLBACK CallbackFunction3_##x(\
627
665
  DWORD p1, DWORD p2, DWORD p3){\
628
- CALLPARAM param = {p1,p2,p3};\
666
+ CALLPARAM param = {{p1,p2,p3}};\
629
667
  return CallbackFunction(param,FuncTable[3][x]);\
630
668
  }
631
669
 
632
670
  #define CALLBACK4(x) DWORD CALLBACK CallbackFunction4_##x(\
633
671
  DWORD p1, DWORD p2, DWORD p3, DWORD p4){\
634
- CALLPARAM param = {p1,p2,p3,p4};\
672
+ CALLPARAM param = {{p1,p2,p3,p4}};\
635
673
  return CallbackFunction(param,FuncTable[4][x]);\
636
674
  }
637
675
 
638
676
  #define CALLBACK5(x) DWORD CALLBACK CallbackFunction5_##x(\
639
677
  DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5\
640
678
  ){\
641
- CALLPARAM param = {p1,p2,p3,p4,p5};\
679
+ CALLPARAM param = {{p1,p2,p3,p4,p5}};\
642
680
  return CallbackFunction(param,FuncTable[5][x]);\
643
681
  }
644
682
 
645
683
  #define CALLBACK6(x) DWORD CALLBACK CallbackFunction6_##x(\
646
684
  DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5, DWORD p6\
647
685
  ){\
648
- CALLPARAM param = {p1,p2,p3,p4,p5,p6};\
686
+ CALLPARAM param = {{p1,p2,p3,p4,p5,p6}};\
649
687
  return CallbackFunction(param,FuncTable[6][x]);\
650
688
  }
651
689
 
652
690
  #define CALLBACK7(x) DWORD CALLBACK CallbackFunction7_##x(\
653
691
  DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5, DWORD p6, DWORD p7\
654
692
  ){\
655
- CALLPARAM param = {p1,p2,p3,p4,p5,p6,p7};\
693
+ CALLPARAM param = {{p1,p2,p3,p4,p5,p6,p7}};\
656
694
  return CallbackFunction(param,FuncTable[7][x]);\
657
695
  }
658
696
 
@@ -660,7 +698,7 @@ DWORD p1, DWORD p2, DWORD p3, DWORD p4){\
660
698
  DWORD p1, DWORD p2, DWORD p3, DWORD p4,\
661
699
  DWORD p5, DWORD p6, DWORD p7, DWORD p8\
662
700
  ){\
663
- CALLPARAM param = {p1,p2,p3,p4,p5,p6,p7,p8};\
701
+ CALLPARAM param = {{p1,p2,p3,p4,p5,p6,p7,p8}};\
664
702
  return CallbackFunction(param,FuncTable[8][x]);\
665
703
  }
666
704
 
@@ -668,7 +706,7 @@ DWORD p1, DWORD p2, DWORD p3, DWORD p4){\
668
706
  DWORD p1, DWORD p2, DWORD p3, DWORD p4, DWORD p5,\
669
707
  DWORD p6, DWORD p7, DWORD p8, DWORD p9\
670
708
  ){\
671
- CALLPARAM param = {p1,p2,p3,p4,p5,p6,p7,p8,p9};\
709
+ CALLPARAM param = {{p1,p2,p3,p4,p5,p6,p7,p8,p9}};\
672
710
  return CallbackFunction(param,FuncTable[9][x]);\
673
711
  }
674
712
 
@@ -740,12 +778,12 @@ void *find_callback(VALUE obj,int len)
740
778
  static VALUE api_call(int argc, VALUE* argv, VALUE self){
741
779
  VALUE v_proto, v_args, v_arg, v_return;
742
780
  Win32API* ptr;
743
- unsigned long return_value;
781
+ uintptr_t return_value;
744
782
  int i = 0;
745
783
  int len;
746
784
 
747
785
  struct{
748
- unsigned long params[20];
786
+ uintptr_t params[20];
749
787
  } param;
750
788
 
751
789
  Data_Get_Struct(self, Win32API, ptr);
@@ -762,7 +800,7 @@ static VALUE api_call(int argc, VALUE* argv, VALUE self){
762
800
  }
763
801
  else{
764
802
  rb_raise(rb_eArgError,
765
- "wrong number of parameters: expected %d, got %d",
803
+ "wrong number of parameters: expected %ld, got %ld",
766
804
  RARRAY_LEN(v_proto), RARRAY_LEN(v_args)
767
805
  );
768
806
  }
@@ -775,7 +813,7 @@ static VALUE api_call(int argc, VALUE* argv, VALUE self){
775
813
 
776
814
  // Convert nil to NULL. Otherwise convert as appropriate.
777
815
  if(NIL_P(v_arg))
778
- param.params[i] = (unsigned long)NULL;
816
+ param.params[i] = (uintptr_t)NULL;
779
817
  else if(v_arg == Qtrue)
780
818
  param.params[i] = TRUE;
781
819
  else if(v_arg == Qfalse)
@@ -783,37 +821,159 @@ static VALUE api_call(int argc, VALUE* argv, VALUE self){
783
821
  else
784
822
  switch(ptr->prototype[i]){
785
823
  case _T_LONG:
786
- param.params[i] = NUM2ULONG(v_arg);
824
+ param.params[i] = NUM2SIZET(v_arg);
787
825
  break;
788
826
  case _T_INTEGER:
789
827
  param.params[i] = NUM2INT(v_arg);
790
828
  break;
791
829
  case _T_POINTER:
792
830
  if(FIXNUM_P(v_arg)){
793
- param.params[i] = NUM2ULONG(v_arg);
831
+ param.params[i] = NUM2SIZET(v_arg);
794
832
  }
795
833
  else{
796
834
  StringValue(v_arg);
797
835
  rb_str_modify(v_arg);
798
- param.params[i] = (unsigned long)StringValuePtr(v_arg);
836
+ param.params[i] = (uintptr_t)StringValuePtr(v_arg);
799
837
  }
800
838
  break;
801
839
  case _T_CALLBACK:
802
840
  ActiveCallback = v_arg;
803
- v_proto = rb_iv_get(ActiveCallback, "@prototype");
804
- param.params[i] = (LPARAM)NUM2ULONG(rb_iv_get(ActiveCallback, "@address"));;
841
+ param.params[i] = (LPARAM)NUM2SIZET(rb_iv_get(ActiveCallback, "@address"));;
805
842
  break;
806
843
  case _T_STRING:
807
- param.params[i] = (unsigned long)RSTRING_PTR(v_arg);
844
+ param.params[i] = (uintptr_t)RSTRING_PTR(v_arg);
808
845
  break;
809
846
  default:
810
- param.params[i] = NUM2ULONG(v_arg);
847
+ param.params[i] = NUM2SIZET(v_arg);
811
848
  }
812
849
  }
813
850
 
814
851
  /* Call the function, get the return value */
815
- return_value = ptr->function(param);
816
-
852
+ if(strcmp(StringValuePtr(RARRAY_PTR(v_proto)[0]), "V") == 0 && len == 1)
853
+ {
854
+ return_value = ptr->function();
855
+ }
856
+ else
857
+ {
858
+ switch(len)
859
+ {
860
+ case 0:
861
+ return_value = ptr->function();
862
+ break;
863
+ case 1:
864
+ return_value = ptr->function(param.params[0]);
865
+ break;
866
+ case 2:
867
+ return_value = ptr->function(param.params[0], param.params[1]);
868
+ break;
869
+ case 3:
870
+ return_value = ptr->function(param.params[0], param.params[1],
871
+ param.params[2]);
872
+ break;
873
+ case 4:
874
+ return_value = ptr->function(param.params[0], param.params[1],
875
+ param.params[2], param.params[3]);
876
+ break;
877
+ case 5:
878
+ return_value = ptr->function(param.params[0], param.params[1],
879
+ param.params[2], param.params[3], param.params[4]);
880
+ break;
881
+ case 6:
882
+ return_value = ptr->function(param.params[0], param.params[1],
883
+ param.params[2], param.params[3], param.params[4], param.params[5]);
884
+ break;
885
+ case 7:
886
+ return_value = ptr->function(param.params[0], param.params[1],
887
+ param.params[2], param.params[3], param.params[4], param.params[5],
888
+ param.params[6]);
889
+ break;
890
+ case 8:
891
+ return_value = ptr->function(param.params[0], param.params[1],
892
+ param.params[2], param.params[3], param.params[4], param.params[5],
893
+ param.params[6], param.params[7]);
894
+ break;
895
+ case 9:
896
+ return_value = ptr->function(param.params[0], param.params[1],
897
+ param.params[2], param.params[3], param.params[4], param.params[5],
898
+ param.params[6], param.params[7], param.params[8]);
899
+ break;
900
+ case 10:
901
+ return_value = ptr->function(param.params[0], param.params[1],
902
+ param.params[2], param.params[3], param.params[4], param.params[5],
903
+ param.params[6], param.params[7], param.params[8], param.params[9]);
904
+ break;
905
+ case 11:
906
+ return_value = ptr->function(param.params[0], param.params[1],
907
+ param.params[2], param.params[3], param.params[4], param.params[5],
908
+ param.params[6], param.params[7], param.params[8], param.params[9],
909
+ param.params[10]);
910
+ break;
911
+ case 12:
912
+ return_value = ptr->function(param.params[0], param.params[1],
913
+ param.params[2], param.params[3], param.params[4], param.params[5],
914
+ param.params[6], param.params[7], param.params[8], param.params[9],
915
+ param.params[10], param.params[11]);
916
+ break;
917
+ case 13:
918
+ return_value = ptr->function(param.params[0], param.params[1],
919
+ param.params[2], param.params[3], param.params[4], param.params[5],
920
+ param.params[6], param.params[7], param.params[8], param.params[9],
921
+ param.params[10], param.params[11], param.params[12]);
922
+ break;
923
+ case 14:
924
+ return_value = ptr->function(param.params[0], param.params[1],
925
+ param.params[2], param.params[3], param.params[4], param.params[5],
926
+ param.params[6], param.params[7], param.params[8], param.params[9],
927
+ param.params[10], param.params[11], param.params[12], param.params[13]);
928
+ break;
929
+ case 15:
930
+ return_value = ptr->function(param.params[0], param.params[1],
931
+ param.params[2], param.params[3], param.params[4], param.params[5],
932
+ param.params[6], param.params[7], param.params[8], param.params[9],
933
+ param.params[10], param.params[11], param.params[12], param.params[13],
934
+ param.params[14]);
935
+ break;
936
+ case 16:
937
+ return_value = ptr->function(param.params[0], param.params[1],
938
+ param.params[2], param.params[3], param.params[4], param.params[5],
939
+ param.params[6], param.params[7], param.params[8], param.params[9],
940
+ param.params[10], param.params[11], param.params[12], param.params[13],
941
+ param.params[14], param.params[15]);
942
+ break;
943
+ case 17:
944
+ return_value = ptr->function(param.params[0], param.params[1],
945
+ param.params[2], param.params[3], param.params[4], param.params[5],
946
+ param.params[6], param.params[7], param.params[8], param.params[9],
947
+ param.params[10], param.params[11], param.params[12], param.params[13],
948
+ param.params[14], param.params[15], param.params[16]);
949
+ break;
950
+ case 18:
951
+ return_value = ptr->function(param.params[0], param.params[1],
952
+ param.params[2], param.params[3], param.params[4], param.params[5],
953
+ param.params[6], param.params[7], param.params[8], param.params[9],
954
+ param.params[10], param.params[11], param.params[12], param.params[13],
955
+ param.params[14], param.params[15], param.params[16], param.params[17]);
956
+ break;
957
+ case 19:
958
+ return_value = ptr->function(param.params[0], param.params[1],
959
+ param.params[2], param.params[3], param.params[4], param.params[5],
960
+ param.params[6], param.params[7], param.params[8], param.params[9],
961
+ param.params[10], param.params[11], param.params[12], param.params[13],
962
+ param.params[14], param.params[15], param.params[16], param.params[17],
963
+ param.params[18]);
964
+ break;
965
+ case 20:
966
+ return_value = ptr->function(param.params[0], param.params[1],
967
+ param.params[2], param.params[3], param.params[4], param.params[5],
968
+ param.params[6], param.params[7], param.params[8], param.params[9],
969
+ param.params[10], param.params[11], param.params[12], param.params[13],
970
+ param.params[14], param.params[15], param.params[16], param.params[17],
971
+ param.params[18], param.params[19]);
972
+ break;
973
+ default:
974
+ rb_raise(rb_eArgError,"number of parameters exceed 20!");
975
+ }
976
+ }
817
977
 
818
978
  /* Return the appropriate type based on the return type specified
819
979
  * in the constructor.
@@ -823,7 +983,7 @@ static VALUE api_call(int argc, VALUE* argv, VALUE self){
823
983
  v_return = INT2NUM(return_value);
824
984
  break;
825
985
  case _T_LONG:
826
- v_return = ULONG2NUM(return_value);
986
+ v_return = SIZET2NUM(return_value);
827
987
  break;
828
988
  case _T_VOID:
829
989
  v_return = Qnil;
@@ -943,6 +1103,6 @@ void Init_api(){
943
1103
 
944
1104
  /* Constants */
945
1105
 
946
- /* 1.4.5: The version of the win32-api library */
1106
+ /* 1.6.0: The version of the win32-api library */
947
1107
  rb_define_const(cAPI, "VERSION", rb_str_new2(WINDOWS_API_VERSION));
948
1108
  }