Em Wed, Sep 25, 2002 at 10:40:53AM -0700, Eugene Eric Kim escreveu:
> format of the macros in include/ap_release.h between 2.0.40 and 2.0.42.
> AP_SERVER_BASEREVISION is now:
> 
>   #define AP_SERVER_BASEREVISION AP_SERVER_MINORREVISION "." AP_SERVER_PATCHLEVEL
> 
> instead of simply:
> 
>   #define AP_SERVER_BASEREVISION "2.0.42"
> 
> This breaks the httpd_version method in Apache/Build.pm.

Try this patch, is what I'm using here:
--- mod_perl-1.99_05/lib/Apache/Build.pm.orig   2002-09-19 18:44:56.000000000 -0300
+++ mod_perl-1.99_05/lib/Apache/Build.pm        2002-09-19 18:46:32.000000000 -0300
@@ -740,14 +740,17 @@
         return undef;
     };
 
-    my $version;
+    my ($version,$maj,$min,$pat);
 
     while(<$fh>) {
-        next unless /^\#define\s+AP_SERVER_BASEREVISION\s+\"(.*)\"/;
-        $version = $1;
-        last;
+        $maj = $1 if /^#define\s+AP_SERVER_MAJORVERSION\s+\"(.*)\"/;
+        $min = $1 if /^#define\s+AP_SERVER_MINORVERSION\s+\"(.*)\"/;
+        $pat = $1 if /^#define\s+AP_SERVER_PATCHLEVEL\s+\"(.*)\"/;
+        $maj && $min && $pat && last;
     }
 
+    $version = "$maj.$min.$pat";
+
     close $fh;
 
     $self->httpd_version_cache($dir, $version);


Reply via email to