[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/6] osstest: introduce a helper to create a weblink to a directory
Roger Pau Monne writes ("[Xen-devel] [PATCH 2/6] osstest: introduce a helper to create a weblink to a directory"): > +sub create_weblink ($$$) { > + my ($ho, $tail, $target) = @_; > + my $wf_rhs= hostnamepath($ho)."_".$tail; > + my $wf_common= $c{WebspaceCommon}.$wf_rhs; > + my $wf_url= $c{WebspaceUrl}.$wf_common; > + my $wf_file= $c{WebspaceFile}.$wf_common; > + > + unlink $wf_file; > + symlink $target, $wf_file or die "$wf_file $!"; > + return $wf_url; Most of this is the start of create_webfile. Can you factor that out ? I have three suggestions for the shape: my ($wf_file, $wf_url) = prepare_create_webfile($ho, $tail); symlink $target, $wf_file or die "$wf_file $!"; return $wf_url; } or split create_webfile into create_web_fsobject which takes a subref, and the call to file_link_contents: create_web_fsobject($ho, $tail, sub { my ($wf_file) = @_; symlink $target, $wf_file or die "$wf_file $!"; }); } or the same but make passing a subref as $contents legal for create_webfile, sub create_webfile ($$$) { my .... $contents_spec); # $contents as for file_link_contents, or a subref # which will be called as $contents_spec($wf_file,$wf_url); ... if (ref($contents_spec) ne 'CODE') { my $contents = $contents_spec; $contents_spec = sub { my ($wf_file) = @_; file_link_contents($wf_file, $contents, "webspace-$wf_rhs"); }; } Take your pick, or do something similar ? Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |