Codebase list ruby-debian / c5e7730
more file leaks fixed Ryan Niebur 14 years ago
1 changed file(s) with 17 addition(s) and 13 deletion(s). Raw diff Collapse all Expand all
518518 Debian::Utils.gunzip(ctz) {|ct|
519519 Debian::Utils.tar(ct, op, *pat) {|fp|
520520 if block_given?
521 return yield(fp)
521 ct.close
522 retval = yield(fp)
523 fp.close
524 return retval
522525 else
526 ct.close
523527 return fp
524528 end
525529 }
530534 def control_fp(op, *pat)
531535 deb_fp("control.tar.gz", op, *pat) {|fp|
532536 if block_given?
533 return yield(fp)
537 yield(fp)
534538 else
535 return fp
539 fp
536540 end
537541 }
538542 end
539543 def data_fp(op, *pat)
540544 deb_fp("data.tar.gz", op, *pat) {|fp|
541545 if block_given?
542 return yield(fp)
546 yield(fp)
543547 else
544 return fp
548 fp
545549 end
546550 }
547551 end
574578 end
575579 control_fp(Debian::Utils::TAR_EXTRACT, "*/#{cfile}") {|fp|
576580 if block_given?
577 return yield(fp)
581 yield(fp)
578582 else
579 return fp
583 fp
580584 end
581585 }
582586 end
583587 def controlData(cfile = "control")
584 controlFile(cfile) {|fp| return fp.readlines.join("") }
588 controlFile(cfile) {|fp| fp.readlines.join("") }
585589 end
586590 def dataFile(fname)
587591 if /^\.\// =~ fname
592596 end
593597 data_fp(Debian::Utils::TAR_EXTRACT, pat) {|fp|
594598 if block_given?
595 return yield(fp)
599 yield(fp)
596600 else
597 return fp
601 fp
598602 end
599603 }
600604 end
601605 def dataData(fname)
602 dataFile(fname) {|fp| return fp.readlines.join("") }
606 dataFile(fname) {|fp| fp.readlines.join("") }
603607 end
604608 def sys_tarfile
605609 unless @filename || @artab
608612 @artab.open("data.tar.gz") {|dtz|
609613 Debian::Utils.gunzip(dtz) {|dt|
610614 if block_given?
611 return yield(dt)
615 yield(dt)
612616 else
613 return dt
617 dt
614618 end
615619 }
616620 }