matts       2003/07/16 01:52:00

  Modified:    lib      AxKit.pm
               lib/Apache/AxKit/Language XSP.pm
  Log:
  Create AxTraceIntermediate dirs
  PR: https://rt.cpan.org/Ticket/Display.html?id=2093
  
  Revision  Changes    Path
  1.45      +10 -6     xml-axkit/lib/AxKit.pm
  
  Index: AxKit.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/AxKit.pm,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- AxKit.pm  18 Jun 2003 13:30:06 -0000      1.44
  +++ AxKit.pm  16 Jul 2003 08:52:00 -0000      1.45
  @@ -23,7 +23,7 @@
   Apache::AxKit::CharsetConv::raise_error(1);
   
   BEGIN {
  -    $VERSION = "1.6_02";
  +    $VERSION = "1.61_90";
       if ($ENV{MOD_PERL}) {
           $AxKit::ServerString = "AxKit/$VERSION";
           @AxKit::ISA = qw(DynaLoader);
  @@ -489,11 +489,11 @@
       
       my $apache = AxKit::Apache->request;
       my $r;
  -    if ($uri =~ m|^axkit:(/.*)$|) {
  +    if ($uri =~ /^axkit:(\/.*)$/) {
           my $blurb = $1;
           # got "axkit:/..."
           # first check if it's actually "axkit://host[:port]/..."
  -        if ($blurb =~ m|^//(?:([\w\.-]+)(:\d+)?)?(/.*)$|) {
  +        if ($blurb =~ /^\/\/(?:([\w\.-]+)(:\d+)?)?(\/.*)$/) {
               my $host = $1;
               my $port = $2;
               my $abs_uri = $3;
  @@ -687,12 +687,11 @@
   
       my $interm_prefix;
       my $interm_count = 0;
  -    if ($AxKit::Cfg->TraceIntermediate) {
  +    if (my $ti = $AxKit::Cfg->TraceIntermediate) {
           my $id = $r->notes('AxRequestID');
           $interm_prefix = ($id?$id:$r->uri);
           $interm_prefix =~ s{%}{%25}g;
           $interm_prefix =~ s{/}{%2f}g;
  -        my $ti = $AxKit::Cfg->TraceIntermediate;
           if (defined $id) {
                   $interm_prefix = 
substr($interm_prefix,-1).'/'.substr($interm_prefix,-3,2).'/'.substr($interm_prefix,0,-3).'/';
                   mkdir($ti.'/'.substr($interm_prefix,0,1),0777);
  @@ -705,6 +704,11 @@
           $interm_prefix = $ti.'/'.$interm_prefix;
       
           if ($interm_prefix) {
  +            if (!-d $ti) {
  +                if (!mkdir($ti, 0777)) {
  +                    AxKit::Debug(1, "Can't create AxTraceIntermediate 
directory '$ti': $!");
  +                }
  +            }
               my $fh = Apache->gensym();
               if (open($fh, ">".$interm_prefix.$interm_count)) {
                   print $fh ${$provider->get_strref};
  
  
  
  1.44      +8 -3      xml-axkit/lib/Apache/AxKit/Language/XSP.pm
  
  Index: XSP.pm
  ===================================================================
  RCS file: /home/cvs/xml-axkit/lib/Apache/AxKit/Language/XSP.pm,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- XSP.pm    16 Jul 2003 08:33:14 -0000      1.43
  +++ XSP.pm    16 Jul 2003 08:52:00 -0000      1.44
  @@ -132,12 +132,17 @@
           } if $AxKit::Cfg->DebugTidy;
           AxKit::Debug(1,"AxDebugTidy unavailable for Perl code: $@") if $@;
   
  -        if ($AxKit::Cfg->TraceIntermediate) {
  +        if (my $ti = $AxKit::Cfg->TraceIntermediate) {
               my $interm_prefix = $r->uri;
               $interm_prefix =~ s{%}{%25}g;
               $interm_prefix =~ s{/}{%2f}g;
               $interm_prefix =~ s/[^0-9a-zA-Z.,_|-]/_/g;
  -            $interm_prefix = 
$AxKit::Cfg->TraceIntermediate.'/'.$interm_prefix;
  +            $interm_prefix = $ti.'/'.$interm_prefix;
  +            if (!-d $ti) {
  +                if (!mkdir($ti, 0777)) {
  +                    AxKit::Debug(1, "Can't create AxTraceIntermediate 
directory '$ti': $!");
  +                }
  +            }
               my $fh = Apache->gensym();
               # this is duplicated work: the cache has it as well, but with a
               # different filename and hard to find.
  
  
  

Reply via email to