<?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>93402</bug_id>
          
          <creation_ts>2012-08-07 15:39:22 -0700</creation_ts>
          <short_desc>Use char* instead of LChar* for the public interface of String construction from literals</short_desc>
          <delta_ts>2012-08-08 18:29:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>93426</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>689503</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-07 15:39:22 -0700</bug_when>
    <thetext>Some part of the API was based on LChar because it is easier. After using it for a bit, I think it is dangerously confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689517</commentid>
    <comment_count>1</comment_count>
      <attachid>157028</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-07 15:51:30 -0700</bug_when>
    <thetext>Created attachment 157028
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690845</commentid>
    <comment_count>2</comment_count>
      <attachid>157028</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-08-08 15:40:44 -0700</bug_when>
    <thetext>Comment on attachment 157028
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=157028&amp;action=review

&gt; Source/WTF/wtf/text/StringImpl.cpp:87
&gt; +    ASSERT(charactersAreAllASCII&lt;LChar&gt;(reinterpret_cast&lt;const LChar*&gt;(characters), length));

Do we care about the ASSERT after this change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>690876</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-08 16:14:27 -0700</bug_when>
    <thetext>Thanks for the review.

&gt; &gt; +    ASSERT(charactersAreAllASCII&lt;LChar&gt;(reinterpret_cast&lt;const LChar*&gt;(characters), length));
&gt; 
&gt; Do we care about the ASSERT after this change?

Yep, it is still possible to pass non ASCII characters. Unfortunately there is no easy way to enforce that at compile time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>691059</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-08 18:29:56 -0700</bug_when>
    <thetext>Committed r125135: &lt;http://trac.webkit.org/changeset/125135&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>157028</attachid>
            <date>2012-08-07 15:51:30 -0700</date>
            <delta_ts>2012-08-08 15:40:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93402-20120807155105.patch</filename>
            <type>text/plain</type>
            <size>11982</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZmFhZjZiYjI0NDUwMTc1YThhZDQyYzdkNjQ0ZjAyMTFhZTg3MjQ1Li4xYWM5Y2Y5ODhhMTMxODUx
ZTQzZjhhNDZlZDYzMjEyMDFhNDMzODc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMi0wOC0wNyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxl
LmNvbT4KKworICAgICAgICBVc2UgY2hhciogaW5zdGVhZCBvZiBMQ2hhciogZm9yIHRoZSBwdWJs
aWMgaW50ZXJmYWNlIG9mIFN0cmluZyBjb25zdHJ1Y3Rpb24gZnJvbSBsaXRlcmFscworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM0MDIKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgSlNDJyBJZGVu
dGlmaWVyIHRvIHVzZSBTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJhbCB3aXRoIGEgY2hhciou
CisKKyAgICAgICAgKiBydW50aW1lL0lkZW50aWZpZXIuY3BwOgorICAgICAgICAoSlNDOjpJZGVu
dGlmaWVyQVNDSUlTdHJpbmdUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorCiAyMDEyLTA4LTA3ICBC
ZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVc2UgdGhl
IGluaXRpYWxpemF0aW9uIGZyb20gbGl0ZXJhbCBmb3IgSlNDJ3MgSWRlbnRpZmllcnMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXgg
NjVkZWZmMDI1NzZjMDI3MGJlNzU1OTg4YTU5ZjIyNWNiNDBhNjBkMi4uYWJjY2RiOWMxMWExMzM3
MjllY2M4ZjhmZmI4ZjRjNDdkZjUwZmNlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMi0wOC0w
NyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKworICAgICAgICBVc2Ug
Y2hhciogaW5zdGVhZCBvZiBMQ2hhciogZm9yIHRoZSBwdWJsaWMgaW50ZXJmYWNlIG9mIFN0cmlu
ZyBjb25zdHJ1Y3Rpb24gZnJvbSBsaXRlcmFscworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM0MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBXaGVuIHRoZSBpbml0aWFsaXphdGlvbiBmcm9tIGxpdGVyYWwg
d2FzIGFkZGVkLCBzb21lIGNvbnN0cnVjdG9yL2luaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHdlcmUK
KyAgICAgICAgdXNpbmcgTENoYXIgZm9yIGNvbnZlbmllbmNlLgorCisgICAgICAgIFNpbmNlIHRo
b3NlIGZ1bmN0aW9uIHNob3VsZCBvbmx5IHRha2UgQVNDSUkgY2hhcmFjdGVycywgdXNpbmcgTENo
YXIqIGNvdWxkIGNhdXNlIGNvbmZ1c2lvbi4gVGhpcworICAgICAgICBwYXRjaCBpbnRlbnRzIHRv
IGNsYXJpZnkgdGhpcyBieSB1c2luZyBjaGFyKiBmb3IgYWxsIHRob3NlIEFQSXMuCisKKyAgICAg
ICAgKiB3dGYvdGV4dC9BdG9taWNTdHJpbmcuY3BwOgorICAgICAgICAoV1RGOjpDaGFyQnVmZmVy
RnJvbUxpdGVyYWxEYXRhVHJhbnNsYXRvcjo6aGFzaCk6CisgICAgICAgIChXVEY6OkNoYXJCdWZm
ZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yOjplcXVhbCk6CisgICAgICAgIChXVEY6OkNoYXJC
dWZmZXJGcm9tTGl0ZXJhbERhdGFUcmFuc2xhdG9yOjp0cmFuc2xhdGUpOgorICAgICAgICAoV1RG
OjpBdG9taWNTdHJpbmc6OmFkZEZyb21MaXRlcmFsRGF0YSk6CisgICAgICAgICogd3RmL3RleHQv
QXRvbWljU3RyaW5nLmg6CisgICAgICAgIChXVEY6OkF0b21pY1N0cmluZzo6QXRvbWljU3RyaW5n
KToKKyAgICAgICAgKEF0b21pY1N0cmluZyk6CisgICAgICAgICogd3RmL3RleHQvU3RyaW5nSW1w
bC5jcHA6CisgICAgICAgIChXVEY6OlN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKToKKyAg
ICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAgIChTdHJpbmdJbXBsKToKKyAg
ICAgICAgKFdURjo6U3RyaW5nSW1wbDo6U3RyaW5nSW1wbCk6CisgICAgICAgIChXVEY6OlN0cmlu
Z0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKToKKwogMjAxMi0wOC0wNyAgQmVuamFtaW4gUG91bGFp
biAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIHRoZSBpbml0aWFsaXphdGlv
biBmcm9tIGxpdGVyYWwgZm9yIEpTQydzIElkZW50aWZpZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JZGVudGlmaWVyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwCmluZGV4IDJiZmU4MmE2OTQ3MDYxMTQxZDNmYjcz
ZGJjYTAzZjk0NjIxZGFjZmQuLjBmYzU0ZjNjNmZkODc1YjM5YjFjNWYwNTM2ZjNmZWI2ODMxODIy
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lkZW50aWZpZXIuY3BwCkBA
IC02MCw3ICs2MCw3IEBAIHN0cnVjdCBJZGVudGlmaWVyQVNDSUlTdHJpbmdUcmFuc2xhdG9yIHsK
ICAgICBzdGF0aWMgdm9pZCB0cmFuc2xhdGUoU3RyaW5nSW1wbComIGxvY2F0aW9uLCBjb25zdCBM
Q2hhciogYywgdW5zaWduZWQgaGFzaCkKICAgICB7CiAgICAgICAgIHNpemVfdCBsZW5ndGggPSBz
dHJsZW4ocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYykpOwotICAgICAgICBsb2NhdGlv
biA9IFN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKGMsIGxlbmd0aCkubGVha1JlZigpOwor
ICAgICAgICBsb2NhdGlvbiA9IFN0cmluZ0ltcGw6OmNyZWF0ZUZyb21MaXRlcmFsKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGMpLCBsZW5ndGgpLmxlYWtSZWYoKTsKICAgICAgICAgbG9j
YXRpb24tPnNldEhhc2goaGFzaCk7CiAgICAgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL3RleHQvQXRvbWljU3RyaW5nLmNwcCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3Ry
aW5nLmNwcAppbmRleCAyZWFhZTc2ZGExYzM2MjE1M2M5YjZhYTY1ZDUzZmE5NjdkNTQ4MzNjLi45
ZGMwZWUwMTZjNjcxMGZjMzhjNTcwZTIzNzE4NWU4MjExZmMyOTZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4
dC9BdG9taWNTdHJpbmcuY3BwCkBAIC0yOTcsMTkgKzI5NywxOSBAQCBQYXNzUmVmUHRyPFN0cmlu
Z0ltcGw+IEF0b21pY1N0cmluZzo6YWRkKFN0cmluZ0ltcGwqIGJhc2VTdHJpbmcsIHVuc2lnbmVk
IHN0YXJ0LAogICAgIHJldHVybiBhZGRUb1N0cmluZ1RhYmxlPFN1YnN0cmluZ0xvY2F0aW9uLCBT
dWJzdHJpbmdUcmFuc2xhdG9yPihidWZmZXIpOwogfQogCi10eXBlZGVmIEhhc2hUcmFuc2xhdG9y
Q2hhckJ1ZmZlcjxMQ2hhcj4gTENoYXJCdWZmZXI7Ci1zdHJ1Y3QgTENoYXJCdWZmZXJGcm9tTGl0
ZXJhbERhdGFUcmFuc2xhdG9yIHsKLSAgICBzdGF0aWMgdW5zaWduZWQgaGFzaChjb25zdCBMQ2hh
ckJ1ZmZlciYgYnVmKQordHlwZWRlZiBIYXNoVHJhbnNsYXRvckNoYXJCdWZmZXI8Y2hhcj4gQ2hh
ckJ1ZmZlcjsKK3N0cnVjdCBDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRhVHJhbnNsYXRvciB7Cisg
ICAgc3RhdGljIHVuc2lnbmVkIGhhc2goY29uc3QgQ2hhckJ1ZmZlciYgYnVmKQogICAgIHsKLSAg
ICAgICAgcmV0dXJuIFN0cmluZ0hhc2hlcjo6Y29tcHV0ZUhhc2hBbmRNYXNrVG9wOEJpdHMoYnVm
LnMsIGJ1Zi5sZW5ndGgpOworICAgICAgICByZXR1cm4gU3RyaW5nSGFzaGVyOjpjb21wdXRlSGFz
aEFuZE1hc2tUb3A4Qml0cyhyZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oYnVmLnMpLCBi
dWYubGVuZ3RoKTsKICAgICB9CiAKLSAgICBzdGF0aWMgYm9vbCBlcXVhbChTdHJpbmdJbXBsKiBj
b25zdCYgc3RyLCBjb25zdCBMQ2hhckJ1ZmZlciYgYnVmKQorICAgIHN0YXRpYyBib29sIGVxdWFs
KFN0cmluZ0ltcGwqIGNvbnN0JiBzdHIsIGNvbnN0IENoYXJCdWZmZXImIGJ1ZikKICAgICB7CiAg
ICAgICAgIHJldHVybiBXVEY6OmVxdWFsKHN0ciwgYnVmLnMsIGJ1Zi5sZW5ndGgpOwogICAgIH0K
IAotICAgIHN0YXRpYyB2b2lkIHRyYW5zbGF0ZShTdHJpbmdJbXBsKiYgbG9jYXRpb24sIGNvbnN0
IExDaGFyQnVmZmVyJiBidWYsIHVuc2lnbmVkIGhhc2gpCisgICAgc3RhdGljIHZvaWQgdHJhbnNs
YXRlKFN0cmluZ0ltcGwqJiBsb2NhdGlvbiwgY29uc3QgQ2hhckJ1ZmZlciYgYnVmLCB1bnNpZ25l
ZCBoYXNoKQogICAgIHsKICAgICAgICAgbG9jYXRpb24gPSBTdHJpbmdJbXBsOjpjcmVhdGVGcm9t
TGl0ZXJhbChidWYucywgYnVmLmxlbmd0aCkubGVha1JlZigpOwogICAgICAgICBsb2NhdGlvbi0+
c2V0SGFzaChoYXNoKTsKQEAgLTMxNywxMyArMzE3LDEzIEBAIHN0cnVjdCBMQ2hhckJ1ZmZlckZy
b21MaXRlcmFsRGF0YVRyYW5zbGF0b3IgewogICAgIH0KIH07CiAKLVBhc3NSZWZQdHI8U3RyaW5n
SW1wbD4gQXRvbWljU3RyaW5nOjphZGRGcm9tTGl0ZXJhbERhdGEoY29uc3QgTENoYXIgKmNoYXJh
Y3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK1Bhc3NSZWZQdHI8U3RyaW5nSW1wbD4gQXRvbWljU3Ry
aW5nOjphZGRGcm9tTGl0ZXJhbERhdGEoY29uc3QgY2hhciogY2hhcmFjdGVycywgdW5zaWduZWQg
bGVuZ3RoKQogewogICAgIEFTU0VSVChjaGFyYWN0ZXJzKTsKICAgICBBU1NFUlQobGVuZ3RoKTsK
IAotICAgIExDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hhcmFjdGVycywgbGVuZ3RoIH07Ci0gICAg
cmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8TENoYXJCdWZmZXIsIExDaGFyQnVmZmVyRnJvbUxpdGVy
YWxEYXRhVHJhbnNsYXRvcj4oYnVmZmVyKTsKKyAgICBDaGFyQnVmZmVyIGJ1ZmZlciA9IHsgY2hh
cmFjdGVycywgbGVuZ3RoIH07CisgICAgcmV0dXJuIGFkZFRvU3RyaW5nVGFibGU8Q2hhckJ1ZmZl
ciwgQ2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I+KGJ1ZmZlcik7CiB9CiAKIFBh
c3NSZWZQdHI8U3RyaW5nSW1wbD4gQXRvbWljU3RyaW5nOjphZGRTbG93Q2FzZShTdHJpbmdJbXBs
KiByKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaCBiL1Nv
dXJjZS9XVEYvd3RmL3RleHQvQXRvbWljU3RyaW5nLmgKaW5kZXggNjE4ZmE0NmU4ZmYzMWY2ZjY4
ZTE3ZGU0NGU0YmUxMzk0OTBjMmI2YS4uNjBkNzE5YzE5ODFkMDExNjAzZDk0NDgzYWZkYjU3MmJl
MDkzOGZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BdG9taWNTdHJpbmcuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L0F0b21pY1N0cmluZy5oCkBAIC01MywxMiArNTMsMTIg
QEAgcHVibGljOgogCiAgICAgZW51bSBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZyB7IENvbnN0cnVj
dEZyb21MaXRlcmFsIH07CiAgICAgQXRvbWljU3RyaW5nKGNvbnN0IGNoYXIqIGNoYXJhY3RlcnMs
IHVuc2lnbmVkIGxlbmd0aCwgQ29uc3RydWN0RnJvbUxpdGVyYWxUYWcpCi0gICAgICAgIDogbV9z
dHJpbmcoYWRkRnJvbUxpdGVyYWxEYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihj
aGFyYWN0ZXJzKSwgbGVuZ3RoKSkKKyAgICAgICAgOiBtX3N0cmluZyhhZGRGcm9tTGl0ZXJhbERh
dGEoY2hhcmFjdGVycywgbGVuZ3RoKSkKICAgICB7CiAgICAgfQogICAgIHRlbXBsYXRlPHVuc2ln
bmVkIGNoYXJhY3RlcnNDb3VudD4KICAgICBBTFdBWVNfSU5MSU5FIEF0b21pY1N0cmluZyhjb25z
dCBjaGFyICgmY2hhcmFjdGVycylbY2hhcmFjdGVyc0NvdW50XSwgQ29uc3RydWN0RnJvbUxpdGVy
YWxUYWcpCi0gICAgICAgIDogbV9zdHJpbmcoYWRkRnJvbUxpdGVyYWxEYXRhKHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgTENoYXIqPihjaGFyYWN0ZXJzKSwgY2hhcmFjdGVyc0NvdW50IC0gMSkpCisg
ICAgICAgIDogbV9zdHJpbmcoYWRkRnJvbUxpdGVyYWxEYXRhKGNoYXJhY3RlcnMsIGNoYXJhY3Rl
cnNDb3VudCAtIDEpKQogICAgIHsKICAgICAgICAgQ09NUElMRV9BU1NFUlQoY2hhcmFjdGVyc0Nv
dW50ID4gMSwgQXRvbWljU3RyaW5nRnJvbUxpdGVyYWxOb3RFbXB0eSk7CiAgICAgICAgIENPTVBJ
TEVfQVNTRVJUKChjaGFyYWN0ZXJzQ291bnQgLSAxIDw9ICgodW5zaWduZWQofjApIC0gc2l6ZW9m
KFN0cmluZ0ltcGwpKSAvIHNpemVvZihMQ2hhcikpKSwgQXRvbWljU3RyaW5nRnJvbUxpdGVyYWxD
YW5ub3RPdmVyZmxvdyk7CkBAIC0xNjksNyArMTY5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
IHJldHVybiByOwogICAgICAgICByZXR1cm4gYWRkU2xvd0Nhc2Uocik7CiAgICAgfQotICAgIFdU
Rl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBsPiBhZGRGcm9t
TGl0ZXJhbERhdGEoY29uc3QgTENoYXIgKmNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCk7Cisg
ICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGFk
ZEZyb21MaXRlcmFsRGF0YShjb25zdCBjaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgp
OwogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJpbmdJbXBs
PiBhZGRTbG93Q2FzZShTdHJpbmdJbXBsKik7CiAgICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0
YXRpYyBBdG9taWNTdHJpbmcgZnJvbVVURjhJbnRlcm5hbChjb25zdCBjaGFyKiwgY29uc3QgY2hh
ciopOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwCmluZGV4IGY4MmI1OWRlMWRmZDg1
OTdhOTQ3NTBhYzc0OGU1NDBhZjAwMjc5ZDkuLmJhYmQ3ZGI2N2ViNjQ1ODg4M2ViZmFiYzc3ODgy
MGFhYTE5NzUxZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5j
cHAKKysrIGIvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtODIsOSArODIs
OSBAQCBTdHJpbmdJbXBsOjp+U3RyaW5nSW1wbCgpCiAgICAgbV9zdWJzdHJpbmdCdWZmZXItPmRl
cmVmKCk7CiB9CiAKLVBhc3NSZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlRnJv
bUxpdGVyYWwoY29uc3QgTENoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKK1Bhc3NS
ZWZQdHI8U3RyaW5nSW1wbD4gU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwoY29uc3QgY2hh
ciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewotICAgIEFTU0VSVChjaGFyYWN0ZXJz
QXJlQWxsQVNDSUk8TENoYXI+KGNoYXJhY3RlcnMsIGxlbmd0aCkpOworICAgIEFTU0VSVChjaGFy
YWN0ZXJzQXJlQWxsQVNDSUk8TENoYXI+KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENoYXIqPihj
aGFyYWN0ZXJzKSwgbGVuZ3RoKSk7CiAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTdHJpbmdJbXBs
KGNoYXJhY3RlcnMsIGxlbmd0aCwgQ29uc3RydWN0RnJvbUxpdGVyYWwpKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvdGV4dC9TdHJpbmdJbXBsLmggYi9Tb3VyY2UvV1RGL3d0Zi90
ZXh0L1N0cmluZ0ltcGwuaAppbmRleCBlOTFlYzYxYzM1Yzc2NjU5ZDYxODhlMTQ2ZTA2MTA0YWNj
N2UxMzZiLi5jOWNjYWQwNjY5ZTUzM2JiN2Q3NWM1MGI1MzM1MTAzNjFhMDI4ZDBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi90ZXh0L1N0cmluZ0ltcGwuaApAQCAtNTgsNyArNTgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIHN0
cnVjdCBDU3RyaW5nVHJhbnNsYXRvcjsKIHN0cnVjdCBIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0
b3I7CiBzdHJ1Y3QgSGFzaEFuZFVURjhDaGFyYWN0ZXJzVHJhbnNsYXRvcjsKLXN0cnVjdCBMQ2hh
ckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I7CitzdHJ1Y3QgQ2hhckJ1ZmZlckZyb21M
aXRlcmFsRGF0YVRyYW5zbGF0b3I7CiBzdHJ1Y3QgU3Vic3RyaW5nVHJhbnNsYXRvcjsKIHN0cnVj
dCBVQ2hhckJ1ZmZlclRyYW5zbGF0b3I7CiAKQEAgLTc2LDcgKzc2LDcgQEAgY2xhc3MgU3RyaW5n
SW1wbCB7CiAgICAgZnJpZW5kIHN0cnVjdCBXVEY6OkNTdHJpbmdUcmFuc2xhdG9yOwogICAgIGZy
aWVuZCBzdHJ1Y3QgV1RGOjpIYXNoQW5kQ2hhcmFjdGVyc1RyYW5zbGF0b3I7CiAgICAgZnJpZW5k
IHN0cnVjdCBXVEY6Okhhc2hBbmRVVEY4Q2hhcmFjdGVyc1RyYW5zbGF0b3I7Ci0gICAgZnJpZW5k
IHN0cnVjdCBXVEY6OkxDaGFyQnVmZmVyRnJvbUxpdGVyYWxEYXRhVHJhbnNsYXRvcjsKKyAgICBm
cmllbmQgc3RydWN0IFdURjo6Q2hhckJ1ZmZlckZyb21MaXRlcmFsRGF0YVRyYW5zbGF0b3I7CiAg
ICAgZnJpZW5kIHN0cnVjdCBXVEY6OlN1YnN0cmluZ1RyYW5zbGF0b3I7CiAgICAgZnJpZW5kIHN0
cnVjdCBXVEY6OlVDaGFyQnVmZmVyVHJhbnNsYXRvcjsKICAgICBmcmllbmQgY2xhc3MgQXRvbWlj
U3RyaW5nSW1wbDsKQEAgLTE2NiwxMCArMTY2LDEwIEBAIHByaXZhdGU6CiAgICAgfQogCiAgICAg
ZW51bSBDb25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZyB7IENvbnN0cnVjdEZyb21MaXRlcmFsIH07Ci0g
ICAgU3RyaW5nSW1wbChjb25zdCBMQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoLCBD
b25zdHJ1Y3RGcm9tTGl0ZXJhbFRhZykKKyAgICBTdHJpbmdJbXBsKGNvbnN0IGNoYXIqIGNoYXJh
Y3RlcnMsIHVuc2lnbmVkIGxlbmd0aCwgQ29uc3RydWN0RnJvbUxpdGVyYWxUYWcpCiAgICAgICAg
IDogbV9yZWZDb3VudChzX3JlZkNvdW50SW5jcmVtZW50KQogICAgICAgICAsIG1fbGVuZ3RoKGxl
bmd0aCkKLSAgICAgICAgLCBtX2RhdGE4KGNoYXJhY3RlcnMpCisgICAgICAgICwgbV9kYXRhOChy
ZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oY2hhcmFjdGVycykpCiAgICAgICAgICwgbV9i
dWZmZXIoMCkKICAgICAgICAgLCBtX2hhc2hBbmRGbGFncyhzX2hhc2hGbGFnOEJpdEJ1ZmZlciB8
IEJ1ZmZlckludGVybmFsIHwgc19oYXNoRmxhZ0hhc1Rlcm1pbmF0aW5nTnVsbENoYXJhY3RlcikK
ICAgICB7CkBAIC0yOTcsMTQgKzI5NywxNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgU3RyaW5nSW1wbChyZXAtPm1fZGF0YTE2ICsgb2Zmc2V0LCBsZW5ndGgsIG93bmVy
UmVwKSk7CiAgICAgfQogCi0gICAgV1RGX0VYUE9SVF9TVFJJTkdfQVBJIHN0YXRpYyBQYXNzUmVm
UHRyPFN0cmluZ0ltcGw+IGNyZWF0ZUZyb21MaXRlcmFsKGNvbnN0IExDaGFyKiBjaGFyYWN0ZXJz
LCB1bnNpZ25lZCBsZW5ndGgpOworICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFz
c1JlZlB0cjxTdHJpbmdJbXBsPiBjcmVhdGVGcm9tTGl0ZXJhbChjb25zdCBjaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBsZW5ndGgpOwogICAgIHRlbXBsYXRlPHVuc2lnbmVkIGNoYXJhY3RlcnND
b3VudD4KICAgICBBTFdBWVNfSU5MSU5FIHN0YXRpYyBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGNy
ZWF0ZUZyb21MaXRlcmFsKGNvbnN0IGNoYXIgKCZjaGFyYWN0ZXJzKVtjaGFyYWN0ZXJzQ291bnRd
KQogICAgIHsKICAgICAgICAgQ09NUElMRV9BU1NFUlQoY2hhcmFjdGVyc0NvdW50ID4gMSwgU3Ry
aW5nSW1wbEZyb21MaXRlcmFsTm90RW1wdHkpOwogICAgICAgICBDT01QSUxFX0FTU0VSVCgoY2hh
cmFjdGVyc0NvdW50IC0gMSA8PSAoKHVuc2lnbmVkKH4wKSAtIHNpemVvZihTdHJpbmdJbXBsKSkg
LyBzaXplb2YoTENoYXIpKSksIFN0cmluZ0ltcGxGcm9tTGl0ZXJhbENhbm5vdE92ZXJmbG93KTsK
IAotICAgICAgICByZXR1cm4gY3JlYXRlRnJvbUxpdGVyYWwocmVpbnRlcnByZXRfY2FzdDxjb25z
dCBMQ2hhcio+KGNoYXJhY3RlcnMpLCBjaGFyYWN0ZXJzQ291bnQgLSAxKTsKKyAgICAgICAgcmV0
dXJuIGNyZWF0ZUZyb21MaXRlcmFsKGNoYXJhY3RlcnMsIGNoYXJhY3RlcnNDb3VudCAtIDEpOwog
ICAgIH0KIAogICAgIFdURl9FWFBPUlRfU1RSSU5HX0FQSSBzdGF0aWMgUGFzc1JlZlB0cjxTdHJp
bmdJbXBsPiBjcmVhdGVVbmluaXRpYWxpemVkKHVuc2lnbmVkIGxlbmd0aCwgTENoYXIqJiBkYXRh
KTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3
NjBiMzk5NjQ1MWEzZTVlNGJkMGVlOWUzNDgyMzNjZjIzNzc4NmIyLi41NzRkNWI2MmM5NGEyM2E1
OWY4ZjAzNWU1MTA2Y2Y0ODJmNzI4YTQ4IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDgtMDcgIEJlbmphbWlu
IFBvdWxhaW4gIDxicG91bGFpbkBhcHBsZS5jb20+CisKKyAgICAgICAgVXNlIGNoYXIqIGluc3Rl
YWQgb2YgTENoYXIqIGZvciB0aGUgcHVibGljIGludGVyZmFjZSBvZiBTdHJpbmcgY29uc3RydWN0
aW9uIGZyb20gbGl0ZXJhbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTkzNDAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcDoKKyAgICAg
ICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDEyLTA4LTA3ICBYaWFuemh1IFdhbmcgIDx3
YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtLUFuZHJvaWRdW05S
V1RdIEZpeCAyIEZJWE1FcyBpbiBjaHJvbWl1bV9hbmRyb2lkLnB5CmRpZmYgLS1naXQgYS9Ub29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9TdHJpbmdJbXBsLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3BwCmluZGV4IDYxYmIwNmNjNDBlNTk1YWRkY2Mx
YjY5NjQ5OGQzODE0ZWM2NDIzOTYuLmU1MWY3MmZkZjVmZTFiY2I3NDE4NzI3NWFkNjllM2M5NDlk
NTYzOTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0lt
cGwuY3BwCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL1N0cmluZ0ltcGwuY3Bw
CkBAIC0zOCw3ICszOCw3IEBAIFRFU1QoV1RGLCBTdHJpbmdJbXBsQ3JlYXRpb25Gcm9tTGl0ZXJh
bCkKICAgICBBU1NFUlRfVFJVRShzdHJpbmdXaXRoVGVtcGxhdGUtPmhhc1Rlcm1pbmF0aW5nTnVs
bENoYXJhY3RlcigpKTsKIAogICAgIGNvbnN0IGNoYXIqIHByb2dyYW1tYXRpY1N0cmluZ0RhdGEg
PSAiRXhwbGljaXQgU2l6ZSBMaXRlcmFsIjsKLSAgICBSZWZQdHI8U3RyaW5nSW1wbD4gcHJvZ3Jh
bW1hdGljU3RyaW5nID0gU3RyaW5nSW1wbDo6Y3JlYXRlRnJvbUxpdGVyYWwocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBMQ2hhcio+KHByb2dyYW1tYXRpY1N0cmluZ0RhdGEpLCBzdHJsZW4ocHJvZ3Jh
bW1hdGljU3RyaW5nRGF0YSkpOworICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBwcm9ncmFtbWF0aWNT
dHJpbmcgPSBTdHJpbmdJbXBsOjpjcmVhdGVGcm9tTGl0ZXJhbChwcm9ncmFtbWF0aWNTdHJpbmdE
YXRhLCBzdHJsZW4ocHJvZ3JhbW1hdGljU3RyaW5nRGF0YSkpOwogICAgIEFTU0VSVF9FUShzdHJs
ZW4ocHJvZ3JhbW1hdGljU3RyaW5nRGF0YSksIHByb2dyYW1tYXRpY1N0cmluZy0+bGVuZ3RoKCkp
OwogICAgIEFTU0VSVF9UUlVFKGVxdWFsKHByb2dyYW1tYXRpY1N0cmluZy5nZXQoKSwgcHJvZ3Jh
bW1hdGljU3RyaW5nRGF0YSkpOwogICAgIEFTU0VSVF9FUShwcm9ncmFtbWF0aWNTdHJpbmdEYXRh
LCByZWludGVycHJldF9jYXN0PGNvbnN0IGNoYXIqPihwcm9ncmFtbWF0aWNTdHJpbmctPmNoYXJh
Y3RlcnM4KCkpKTsK
</data>
<flag name="review"
          id="166850"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
      

    </bug>

</bugzilla>