From 88aea3ae66ad676ef3f97af62c952424c47bd15a Mon Sep 17 00:00:00 2001 From: Tobias Kronthaler Date: Sat, 26 Dec 2020 12:31:39 +0100 Subject: [PATCH] Fix some issues in check_cpy --- src/methods.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/methods.rb b/src/methods.rb index 7951d42..a53e6b4 100644 --- a/src/methods.rb +++ b/src/methods.rb @@ -9,7 +9,7 @@ require "./src/extract-polyglot" require "./src/extract-zlib" require 'digest/md5' -hash = {} +hashm = Hash.new module VBiosFinder class Main @extractions = [] @@ -93,14 +93,17 @@ def self.run file -def check_cpy(new_filename,romdata) +define_method (:check_cpy) do |new_filename,romdata| count = 0 Dir.glob('**/*',File::FNM_DOTMATCH).each do |f| + if File.directory?(f) + next + end key = Digest::MD5.hexdigest(IO.read(f)).to_sym - if hash.has_key?(key) then hash[key].push(f) else hash[key] = [f] end + if hashm.has_key?(key) then hashm[key].push(f) else hashm[key] = [f] end end - hash.each_value do |a| + hashm.each_value do |a| next if a.length == 1 count+= 1 new_filename = "vbios_#{romdata['vendor']}_#{romdata['device']}_#{count}.rom"