Author: manjesh
Date: Wed Jun  2 23:22:32 2010
New Revision: 950817

URL: http://svn.apache.org/viewvc?rev=950817&view=rev
Log:
TS-383: Backing out m_capacity_host changes

Modified:
    trafficserver/traffic/trunk/proxy/hdrs/URL.cc
    trafficserver/traffic/trunk/proxy/hdrs/URL.h

Modified: trafficserver/traffic/trunk/proxy/hdrs/URL.cc
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/hdrs/URL.cc?rev=950817&r1=950816&r2=950817&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/hdrs/URL.cc (original)
+++ trafficserver/traffic/trunk/proxy/hdrs/URL.cc Wed Jun  2 23:22:32 2010
@@ -177,7 +177,6 @@ url_create(HdrHeap * heap)
   obj_clear_data((HdrHeapObjImpl *) url);
   url->m_url_type = URL_TYPE_NONE;
   url->m_scheme_wks_idx = -1;
-  url->m_capacity_host = 0;
   url_clear_string_ref(url);
   return (url);
 }
@@ -214,20 +213,6 @@ url_copy_onto(URLImpl * s_url, HdrHeap *
     obj_copy_data((HdrHeapObjImpl *) s_url, (HdrHeapObjImpl *) d_url);
     if (inherit_strs && (s_heap != d_heap))
       d_heap->inherit_string_heaps(s_heap);
-
-    // m_ptr_host is reused by the object if it has capacity and not
-    // reallocated on every url_host_set(); obj_copy_data() above does
-    // a "shallow" copy and inherit_string_heaps() inherits strings as
-    // "read-only" (see HdrHeap.cc). Hence we have to make sure the
-    // copied object uses a different buffer
-    if (s_url->m_ptr_host && (s_url->m_capacity_host > 0) && d_heap) {
-      d_url->m_ptr_host = d_heap->allocate_str(d_url->m_capacity_host);
-      if (d_url->m_ptr_host) {
-        memcpy(const_cast<char *>(d_url->m_ptr_host), s_url->m_ptr_host, 
s_url->m_capacity_host);
-      } else {
-        d_url->m_capacity_host = d_url->m_len_host = 0;
-      }
-    }
   }
 }
 
@@ -240,7 +225,7 @@ url_nuke_proxy_stuff(URLImpl * d_url)
   d_url->m_len_scheme = 0;
   d_url->m_len_user = 0;
   d_url->m_len_password = 0;
-  d_url->m_len_host = d_url->m_capacity_host = 0;
+  d_url->m_len_host = 0;
   d_url->m_len_port = 0;
 
   d_url->m_ptr_scheme = NULL;
@@ -330,7 +315,7 @@ URLImpl::move_strings(HdrStrHeap * new_h
   HDR_MOVE_STR(m_ptr_scheme, m_len_scheme);
   HDR_MOVE_STR(m_ptr_user, m_len_user);
   HDR_MOVE_STR(m_ptr_password, m_len_password);
-  HDR_MOVE_STR(m_ptr_host, m_capacity_host);
+  HDR_MOVE_STR(m_ptr_host, m_len_host);
   HDR_MOVE_STR(m_ptr_port, m_len_port);
   HDR_MOVE_STR(m_ptr_path, m_len_path);
   HDR_MOVE_STR(m_ptr_params, m_len_params);
@@ -345,7 +330,7 @@ URLImpl::check_strings(HeapCheck * heaps
   CHECK_STR(m_ptr_scheme, m_len_scheme, heaps, num_heaps);
   CHECK_STR(m_ptr_user, m_len_user, heaps, num_heaps);
   CHECK_STR(m_ptr_password, m_len_password, heaps, num_heaps);
-  CHECK_STR(m_ptr_host, m_capacity_host, heaps, num_heaps);
+  CHECK_STR(m_ptr_host, m_len_host, heaps, num_heaps);
   CHECK_STR(m_ptr_port, m_len_port, heaps, num_heaps);
   CHECK_STR(m_ptr_path, m_len_path, heaps, num_heaps);
   CHECK_STR(m_ptr_params, m_len_params, heaps, num_heaps);
@@ -425,27 +410,8 @@ void
 url_host_set(HdrHeap * heap, URLImpl * url, const char *value, int length, 
bool copy_string)
 {
   url_called_set(url);
-  if ((length <= 0) || (value == NULL)) {
-    url->m_len_host = 0;
-    return;
-  }
-
-  if (!copy_string) {
-    url->m_ptr_host = value;
-    url->m_len_host = length;
-    return;
-  }
-
-  if (url->m_capacity_host < length) {
-    if (url->m_capacity_host) {
-      heap->free_string(url->m_ptr_host, url->m_capacity_host);
-    }
-    url->m_ptr_host = heap->duplicate_str(value, length);
-    url->m_capacity_host = url->m_len_host = length;
-  } else {
-    memcpy(const_cast<char *>(url->m_ptr_host), value, length);
-    url->m_len_host = length;
-  }
+  if (length == 0) value = NULL;
+  mime_str_u16_set(heap, value, length, &(url->m_ptr_host), 
&(url->m_len_host), copy_string);
 }
 
 /*-------------------------------------------------------------------------

Modified: trafficserver/traffic/trunk/proxy/hdrs/URL.h
URL: 
http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/hdrs/URL.h?rev=950817&r1=950816&r2=950817&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/hdrs/URL.h (original)
+++ trafficserver/traffic/trunk/proxy/hdrs/URL.h Wed Jun  2 23:22:32 2010
@@ -77,8 +77,6 @@ struct URLImpl:public HdrHeapObjImpl
   uint8 m_type_code;            // RFC 1738 limits type code to 1 char
   // 6 bytes
 
-  uint16 m_capacity_host;
-  // 8 bytes
   uint32 m_clean:1;
   // 8 bytes + 1 bit, will result in padding
 


Reply via email to