use builtin methods
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e83f415139
commit
81768d1da5
|
@ -1,33 +1,12 @@
|
|||
|
||||
def uniq(data)
|
||||
last=nil
|
||||
data.delete_if do |name|
|
||||
if last == name
|
||||
TRUE
|
||||
else
|
||||
last = name
|
||||
FALSE
|
||||
end
|
||||
data = []
|
||||
IO.foreach("|/usr/ccs/bin/nm -p #{ARGV[0]}") do |line|
|
||||
line = line.split
|
||||
case line[1]
|
||||
when "B", "D"
|
||||
data << line[0]
|
||||
end
|
||||
end
|
||||
|
||||
def extract(nm, out)
|
||||
data = nm.readlines.collect{|line|
|
||||
line = line.split
|
||||
case line[1]
|
||||
when "B", "D"
|
||||
line[0]
|
||||
else
|
||||
next
|
||||
end
|
||||
}.compact!.sort!
|
||||
uniq(data)
|
||||
exp = open(out, "w")
|
||||
exp.printf "#!\n"
|
||||
for line in data
|
||||
exp.printf "%s\n", line
|
||||
end
|
||||
exp.close
|
||||
nm.close
|
||||
end
|
||||
extract(open("|/usr/ccs/bin/nm -p ../libruby.a"), "../ruby.imp")
|
||||
data.uniq!
|
||||
data.sort!
|
||||
open(ARGV[1], "w") {|exp| exp.puts "#!", data}
|
||||
|
|
Loading…
Reference in New Issue