[47818] contrib/port_cutleaves/port_cutleaves

perry at macports.org perry at macports.org
Sat Mar 7 02:28:53 PST 2009


Revision: 47818
          http://trac.macports.org/changeset/47818
Author:   perry at macports.org
Date:     2009-03-07 02:28:53 -0800 (Sat, 07 Mar 2009)
Log Message:
-----------
contrib/port_cutleaves - Only read the exclusions file once.

Modified Paths:
--------------
    contrib/port_cutleaves/port_cutleaves

Modified: contrib/port_cutleaves/port_cutleaves
===================================================================
--- contrib/port_cutleaves/port_cutleaves	2009-03-07 10:23:54 UTC (rev 47817)
+++ contrib/port_cutleaves/port_cutleaves	2009-03-07 10:28:53 UTC (rev 47818)
@@ -36,8 +36,8 @@
     }
 
     set current_leaf    1
+    set flush_now       0
     set to_uninstall    {}
-    set flush_now 0
 
     foreach leaf $to_process {
         set composite_version   [composite_version $leaf]
@@ -119,23 +119,27 @@
 }
 
 proc exclusions {file} {
-    if {![file exists $file]} {
-        return -code error "'$file' does not exist."
-    } elseif {[catch {set exclusions_file [open $file]} result]} {
-        return -code error $result
-    }
+    global cached_exclusions
 
-    set exclusions {}
-    foreach line [split [read -nonewline $exclusions_file] \n] {
-        switch -regexp $line {
-            {^\s*#} -
-            {^$}    {}
-            default { lappend exclusions $line }
+    if {![info exists cached_exclusions]} {
+        if {![file exists $file]} {
+            return -code error "'$file' does not exist."
+        } elseif {[catch {set exclusions_file [open $file]} result]} {
+            return -code error $result
         }
+
+        set cached_exclusions {}
+        foreach line [split [read -nonewline $exclusions_file] \n] {
+            switch -regexp $line {
+                {^\s*#} -
+                {^$}    {}
+                default { lappend cached_exclusions $line }
+            }
+        }
+        close $exclusions_file
     }
 
-    close $exclusions_file
-    return $exclusions
+    return $cached_exclusions
 }
 
 proc full_name {port} {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090307/433949f9/attachment.html>


More information about the macports-changes mailing list