]> granicus.if.org Git - apache/commitdiff
mod_alias: follow up to r1686853.
authorYann Ylavic <ylavic@apache.org>
Mon, 22 Jun 2015 13:02:49 +0000 (13:02 +0000)
committerYann Ylavic <ylavic@apache.org>
Mon, 22 Jun 2015 13:02:49 +0000 (13:02 +0000)
Factorize code (no functional change).

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1686856 13f79535-47bb-0310-9956-ffa450edef68

modules/mappers/mod_alias.c

index 2c679bbca5448a548c2f366c643e9d43a59b12f1..22a90aa80c212e2d74f574205222e07311a699fd 100644 (file)
@@ -282,15 +282,16 @@ static const char *add_redirect_internal(cmd_parms *cmd,
         /* <Location> context only for now */
         ;
     }
-    else if (grokarg1 > 0 && arg2 && !arg3) {
+    else if ((grokarg1 > 0 && arg2 && !arg3) || (!grokarg1 && !arg2)) {
         const char *expr_err = NULL;
 
+        url = grokarg1 ? arg2 : arg1;
         dirconf->redirect =
-                ap_expr_parse_cmd(cmd, arg2, AP_EXPR_FLAG_STRING_RESULT,
+                ap_expr_parse_cmd(cmd, url, AP_EXPR_FLAG_STRING_RESULT,
                         &expr_err, NULL);
         if (expr_err) {
             return apr_pstrcat(cmd->temp_pool,
-                    "Cannot parse redirect expression '", arg2, "': ", expr_err,
+                    "Cannot parse redirect expression '", url, "': ", expr_err,
                     NULL);
         }
 
@@ -307,24 +308,6 @@ static const char *add_redirect_internal(cmd_parms *cmd,
 
         return NULL;
 
-    }
-    else if (!grokarg1 && !arg2) {
-        const char *expr_err = NULL;
-
-        dirconf->redirect =
-                ap_expr_parse_cmd(cmd, arg1, AP_EXPR_FLAG_STRING_RESULT,
-                        &expr_err, NULL);
-        if (expr_err) {
-            return apr_pstrcat(cmd->temp_pool,
-                    "Cannot parse redirect expression '", arg1, "': ", expr_err,
-                    NULL);
-        }
-
-        dirconf->redirect_status = status;
-        dirconf->redirect_set = 1;
-
-        return NULL;
-
     }
 
     /*