Blob Blame History Raw
Patch by Niko Tyni <ntyni@iki.fi> for perl-CGI-SpeedyCGI >= 2.22, which fixes the broken Apache 2.2
compatibility by APR_BRIGADE_FOREACH macro removal and renaming apr_filename_of_pathname(). Further
information: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=393017

--- CGI-SpeedyCGI-2.22/src/mod_speedycgi2.c			2003-10-07 06:03:48.000000000 +0200
+++ CGI-SpeedyCGI-2.22/src/mod_speedycgi2.c.brigade_foreach	2008-05-04 20:40:30.000000000 +0200
@@ -340,7 +340,10 @@
     const char *buf;
     apr_size_t len;
     apr_status_t rv;
-    APR_BRIGADE_FOREACH(e, bb) {
+    for (e = APR_BRIGADE_FIRST(bb);
+	e != APR_BRIGADE_SENTINEL(bb);
+	e  = APR_BUCKET_NEXT(e)) {
+
         if (APR_BUCKET_IS_EOS(e)) {
             break;
         }
@@ -380,7 +383,7 @@
         return DECLINED;
     }
 
-    argv0 = apr_filename_of_pathname(r->filename);
+    argv0 = apr_filepath_name_get(r->filename);
     nph = !(strncmp(argv0, "nph-", 4));
 
     if (!(ap_allow_options(r) & OPT_EXECCGI) && !is_scriptaliased(r))
@@ -436,7 +439,7 @@
     if ((rv = default_build_command(&command, &argv, r, p)) != APR_SUCCESS) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rv, r,
                       "don't know how to spawn child process: %s", 
-                      apr_filename_of_pathname(r->filename));
+                      apr_filepath_name_get(r->filename));
         return HTTP_INTERNAL_SERVER_ERROR;
     }
 
@@ -445,7 +448,7 @@
                             command, argv, r, p)) != APR_SUCCESS) {
         ap_log_rerror(APLOG_MARK, APLOG_ERR|APLOG_TOCLIENT, rv, r,
                       "couldn't spawn child process: %s",
-		      apr_filename_of_pathname(r->filename));
+		      apr_filepath_name_get(r->filename));
         return HTTP_INTERNAL_SERVER_ERROR;
     }
 
@@ -465,7 +468,9 @@
             return rv;
         }
 
-        APR_BRIGADE_FOREACH(bucket, bb) {
+	for (bucket = APR_BRIGADE_FIRST(bb);
+	    bucket != APR_BRIGADE_SENTINEL(bb);
+	    bucket  = APR_BUCKET_NEXT(bucket)) {
             const char *data;
             apr_size_t len;