<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>52637</bug_id>
          
          <creation_ts>2011-01-18 10:15:57 -0800</creation_ts>
          <short_desc>WebCore should call alternate CFHTTPCookie functions, if available</short_desc>
          <delta_ts>2011-01-21 20:30:20 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Adam Roben (:aroben)">aroben</assigned_to>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>335901</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 10:15:57 -0800</bug_when>
    <thetext>WebCore should call alternate CFHTTPCookie functions, if available</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335903</commentid>
    <comment_count>1</comment_count>
      <attachid>79292</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 10:17:15 -0800</bug_when>
    <thetext>Created attachment 79292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335904</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 10:18:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/8878984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335907</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-01-18 10:23:02 -0800</bug_when>
    <thetext>&gt; Source/WebCore/platform/network/cf/CookieJarCFNet.cpp:60
&gt; +static RetainPtr&lt;CFStringRef&gt; cookieDomain(CFHTTPCookieRef cookie)

Can these wrappers be inlined?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335914</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 10:26:28 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; &gt; Source/WebCore/platform/network/cf/CookieJarCFNet.cpp:60
&gt; &gt; +static RetainPtr&lt;CFStringRef&gt; cookieDomain(CFHTTPCookieRef cookie)
&gt; 
&gt; Can these wrappers be inlined?

If you mean &quot;Can you add the &apos;inline&apos; keyword to these wrappers?&quot;, the answer is of course &quot;yes&quot;. If you mean &quot;Is it possible for the compiler to inline these wrappers, regardless of whether you specified the &apos;inline&apos; keyword?&quot;, the answer is &quot;I don&apos;t know, but I&apos;d hope so.&quot;

Are you suggesting I add the keyword? Do you think it would make a difference?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335923</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-01-18 10:35:27 -0800</bug_when>
    <thetext>Heh -- I&apos;m suggesting adding the keyword.

All of the RetainPtr stuff inside these functions is inlined, so inlining these functions should produce good results.

That said, I doubt this is performance-critical code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335926</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 10:38:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Heh -- I&apos;m suggesting adding the keyword.
&gt; 
&gt; All of the RetainPtr stuff inside these functions is inlined, so inlining these functions should produce good results.
&gt; 
&gt; That said, I doubt this is performance-critical code.

Thanks for the clarification. Do you think the compiler is unlikely to inline these functions on its own?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335936</commentid>
    <comment_count>7</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-01-18 11:00:55 -0800</bug_when>
    <thetext>&gt; Do you think the compiler is unlikely to inline these functions on its own?

I&apos;m always surprised by what the compiler chooses to inline automatically. In theory, &quot;inline&quot; is a hint to consider something for inlining, but compilers may ignore the hint, or may inline without the hint. Some compilers require you to set an explicit &quot;inline even functions not marked inline&quot; flag.

I&apos;m told that LLVM ignores the inline keyword altogether, and makes its own decisions about each function. I&apos;m not sure what other compilers like MSVC and GCC do.

Given all this uncertainty, I usually add the inline keyword to good-looking functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335943</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 11:09:19 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; Do you think the compiler is unlikely to inline these functions on its own?
&gt; 
&gt; I&apos;m always surprised by what the compiler chooses to inline automatically. In theory, &quot;inline&quot; is a hint to consider something for inlining, but compilers may ignore the hint, or may inline without the hint. Some compilers require you to set an explicit &quot;inline even functions not marked inline&quot; flag.
&gt; 
&gt; I&apos;m told that LLVM ignores the inline keyword altogether, and makes its own decisions about each function. I&apos;m not sure what other compilers like MSVC and GCC do.

MSDN says that MSVC treats &quot;inline&quot; as a hint. I also know that MSVC will sometimes inline functions that don&apos;t have the &quot;inline&quot; keyword. MSVC also has a __forceinline keyword, which lets you give a much stronger hint to the compiler.

&gt; Given all this uncertainty, I usually add the inline keyword to good-looking functions.

OK, I&apos;ll add them. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335945</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-01-18 11:15:32 -0800</bug_when>
    <thetext>Committed r76041: &lt;http://trac.webkit.org/changeset/76041&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338493</commentid>
    <comment_count>10</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-01-21 20:30:20 -0800</bug_when>
    <thetext>Following up, here&apos;s an example where I just had to mark a one line forwarding function inline in order to get GCC to do the right thing: http://trac.webkit.org/changeset/76425.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79292</attachid>
            <date>2011-01-18 10:17:15 -0800</date>
            <delta_ts>2011-01-18 10:20:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52637-20110118131726.patch</filename>
            <type>text/plain</type>
            <size>5949</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA1ODAzNDZmOTc4YWU5YmNjN2IxMjJkY2ExNjM0ZDYzOWZkNGJiN2U5Li40
N2IyNzc0MDYxNjFhZDVkOWQ4MDE2YmI5ZGZkNzIxY2Y3MGM1ODE0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjggQEAKKzIwMTEtMDEtMTggIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgor
CisgICAgICAgIENhbGwgYWx0ZXJuYXRlIENGSFRUUENvb2tpZSBmdW5jdGlvbnMgaWYgYXZhaWxh
YmxlCisKKyAgICAgICAgRml4ZXMgPGh0dHA6Ly93ZWJraXQub3JnL2IvNTI2Mzc+LgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9jZi9Db29raWVKYXJDRk5ldC5jcHA6IEFkZGVkIHNvZnQtbGlua2luZyBtYWNyb3MgdG8K
KyAgICAgICAgcHVsbCBpbiB0aGUgYWx0ZXJuYXRlIENGSFRUUENvb2tpZSBmdW5jdGlvbnMuCisK
KyAgICAgICAgKFdlYkNvcmU6OmNvb2tpZURvbWFpbik6CisgICAgICAgIChXZWJDb3JlOjpjb29r
aWVFeHBpcmF0aW9uVGltZSk6CisgICAgICAgIChXZWJDb3JlOjpjb29raWVOYW1lKToKKyAgICAg
ICAgKFdlYkNvcmU6OmNvb2tpZVBhdGgpOgorICAgICAgICAoV2ViQ29yZTo6Y29va2llVmFsdWUp
OgorICAgICAgICBBZGRlZCB0aGVzZSB3cmFwcGVycyBhcm91bmQgdGhlIENGSFRUUENvb2tpZSBm
dW5jdGlvbnMuIFdlIGNhbGwgdGhlCisgICAgICAgIGFsdGVybmF0ZSBmdW5jdGlvbnMgaWYgdGhl
eSBleGlzdCwgb3RoZXJ3aXNlIGZhbGwgYmFjayB0byB0aGUgY3VycmVudAorICAgICAgICBmdW5j
dGlvbnMuCisKKyAgICAgICAgKFdlYkNvcmU6OmZpbHRlckNvb2tpZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6Z2V0UmF3Q29va2llcyk6CisgICAgICAgIChXZWJDb3JlOjpkZWxldGVDb29raWUpOgor
ICAgICAgICBDaGFuZ2VkIHRvIHVzZSB0aGUgd3JhcHBlciBmdW5jdGlvbnMuCisKIDIwMTEtMDEt
MTcgIFBhdmVsIFBvZGl2aWxvdiAgPHBvZGl2aWxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgWXVyeSBTZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvY2YvQ29va2llSmFyQ0ZOZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9jZi9Db29raWVKYXJDRk5ldC5jcHAKaW5kZXggNjU5YjcxOTg1MTBm
NDdmNmRmMTk2NWQ2MDNmYzQwMGRmOTE3MzdhZi4uYTc2NzkyYWM5YTVjMWY0YTg1NjE2MTc2Nzhj
YjdiMTU5ZDhiOTVlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9jZi9Db29raWVKYXJDRk5ldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9jZi9Db29raWVKYXJDRk5ldC5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJL
VVJMLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJSZXNvdXJjZUhh
bmRsZS5oIgorI2luY2x1ZGUgIlNvZnRMaW5raW5nLmgiCiAjaW5jbHVkZSA8Q0ZOZXR3b3JrL0NG
SFRUUENvb2tpZXNQcml2Lmg+CiAjaW5jbHVkZSA8Q29yZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRp
b24uaD4KICNpbmNsdWRlIDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UvV2ViS2l0U3lzdGVtSW50ZXJm
YWNlLmg+CkBAIC00NCw2ICs0NSw1MyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29u
c3QgQ0ZTdHJpbmdSZWYgc19zZXRDb29raWVLZXlDRiA9IENGU1RSKCJTZXQtQ29va2llIik7CiBz
dGF0aWMgY29uc3QgQ0ZTdHJpbmdSZWYgc19jb29raWVDRiA9IENGU1RSKCJDb29raWUiKTsKIAor
I2lmZGVmIERFQlVHX0FMTAorU09GVF9MSU5LX0RFQlVHX0xJQlJBUlkoQ0ZOZXR3b3JrKQorI2Vs
c2UKK1NPRlRfTElOS19MSUJSQVJZKENGTmV0d29yaykKKyNlbmRpZgorCitTT0ZUX0xJTktfT1BU
SU9OQUwoQ0ZOZXR3b3JrLCBDRkhUVFBDb29raWVDb3B5RG9tYWluLCBDRlN0cmluZ1JlZiwgX19j
ZGVjbCwgKENGSFRUUENvb2tpZVJlZikpCitTT0ZUX0xJTktfT1BUSU9OQUwoQ0ZOZXR3b3JrLCBD
RkhUVFBDb29raWVHZXRFeHBpcmF0aW9uVGltZSwgQ0ZBYnNvbHV0ZVRpbWUsIF9fY2RlY2wsIChD
RkhUVFBDb29raWVSZWYpKQorU09GVF9MSU5LX09QVElPTkFMKENGTmV0d29yaywgQ0ZIVFRQQ29v
a2llQ29weU5hbWUsIENGU3RyaW5nUmVmLCBfX2NkZWNsLCAoQ0ZIVFRQQ29va2llUmVmKSkKK1NP
RlRfTElOS19PUFRJT05BTChDRk5ldHdvcmssIENGSFRUUENvb2tpZUNvcHlQYXRoLCBDRlN0cmlu
Z1JlZiwgX19jZGVjbCwgKENGSFRUUENvb2tpZVJlZikpCitTT0ZUX0xJTktfT1BUSU9OQUwoQ0ZO
ZXR3b3JrLCBDRkhUVFBDb29raWVDb3B5VmFsdWUsIENGU3RyaW5nUmVmLCBfX2NkZWNsLCAoQ0ZI
VFRQQ29va2llUmVmKSkKKworc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gY29va2llRG9t
YWluKENGSFRUUENvb2tpZVJlZiBjb29raWUpCit7CisgICAgaWYgKENGSFRUUENvb2tpZUNvcHlE
b21haW5QdHIoKSkKKyAgICAgICAgcmV0dXJuIFJldGFpblB0cjxDRlN0cmluZ1JlZj4oQWRvcHRD
RiwgQ0ZIVFRQQ29va2llQ29weURvbWFpblB0cigpKGNvb2tpZSkpOworICAgIHJldHVybiBDRkhU
VFBDb29raWVHZXREb21haW4oY29va2llKTsKK30KKworc3RhdGljIENGQWJzb2x1dGVUaW1lIGNv
b2tpZUV4cGlyYXRpb25UaW1lKENGSFRUUENvb2tpZVJlZiBjb29raWUpCit7CisgICAgaWYgKENG
SFRUUENvb2tpZUdldEV4cGlyYXRpb25UaW1lUHRyKCkpCisgICAgICAgIHJldHVybiBDRkhUVFBD
b29raWVHZXRFeHBpcmF0aW9uVGltZVB0cigpKGNvb2tpZSk7CisgICAgcmV0dXJuIENGRGF0ZUdl
dEFic29sdXRlVGltZShDRkhUVFBDb29raWVHZXRFeHBpcmF0b25EYXRlKGNvb2tpZSkpOworfQor
CitzdGF0aWMgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBjb29raWVOYW1lKENGSFRUUENvb2tpZVJl
ZiBjb29raWUpCit7CisgICAgaWYgKENGSFRUUENvb2tpZUNvcHlOYW1lUHRyKCkpCisgICAgICAg
IHJldHVybiBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+KEFkb3B0Q0YsIENGSFRUUENvb2tpZUNvcHlO
YW1lUHRyKCkoY29va2llKSk7CisgICAgcmV0dXJuIENGSFRUUENvb2tpZUdldE5hbWUoY29va2ll
KTsKK30KKworc3RhdGljIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gY29va2llUGF0aChDRkhUVFBD
b29raWVSZWYgY29va2llKQoreworICAgIGlmIChDRkhUVFBDb29raWVDb3B5UGF0aFB0cigpKQor
ICAgICAgICByZXR1cm4gUmV0YWluUHRyPENGU3RyaW5nUmVmPihBZG9wdENGLCBDRkhUVFBDb29r
aWVDb3B5UGF0aFB0cigpKGNvb2tpZSkpOworICAgIHJldHVybiBDRkhUVFBDb29raWVHZXRQYXRo
KGNvb2tpZSk7Cit9CisKK3N0YXRpYyBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IGNvb2tpZVZhbHVl
KENGSFRUUENvb2tpZVJlZiBjb29raWUpCit7CisgICAgaWYgKENGSFRUUENvb2tpZUNvcHlWYWx1
ZVB0cigpKQorICAgICAgICByZXR1cm4gUmV0YWluUHRyPENGU3RyaW5nUmVmPihBZG9wdENGLCBD
RkhUVFBDb29raWVDb3B5VmFsdWVQdHIoKShjb29raWUpKTsKKyAgICByZXR1cm4gQ0ZIVFRQQ29v
a2llR2V0VmFsdWUoY29va2llKTsKK30KKwogc3RhdGljIFJldGFpblB0cjxDRkFycmF5UmVmPiBm
aWx0ZXJDb29raWVzKENGQXJyYXlSZWYgdW5maWx0ZXJlZENvb2tpZXMpCiB7CiAgICAgQ0ZJbmRl
eCBjb3VudCA9IENGQXJyYXlHZXRDb3VudCh1bmZpbHRlcmVkQ29va2llcyk7CkBAIC01NSw3ICsx
MDMsNyBAQCBzdGF0aWMgUmV0YWluUHRyPENGQXJyYXlSZWY+IGZpbHRlckNvb2tpZXMoQ0ZBcnJh
eVJlZiB1bmZpbHRlcmVkQ29va2llcykKICAgICAgICAgLy8gd2hpY2ggd291bGQgYmUgc2VudCBh
cyAiQ29va2llOiA9Ii4gV2UgaGF2ZSBhIHdvcmthcm91bmQgaW4gc2V0Q29va2llcygpIHRvIHBy
ZXZlbnQKICAgICAgICAgLy8gdGhhdCwgYnV0IHdlIGFsc28gbmVlZCB0byBhdm9pZCBzZW5kaW5n
IGNvb2tpZXMgdGhhdCB3ZXJlIHByZXZpb3VzbHkgc3RvcmVkLCBhbmQKICAgICAgICAgLy8gdGhl
cmUncyBubyBoYXJtIHRvIGRvaW5nIHRoaXMgY2hlY2sgYmVjYXVzZSBzdWNoIGEgY29va2llIGlz
IG5ldmVyIHZhbGlkLgotICAgICAgICBpZiAoIUNGU3RyaW5nR2V0TGVuZ3RoKENGSFRUUENvb2tp
ZUdldE5hbWUoY29va2llKSkpCisgICAgICAgIGlmICghQ0ZTdHJpbmdHZXRMZW5ndGgoY29va2ll
TmFtZShjb29raWUpLmdldCgpKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIGlm
IChDRkhUVFBDb29raWVJc0hUVFBPbmx5KGNvb2tpZSkpCkBAIC0xNDcsMTIgKzE5NSwxMiBAQCBi
b29sIGdldFJhd0Nvb2tpZXMoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBLVVJMJiB1cmwsIFZlY3Rv
cjxDb29raWU+JiByYXdDb29raWVzKQogCiAgICAgZm9yIChDRkluZGV4IGkgPSAwOyBpIDwgY291
bnQ7IGkrKykgewogICAgICAgIENGSFRUUENvb2tpZVJlZiBjb29raWUgPSAoQ0ZIVFRQQ29va2ll
UmVmKUNGQXJyYXlHZXRWYWx1ZUF0SW5kZXgoY29va2llc0NGLmdldCgpLCBpKTsKLSAgICAgICBT
dHJpbmcgbmFtZSA9IENGSFRUUENvb2tpZUdldE5hbWUoY29va2llKTsKLSAgICAgICBTdHJpbmcg
dmFsdWUgPSBDRkhUVFBDb29raWVHZXRWYWx1ZShjb29raWUpOwotICAgICAgIFN0cmluZyBkb21h
aW4gPSBDRkhUVFBDb29raWVHZXREb21haW4oY29va2llKTsKLSAgICAgICBTdHJpbmcgcGF0aCA9
IENGSFRUUENvb2tpZUdldFBhdGgoY29va2llKTsKKyAgICAgICBTdHJpbmcgbmFtZSA9IGNvb2tp
ZU5hbWUoY29va2llKS5nZXQoKTsKKyAgICAgICBTdHJpbmcgdmFsdWUgPSBjb29raWVWYWx1ZShj
b29raWUpLmdldCgpOworICAgICAgIFN0cmluZyBkb21haW4gPSBjb29raWVEb21haW4oY29va2ll
KS5nZXQoKTsKKyAgICAgICBTdHJpbmcgcGF0aCA9IGNvb2tpZVBhdGgoY29va2llKS5nZXQoKTsK
IAotICAgICAgIGRvdWJsZSBleHBpcmVzID0gKENGRGF0ZUdldEFic29sdXRlVGltZShDRkhUVFBD
b29raWVHZXRFeHBpcmF0b25EYXRlKGNvb2tpZSkpICsga0NGQWJzb2x1dGVUaW1lSW50ZXJ2YWxT
aW5jZTE5NzApICogMTAwMDsKKyAgICAgICBkb3VibGUgZXhwaXJlcyA9IChjb29raWVFeHBpcmF0
aW9uVGltZShjb29raWUpICsga0NGQWJzb2x1dGVUaW1lSW50ZXJ2YWxTaW5jZTE5NzApICogMTAw
MDsKIAogICAgICAgIGJvb2wgaHR0cE9ubHkgPSBDRkhUVFBDb29raWVJc0hUVFBPbmx5KGNvb2tp
ZSk7CiAgICAgICAgYm9vbCBzZWN1cmUgPSBDRkhUVFBDb29raWVJc1NlY3VyZShjb29raWUpOwpA
QCAtMTc4LDggKzIyNiw3IEBAIHZvaWQgZGVsZXRlQ29va2llKGNvbnN0IERvY3VtZW50KiwgY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgQ0ZJbmRleCBjb3VudCA9IENG
QXJyYXlHZXRDb3VudChjb29raWVzQ0YuZ2V0KCkpOwogICAgIGZvciAoQ0ZJbmRleCBpID0gMDsg
aSA8IGNvdW50OyBpKyspIHsKICAgICAgICAgQ0ZIVFRQQ29va2llUmVmIGNvb2tpZSA9IChDRkhU
VFBDb29raWVSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChjb29raWVzQ0YuZ2V0KCksIGkpOwot
ICAgICAgICBTdHJpbmcgY29va2llTmFtZSA9IENGSFRUUENvb2tpZUdldE5hbWUoY29va2llKTsK
LSAgICAgICAgaWYgKGNvb2tpZU5hbWUgPT0gbmFtZSkgeworICAgICAgICBpZiAoU3RyaW5nKGNv
b2tpZU5hbWUoY29va2llKS5nZXQoKSkgPT0gbmFtZSkgewogICAgICAgICAgICAgQ0ZIVFRQQ29v
a2llU3RvcmFnZURlbGV0ZUNvb2tpZShjb29raWVTdG9yYWdlLCBjb29raWUpOwogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="70698"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>