summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam A. Rowe Jr <wrowe@apache.org>2001-08-06 05:07:34 +0000
committerWilliam A. Rowe Jr <wrowe@apache.org>2001-08-06 05:07:34 +0000
commit4e6214181025357b7580d8c8cd39ce709379a62e (patch)
tree8d19c2e27cf78adf05193ab8d3002502f9a9f8e3
parent725bb2c1c62a5ff22c9e6d61fbf1f8478647d2b2 (diff)
downloadhttpd-4e6214181025357b7580d8c8cd39ce709379a62e.tar.gz
Just a little cleaner.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89933 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--server/request.c29
1 files changed, 19 insertions, 10 deletions
diff --git a/server/request.c b/server/request.c
index 78c7ea5bf6..5a0804945c 100644
--- a/server/request.c
+++ b/server/request.c
@@ -1236,7 +1236,6 @@ static void fill_in_sub_req_vars(request_rec *rnew, const request_rec *r,
static int sub_req_common_validation(request_rec *rnew)
{
int res;
-
if ((( ap_satisfies(rnew) == SATISFY_ALL
|| ap_satisfies(rnew) == SATISFY_NOSPEC)
? ((res = ap_run_access_checker(rnew))
@@ -1453,12 +1452,17 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_dirent(const apr_finfo_t *dirent,
* do a file_walk, if it doesn't change the per_dir_config then
* we know that we don't have to redo all the access checks
*/
- if ((res = file_walk(rnew) == OK)
- && (rnew->per_dir_config == r->per_dir_config)
- && (res = ap_run_type_checker(rnew)) == OK
- && (res = ap_run_fixups(rnew)) == OK) {
+ if ((res = file_walk(rnew))) {
+ rnew->status = res;
return rnew;
}
+ if (rnew->per_dir_config == r->per_dir_config) {
+ if ((res = ap_run_type_checker(rnew))
+ || (res = ap_run_fixups(rnew))) {
+ rnew->status = res;
+ }
+ return rnew;
+ }
}
else {
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, rnew,
@@ -1555,12 +1559,17 @@ AP_DECLARE(request_rec *) ap_sub_req_lookup_file(const char *new_file,
* do a file_walk, if it doesn't change the per_dir_config then
* we know that we don't have to redo all the access checks
*/
- if ((res = file_walk(rnew) == OK)
- && (rnew->per_dir_config == r->per_dir_config)
- && (res = ap_run_type_checker(rnew)) == OK
- && (res = ap_run_fixups(rnew)) == OK) {
- return rnew;
+ if ((res = file_walk(rnew))) {
+ rnew->status = res;
+ return rnew;
+ }
+ if (rnew->per_dir_config == r->per_dir_config) {
+ if ((res = ap_run_type_checker(rnew))
+ || (res = ap_run_fixups(rnew))) {
+ rnew->status = res;
}
+ return rnew;
+ }
}
else {
ap_log_rerror(APLOG_MARK, APLOG_NOERRNO|APLOG_ERR, 0, rnew,