]> granicus.if.org Git - apache/commitdiff
* modules/dav/main/util.c (dav_validate_resource_state): Simplify weak
authorJoe Orton <jorton@apache.org>
Tue, 25 Nov 2003 13:54:39 +0000 (13:54 +0000)
committerJoe Orton <jorton@apache.org>
Tue, 25 Nov 2003 13:54:39 +0000 (13:54 +0000)
etag comparison to avoid unnecessary tests and pstrdup calls.

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

modules/dav/main/util.c

index 5620c4cf43c55ed31391844b245d72300e7ef595..93dfa8eb35747900d03e1d5a1a51862fb8703cd0 100644 (file)
@@ -1073,28 +1073,21 @@ static dav_error * dav_validate_resource_state(apr_pool_t *p,
             case dav_if_etag:
             {
                 const char *given_etag, *current_etag;
-                char *new_etag;
                 int mismatch;
 
                 /* Do a weak entity comparison function as defined in
                  * RFC 2616 13.3.3.
                  */
                 if (state_list->etag[0] == 'W' &&
-                    state_list->etag[1] == '/' &&
-                    state_list->etag[2] == '"') {
-                    new_etag = apr_pstrdup(p, state_list->etag);
-                    new_etag += 2;
-                    given_etag = new_etag;
+                    state_list->etag[1] == '/') {
+                    given_etag = state_list->etag + 2;
                 }
                 else {
                     given_etag = state_list->etag;
                 }
                 if (etag[0] == 'W' &&
-                    etag[1] == '/' &&
-                    etag[2] == '"') {
-                    new_etag = apr_pstrdup(p, etag);
-                    new_etag += 2;
-                    current_etag = new_etag;
+                    etag[1] == '/') {
+                    current_etag = etag + 2;
                 }
                 else {
                     current_etag = etag;