# based in part on: https://www.klayout.de/forum/discussion/173/use-klayout-in-batch-mode
$errs = 0
ly = RBA::Layout.new
source($input, $top_cell_name)
ly.read($input)
report("zero area check", $report)
ly.layer_indices.each { |li|
  ly.each_cell { |cell|
    cell.shapes(li).each { |shape|
      # TODO: must we check that shape is one of: box, polygon, path? What happens to text?
      if shape.is_valid? && (!shape.is_null?) &&
          (shape.is_box? || shape.is_path? || shape.is_polygon?) &&
          shape.area == 0
        $errs += 1
        polygons().insert(shape.dpolygon).output("zero_area_shape")
        if $cleaned_output
          shape.delete
        end
      end
    }
  }
}
puts "#{$errs} zero-area shapes"
if $cleaned_output
  puts "writing to #{$cleaned_output}"
  ly.write($cleaned_output)
end
# if we roll-over to 256, exit-status seen by shell is zero.
# uncaught I/O errors will yield (built-in) exit status of 1.
if $errs > 0
  $errs = $errs + 1
end
if $errs > 127
  $errs = 127
end
# experimental: report own peak process-stats. BUT: output-file isn't really written
# until we exit (during exit). So these results are not 100% accurate.
# VmHWM: max-resident-size, VmPeak: max virtual-size.
# don't need: pid=Process.pid
if   File.readable?("/proc/self/status")
  puts File.foreach("/proc/self/status").grep(/^(VmPeak|VmHWM)/)
end
# does not work (to set exit-status) in 0.23.11. Does work in 0.24.2, 0.27.
exit $errs
