<?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>83436</bug_id>
          
          <creation_ts>2012-04-08 12:17:13 -0700</creation_ts>
          <short_desc>[WIN] Use GetDateFormat and GetTimeFormat instead of strftime</short_desc>
          <delta_ts>2012-07-23 00:54:31 -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>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>Windows 7</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>aestes</cc>
    
    <cc>aroben</cc>
    
    <cc>bfulgham</cc>
    
    <cc>jberlin</cc>
    
    <cc>jhoneycutt</cc>
    
    <cc>sfalken</cc>
    
    <cc>yosin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>598051</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-08 12:17:13 -0700</bug_when>
    <thetext>[WIN] Use GetDateFormat and GetTimeFormat instead of strftime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598052</commentid>
    <comment_count>1</comment_count>
      <attachid>136154</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-04-08 12:23:13 -0700</bug_when>
    <thetext>Created attachment 136154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601436</commentid>
    <comment_count>2</comment_count>
      <attachid>136154</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2012-04-12 12:22:50 -0700</bug_when>
    <thetext>Comment on attachment 136154
Patch

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

&gt; Source/JavaScriptCore/runtime/DatePrototype.cpp:233
&gt; +    UChar buffer[128];

How do we know this is long enough? Maybe we should use something like Vector&lt;UChar, 128&gt; and grow it if it turns out to be too small.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>637686</commentid>
    <comment_count>3</comment_count>
      <attachid>144922</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-05-30 14:18:47 -0700</bug_when>
    <thetext>Created attachment 144922
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>646461</commentid>
    <comment_count>4</comment_count>
      <attachid>144922</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2012-06-11 17:29:25 -0700</bug_when>
    <thetext>Comment on attachment 144922
Patch

Looks good to me!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675269</commentid>
    <comment_count>5</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-21 14:23:00 -0700</bug_when>
    <thetext>Committed r123293: &lt;http://trac.webkit.org/changeset/123293&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675421</commentid>
    <comment_count>6</comment_count>
    <who name="">yosin</who>
    <bug_when>2012-07-22 20:51:07 -0700</bug_when>
    <thetext>FYI:

GetTimeFormat works only for year 1601 to 320827.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx

It doesn&apos;t cover full JavaScript Date range.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/

GetTimeFormat also doesn&apos;t work with HTML5 Date range. So, we implemented formatDate for Windows in WebCore.
http://trac.webkit.org/browser/trunk/Source/WebCore/platform/text/LocaleWin.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>675502</commentid>
    <comment_count>7</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-07-23 00:54:31 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; GetTimeFormat works only for year 1601 to 320827.
&gt; http://msdn.microsoft.com/en-us/library/windows/desktop/ms724950(v=vs.85).aspx

Yes, but the current call to strftime() does not even return correct values for dates before 1900 on my windows 7 machine with VS2010.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136154</attachid>
            <date>2012-04-08 12:23:13 -0700</date>
            <delta_ts>2012-05-30 14:18:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83436-20120408212310.patch</filename>
            <type>text/plain</type>
            <size>4886</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NmMxMmExNDJhMjM5NzJmMGI5OTAwNjA0ZjRmNDViZDFkYjM2YWNlLi5kMDkyZTQxMzEyNmFlYmY5
MTE2ZTlkNmViYWRlYjRlYjViODg0ZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNC0wOCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBbV0lOXSBVc2UgR2V0RGF0ZUZvcm1hdCBhbmQgR2V0VGltZUZvcm1h
dCBpbnN0ZWFkIG9mIHN0cmZ0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBNUyBDUlQgaW1wbGVtZW50YXRpb24gb2Ygc3RyZnRpbWUgY2FsbHMg
dGhlIHNhbWUgdHdvIGZ1bmN0aW9ucy4KKyAgICAgICAgVXNpbmcgdGhlbSBkaXJlY3RseSBhdm9p
ZHMgdGhlIG92ZXJoZWFkIG9mIHBhcnNpbmcgdGhlIGZvcm1hdCBzdHJpbmcgYW5kIHJlbW92ZXMK
KyAgICAgICAgdGhlIGRlcGVuZGVuY3kgb24gc3RyZnRpbWUoKSBmb3IgV2luQ0Ugd2hlcmUgdGhp
cyBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdC4KKworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OmZvcm1hdExvY2FsZURhdGUpOgorCiAyMDEyLTA0LTA2
ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIERvIG5v
dCBhYnVzZSBBcnJheVN0b3JhZ2UncyBtX2xlbmd0aCBmb3IgdGVzdGluZyBhcnJheSBjb25zaXN0
ZW5jeQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNw
cAppbmRleCBkZGVhMzM3ODZhZjA0YWUxYzYzODBmYWNkNjM3MDgzMDNiMWM1ZTA0Li5iZjFmYTYz
YmMwMTBmNDlkM2RmYTY0ZDljNDI5Yzk0NDg2Zjk4NTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcApAQCAtNjYsMTAgKzY2LDYgQEAKICNp
bmNsdWRlIDx1bmljb2RlL3VkYXQuaD4KICNlbmRpZgogCi0jaWYgT1MoV0lOQ0UpICYmICFQTEFU
Rk9STShRVCkKLWV4dGVybiAiQyIgc2l6ZV90IHN0cmZ0aW1lKGNoYXIgKiBjb25zdCBzLCBjb25z
dCBzaXplX3QgbWF4c2l6ZSwgY29uc3QgY2hhciAqIGNvbnN0IGZvcm1hdCwgY29uc3Qgc3RydWN0
IHRtICogY29uc3QgdCk7IC8vcHJvdmlkZWQgYnkgbGliY2UKLSNlbmRpZgotCiB1c2luZyBuYW1l
c3BhY2UgV1RGOwogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTIyMywyMiArMjE5LDU0IEBAIHN0YXRp
YyBKU0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBleGVjLCBEYXRlSW5zdGFuY2Uq
IGRhdGVPYmplY3QsIGRvdWJsCiAKIHN0YXRpYyBKU0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhl
Y1N0YXRlKiBleGVjLCBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSYgZ2R0LCBMb2NhbGVEYXRlVGlt
ZUZvcm1hdCBmb3JtYXQpCiB7CisjaWYgT1MoV0lORE9XUykKKyAgICBTWVNURU1USU1FIHN5c3Rl
bVRpbWU7CisgICAgbWVtc2V0KCZzeXN0ZW1UaW1lLCAwLCBzaXplb2Yoc3lzdGVtVGltZSkpOwor
ICAgIHN5c3RlbVRpbWUud1llYXIgPSBnZHQueWVhciArIDE5MDA7CisgICAgc3lzdGVtVGltZS53
TW9udGggPSBnZHQubW9udGggKyAxOworICAgIHN5c3RlbVRpbWUud0RheSA9IGdkdC5tb250aERh
eTsKKyAgICBzeXN0ZW1UaW1lLndEYXlPZldlZWsgPSBnZHQud2Vla0RheTsKKyAgICBzeXN0ZW1U
aW1lLndIb3VyID0gZ2R0LmhvdXI7CisgICAgc3lzdGVtVGltZS53TWludXRlID0gZ2R0Lm1pbnV0
ZTsKKyAgICBzeXN0ZW1UaW1lLndTZWNvbmQgPSBnZHQuc2Vjb25kOworCisgICAgVUNoYXIgYnVm
ZmVyWzEyOF07CisgICAgc2l6ZV90IGxlbmd0aCA9IDA7CisKKyAgICBpZiAoZm9ybWF0ID09IExv
Y2FsZURhdGUpCisgICAgICAgIGxlbmd0aCA9IEdldERhdGVGb3JtYXRXKExPQ0FMRV9VU0VSX0RF
RkFVTFQsIDAsICZzeXN0ZW1UaW1lLCAwLCBidWZmZXIsIFdURl9BUlJBWV9MRU5HVEgoYnVmZmVy
KSk7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09IExvY2FsZVRpbWUpCisgICAgICAgIGxlbmd0aCA9
IEdldFRpbWVGb3JtYXRXKExPQ0FMRV9VU0VSX0RFRkFVTFQsIDAsICZzeXN0ZW1UaW1lLCAwLCBi
dWZmZXIsIFdURl9BUlJBWV9MRU5HVEgoYnVmZmVyKSk7CisgICAgZWxzZSBpZiAoZm9ybWF0ID09
IExvY2FsZURhdGVBbmRUaW1lKSB7CisgICAgICAgIGxlbmd0aCA9IEdldERhdGVGb3JtYXRXKExP
Q0FMRV9VU0VSX0RFRkFVTFQsIDAsICZzeXN0ZW1UaW1lLCAwLCBidWZmZXIsIFdURl9BUlJBWV9M
RU5HVEgoYnVmZmVyKSk7CisgICAgICAgIGlmICgwIDwgbGVuZ3RoICYmIGxlbmd0aCA8IFdURl9B
UlJBWV9MRU5HVEgoYnVmZmVyKSkgeworICAgICAgICAgICAgYnVmZmVyW2xlbmd0aCAtIDFdID0g
JyAnOworICAgICAgICAgICAgbGVuZ3RoICs9IEdldFRpbWVGb3JtYXRXKExPQ0FMRV9VU0VSX0RF
RkFVTFQsIDAsICZzeXN0ZW1UaW1lLCAwLCBidWZmZXIgKyBsZW5ndGgsIFdURl9BUlJBWV9MRU5H
VEgoYnVmZmVyKSAtIGxlbmd0aCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisKKyAgICAvLyAgUmVtb3ZlIHRlcm1pbmF0aW5nIG51bGwgY2hh
cmFjdGVyLgorICAgIGlmIChsZW5ndGggPiAwKQorICAgICAgICBsZW5ndGgtLTsKKworICAgIHJl
dHVybiBqc05vbnRyaXZpYWxTdHJpbmcoZXhlYywgVVN0cmluZyhidWZmZXIsIGxlbmd0aCkpOwor
CisjZWxzZSAvLyBPUyhXSU5ET1dTKQorCiAjaWYgSEFWRShMQU5HSU5GT19IKQogICAgIHN0YXRp
YyBjb25zdCBubF9pdGVtIGZvcm1hdHNbXSA9IHsgRF9UX0ZNVCwgRF9GTVQsIFRfRk1UIH07Ci0j
ZWxpZiAoT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkpCi0gICAgIC8vIHN0cmZ0aW1lKCkgZG9l
cyBub3Qgc3VwcG9ydCAnIycgb24gV2luQ0UKLSAgICBzdGF0aWMgY29uc3QgY2hhciogY29uc3Qg
Zm9ybWF0U3RyaW5nc1tdID0geyAiJWMiLCAiJXgiLCAiJVgiIH07CiAjZWxzZQogICAgIHN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBmb3JtYXRTdHJpbmdzW10gPSB7ICIlI2MiLCAiJSN4IiwgIiVY
IiB9OwogI2VuZGlmCi0gCisKICAgICAvLyBPZmZzZXQgeWVhciBpZiBuZWVkZWQKICAgICBzdHJ1
Y3QgdG0gbG9jYWxUTSA9IGdkdDsKICAgICBpbnQgeWVhciA9IGdkdC55ZWFyICsgMTkwMDsKICAg
ICBib29sIHllYXJOZWVkc09mZnNldCA9IHllYXIgPCAxOTAwIHx8IHllYXIgPiAyMDM4OwogICAg
IGlmICh5ZWFyTmVlZHNPZmZzZXQpCiAgICAgICAgIGxvY2FsVE0udG1feWVhciA9IGVxdWl2YWxl
bnRZZWFyRm9yRFNUKHllYXIpIC0gMTkwMDsKLSAKKwogI2lmIEhBVkUoTEFOR0lORk9fSCkKICAg
ICAvLyBXZSBkbyBub3QgYWxsb3cgc3RyZnRpbWUgdG8gZ2VuZXJhdGUgZGF0ZXMgd2l0aCAyLWRp
Z2l0cyB5ZWFycywKICAgICAvLyBib3RoIHRvIGF2b2lkIGFtYmlndWl0eSwgYW5kIGEgY3Jhc2gg
aW4gc3RybmNweSwgZm9yIHllYXJzIHRoYXQKQEAgLTI1OSwxOSArMjg3LDE5IEBAIHN0YXRpYyBK
U0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBleGVjLCBjb25zdCBHcmVnb3JpYW5E
YXRlVGltZSYgZ2R0LCBMCiAjZWxzZQogICAgIHNpemVfdCByZXQgPSBzdHJmdGltZSh0aW1lYnVm
ZmVyLCBidWZzaXplLCBmb3JtYXRTdHJpbmdzW2Zvcm1hdF0sICZsb2NhbFRNKTsKICNlbmRpZgot
IAorCiAgICAgaWYgKHJldCA9PSAwKQogICAgICAgICByZXR1cm4ganNFbXB0eVN0cmluZyhleGVj
KTsKLSAKKwogICAgIC8vIENvcHkgb3JpZ2luYWwgaW50byB0aGUgYnVmZmVyCiAgICAgaWYgKHll
YXJOZWVkc09mZnNldCAmJiBmb3JtYXQgIT0gTG9jYWxlVGltZSkgewogICAgICAgICBzdGF0aWMg
Y29uc3QgaW50IHllYXJMZW4gPSA1OyAgIC8vIEZJWE1FIHdpbGwgYmUgYSBwcm9ibGVtIGluIHRo
ZSB5ZWFyIDEwLDAwMAogICAgICAgICBjaGFyIHllYXJTdHJpbmdbeWVhckxlbl07Ci0gCisKICAg
ICAgICAgc25wcmludGYoeWVhclN0cmluZywgeWVhckxlbiwgIiVkIiwgbG9jYWxUTS50bV95ZWFy
ICsgMTkwMCk7CiAgICAgICAgIGNoYXIqIHllYXJMb2NhdGlvbiA9IHN0cnN0cih0aW1lYnVmZmVy
LCB5ZWFyU3RyaW5nKTsKICAgICAgICAgc25wcmludGYoeWVhclN0cmluZywgeWVhckxlbiwgIiVk
IiwgeWVhcik7Ci0gCisKICAgICAgICAgc3RybmNweSh5ZWFyTG9jYXRpb24sIHllYXJTdHJpbmcs
IHllYXJMZW4gLSAxKTsKICAgICB9CiAKQEAgLTI5Niw2ICszMjQsNyBAQCBzdGF0aWMgSlNDZWxs
KiBmb3JtYXRMb2NhbGVEYXRlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgR3JlZ29yaWFuRGF0ZVRp
bWUmIGdkdCwgTAogI2VuZGlmCiAKICAgICByZXR1cm4ganNOb250cml2aWFsU3RyaW5nKGV4ZWMs
IHRpbWVidWZmZXIpOworI2VuZGlmIC8vIE9TKFdJTkRPV1MpCiB9CiAKIHN0YXRpYyBKU0NlbGwq
IGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBleGVjLCBEYXRlSW5zdGFuY2UqIGRhdGVPYmpl
Y3QsIGRvdWJsZSwgTG9jYWxlRGF0ZVRpbWVGb3JtYXQgZm9ybWF0KQo=
</data>
<flag name="review"
          id="140859"
          type_id="1"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>144922</attachid>
            <date>2012-05-30 14:18:47 -0700</date>
            <delta_ts>2012-06-11 17:29:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83436b.patch</filename>
            <type>text/plain</type>
            <size>5103</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
NmMxMmExNDJhMjM5NzJmMGI5OTAwNjA0ZjRmNDViZDFkYjM2YWNlLi5kMDkyZTQxMzEyNmFlYmY5
MTE2ZTlkNmViYWRlYjRlYjViODg0ZDJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMi0wNC0wOCAgUGF0cmljayBHYW5zdGVyZXIgIDxwYXJvZ2FAd2Via2l0
Lm9yZz4KKworICAgICAgICBbV0lOXSBVc2UgR2V0RGF0ZUZvcm1hdCBhbmQgR2V0VGltZUZvcm1h
dCBpbnN0ZWFkIG9mIHN0cmZ0aW1lCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoZSBNUyBDUlQgaW1wbGVtZW50YXRpb24gb2Ygc3RyZnRpbWUgY2FsbHMg
dGhlIHNhbWUgdHdvIGZ1bmN0aW9ucy4KKyAgICAgICAgVXNpbmcgdGhlbSBkaXJlY3RseSBhdm9p
ZHMgdGhlIG92ZXJoZWFkIG9mIHBhcnNpbmcgdGhlIGZvcm1hdCBzdHJpbmcgYW5kIHJlbW92ZXMK
KyAgICAgICAgdGhlIGRlcGVuZGVuY3kgb24gc3RyZnRpbWUoKSBmb3IgV2luQ0Ugd2hlcmUgdGhp
cyBmdW5jdGlvbiBkb2VzIG5vdCBleGlzdC4KKworICAgICAgICAqIHJ1bnRpbWUvRGF0ZVByb3Rv
dHlwZS5jcHA6CisgICAgICAgIChKU0M6OmZvcm1hdExvY2FsZURhdGUpOgorCiAyMDEyLTA0LTA2
ICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIERvIG5v
dCBhYnVzZSBBcnJheVN0b3JhZ2UncyBtX2xlbmd0aCBmb3IgdGVzdGluZyBhcnJheSBjb25zaXN0
ZW5jeQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRGF0ZVByb3Rv
dHlwZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNw
cAppbmRleCBmODFhZTEwLi4zZDZjNGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9EYXRlUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9EYXRlUHJvdG90eXBlLmNwcApAQCAtNjYsMTAgKzY2LDYgQEAKICNpbmNsdWRlIDx1
bmljb2RlL3VkYXQuaD4KICNlbmRpZgogCi0jaWYgT1MoV0lOQ0UpICYmICFQTEFURk9STShRVCkK
LWV4dGVybiAiQyIgc2l6ZV90IHN0cmZ0aW1lKGNoYXIgKiBjb25zdCBzLCBjb25zdCBzaXplX3Qg
bWF4c2l6ZSwgY29uc3QgY2hhciAqIGNvbnN0IGZvcm1hdCwgY29uc3Qgc3RydWN0IHRtICogY29u
c3QgdCk7IC8vcHJvdmlkZWQgYnkgbGliY2UKLSNlbmRpZgotCiB1c2luZyBuYW1lc3BhY2UgV1RG
OwogCiBuYW1lc3BhY2UgSlNDIHsKQEAgLTIyMywyMiArMjE5LDU3IEBAIHN0YXRpYyBKU0NlbGwq
IGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBleGVjLCBEYXRlSW5zdGFuY2UqIGRhdGVPYmpl
Y3QsIGRvdWJsCiAKIHN0YXRpYyBKU0NlbGwqIGZvcm1hdExvY2FsZURhdGUoRXhlY1N0YXRlKiBl
eGVjLCBjb25zdCBHcmVnb3JpYW5EYXRlVGltZSYgZ2R0LCBMb2NhbGVEYXRlVGltZUZvcm1hdCBm
b3JtYXQpCiB7CisjaWYgT1MoV0lORE9XUykKKyAgICBTWVNURU1USU1FIHN5c3RlbVRpbWU7Cisg
ICAgbWVtc2V0KCZzeXN0ZW1UaW1lLCAwLCBzaXplb2Yoc3lzdGVtVGltZSkpOworICAgIHN5c3Rl
bVRpbWUud1llYXIgPSBnZHQueWVhciArIDE5MDA7CisgICAgc3lzdGVtVGltZS53TW9udGggPSBn
ZHQubW9udGggKyAxOworICAgIHN5c3RlbVRpbWUud0RheSA9IGdkdC5tb250aERheTsKKyAgICBz
eXN0ZW1UaW1lLndEYXlPZldlZWsgPSBnZHQud2Vla0RheTsKKyAgICBzeXN0ZW1UaW1lLndIb3Vy
ID0gZ2R0LmhvdXI7CisgICAgc3lzdGVtVGltZS53TWludXRlID0gZ2R0Lm1pbnV0ZTsKKyAgICBz
eXN0ZW1UaW1lLndTZWNvbmQgPSBnZHQuc2Vjb25kOworCisgICAgVmVjdG9yPFVDaGFyLCAxMjg+
IGJ1ZmZlcjsKKyAgICBzaXplX3QgbGVuZ3RoID0gMDsKKworICAgIGlmIChmb3JtYXQgPT0gTG9j
YWxlRGF0ZSkgeworICAgICAgICBidWZmZXIucmVzaXplKEdldERhdGVGb3JtYXRXKExPQ0FMRV9V
U0VSX0RFRkFVTFQsIDAsICZzeXN0ZW1UaW1lLCAwLCAwLCAwKSk7CisgICAgICAgIGxlbmd0aCA9
IEdldERhdGVGb3JtYXRXKExPQ0FMRV9VU0VSX0RFRkFVTFQsIDAsICZzeXN0ZW1UaW1lLCAwLCBi
dWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpKTsKKyAgICB9IGVsc2UgaWYgKGZvcm1hdCA9PSBM
b2NhbGVUaW1lKSB7CisgICAgICAgIGJ1ZmZlci5yZXNpemUoR2V0VGltZUZvcm1hdFcoTE9DQUxF
X1VTRVJfREVGQVVMVCwgMCwgJnN5c3RlbVRpbWUsIDAsIDAsIDApKTsKKyAgICAgICAgbGVuZ3Ro
ID0gR2V0VGltZUZvcm1hdFcoTE9DQUxFX1VTRVJfREVGQVVMVCwgMCwgJnN5c3RlbVRpbWUsIDAs
IGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgIH0gZWxzZSBpZiAoZm9ybWF0ID09
IExvY2FsZURhdGVBbmRUaW1lKSB7CisgICAgICAgIGJ1ZmZlci5yZXNpemUoR2V0RGF0ZUZvcm1h
dFcoTE9DQUxFX1VTRVJfREVGQVVMVCwgMCwgJnN5c3RlbVRpbWUsIDAsIDAsIDApICsgR2V0VGlt
ZUZvcm1hdFcoTE9DQUxFX1VTRVJfREVGQVVMVCwgMCwgJnN5c3RlbVRpbWUsIDAsIDAsIDApKTsK
KyAgICAgICAgbGVuZ3RoID0gR2V0RGF0ZUZvcm1hdFcoTE9DQUxFX1VTRVJfREVGQVVMVCwgMCwg
JnN5c3RlbVRpbWUsIDAsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCkpOworICAgICAgICBp
ZiAobGVuZ3RoKSB7CisgICAgICAgICAgICBidWZmZXJbbGVuZ3RoIC0gMV0gPSAnICc7CisgICAg
ICAgICAgICBsZW5ndGggKz0gR2V0VGltZUZvcm1hdFcoTE9DQUxFX1VTRVJfREVGQVVMVCwgMCwg
JnN5c3RlbVRpbWUsIDAsIGJ1ZmZlci5kYXRhKCkgKyBsZW5ndGgsIGJ1ZmZlci5zaXplKCkgLSBs
ZW5ndGgpOworICAgICAgICB9CisgICAgfSBlbHNlCisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworCisgICAgLy8gIFJlbW92ZSB0ZXJtaW5hdGluZyBudWxsIGNoYXJhY3Rlci4KKyAgICBp
ZiAobGVuZ3RoKQorICAgICAgICBsZW5ndGgtLTsKKworICAgIHJldHVybiBqc05vbnRyaXZpYWxT
dHJpbmcoZXhlYywgVVN0cmluZyhidWZmZXIuZGF0YSgpLCBsZW5ndGgpKTsKKworI2Vsc2UgLy8g
T1MoV0lORE9XUykKKwogI2lmIEhBVkUoTEFOR0lORk9fSCkKICAgICBzdGF0aWMgY29uc3Qgbmxf
aXRlbSBmb3JtYXRzW10gPSB7IERfVF9GTVQsIERfRk1ULCBUX0ZNVCB9OwotI2VsaWYgKE9TKFdJ
TkNFKSAmJiAhUExBVEZPUk0oUVQpKQotICAgICAvLyBzdHJmdGltZSgpIGRvZXMgbm90IHN1cHBv
cnQgJyMnIG9uIFdpbkNFCi0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGZvcm1hdFN0cmlu
Z3NbXSA9IHsgIiVjIiwgIiV4IiwgIiVYIiB9OwogI2Vsc2UKICAgICBzdGF0aWMgY29uc3QgY2hh
ciogY29uc3QgZm9ybWF0U3RyaW5nc1tdID0geyAiJSNjIiwgIiUjeCIsICIlWCIgfTsKICNlbmRp
ZgotIAorCiAgICAgLy8gT2Zmc2V0IHllYXIgaWYgbmVlZGVkCiAgICAgc3RydWN0IHRtIGxvY2Fs
VE0gPSBnZHQ7CiAgICAgaW50IHllYXIgPSBnZHQueWVhciArIDE5MDA7CiAgICAgYm9vbCB5ZWFy
TmVlZHNPZmZzZXQgPSB5ZWFyIDwgMTkwMCB8fCB5ZWFyID4gMjAzODsKICAgICBpZiAoeWVhck5l
ZWRzT2Zmc2V0KQogICAgICAgICBsb2NhbFRNLnRtX3llYXIgPSBlcXVpdmFsZW50WWVhckZvckRT
VCh5ZWFyKSAtIDE5MDA7Ci0gCisKICNpZiBIQVZFKExBTkdJTkZPX0gpCiAgICAgLy8gV2UgZG8g
bm90IGFsbG93IHN0cmZ0aW1lIHRvIGdlbmVyYXRlIGRhdGVzIHdpdGggMi1kaWdpdHMgeWVhcnMs
CiAgICAgLy8gYm90aCB0byBhdm9pZCBhbWJpZ3VpdHksIGFuZCBhIGNyYXNoIGluIHN0cm5jcHks
IGZvciB5ZWFycyB0aGF0CkBAIC0yNTksMTkgKzI5MCwxOSBAQCBzdGF0aWMgSlNDZWxsKiBmb3Jt
YXRMb2NhbGVEYXRlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgR3JlZ29yaWFuRGF0ZVRpbWUmIGdk
dCwgTAogI2Vsc2UKICAgICBzaXplX3QgcmV0ID0gc3RyZnRpbWUodGltZWJ1ZmZlciwgYnVmc2l6
ZSwgZm9ybWF0U3RyaW5nc1tmb3JtYXRdLCAmbG9jYWxUTSk7CiAjZW5kaWYKLSAKKwogICAgIGlm
IChyZXQgPT0gMCkKICAgICAgICAgcmV0dXJuIGpzRW1wdHlTdHJpbmcoZXhlYyk7Ci0gCisKICAg
ICAvLyBDb3B5IG9yaWdpbmFsIGludG8gdGhlIGJ1ZmZlcgogICAgIGlmICh5ZWFyTmVlZHNPZmZz
ZXQgJiYgZm9ybWF0ICE9IExvY2FsZVRpbWUpIHsKICAgICAgICAgc3RhdGljIGNvbnN0IGludCB5
ZWFyTGVuID0gNTsgICAvLyBGSVhNRSB3aWxsIGJlIGEgcHJvYmxlbSBpbiB0aGUgeWVhciAxMCww
MDAKICAgICAgICAgY2hhciB5ZWFyU3RyaW5nW3llYXJMZW5dOwotIAorCiAgICAgICAgIHNucHJp
bnRmKHllYXJTdHJpbmcsIHllYXJMZW4sICIlZCIsIGxvY2FsVE0udG1feWVhciArIDE5MDApOwog
ICAgICAgICBjaGFyKiB5ZWFyTG9jYXRpb24gPSBzdHJzdHIodGltZWJ1ZmZlciwgeWVhclN0cmlu
Zyk7CiAgICAgICAgIHNucHJpbnRmKHllYXJTdHJpbmcsIHllYXJMZW4sICIlZCIsIHllYXIpOwot
IAorCiAgICAgICAgIHN0cm5jcHkoeWVhckxvY2F0aW9uLCB5ZWFyU3RyaW5nLCB5ZWFyTGVuIC0g
MSk7CiAgICAgfQogCkBAIC0yOTYsNiArMzI3LDcgQEAgc3RhdGljIEpTQ2VsbCogZm9ybWF0TG9j
YWxlRGF0ZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IEdyZWdvcmlhbkRhdGVUaW1lJiBnZHQsIEwK
ICNlbmRpZgogCiAgICAgcmV0dXJuIGpzTm9udHJpdmlhbFN0cmluZyhleGVjLCB0aW1lYnVmZmVy
KTsKKyNlbmRpZiAvLyBPUyhXSU5ET1dTKQogfQogCiBzdGF0aWMgSlNDZWxsKiBmb3JtYXRMb2Nh
bGVEYXRlKEV4ZWNTdGF0ZSogZXhlYywgRGF0ZUluc3RhbmNlKiBkYXRlT2JqZWN0LCBkb3VibGUs
IExvY2FsZURhdGVUaW1lRm9ybWF0IGZvcm1hdCkK
</data>
<flag name="review"
          id="151922"
          type_id="1"
          status="+"
          setter="bfulgham"
    />
          </attachment>
      

    </bug>

</bugzilla>