<?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>5257</bug_id>
          
          <creation_ts>2005-10-04 10:29:28 -0700</creation_ts>
          <short_desc>setYear() does not match FireFox/IE behavior</short_desc>
          <delta_ts>2006-07-24 06:55:58 -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>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</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="George Staikos">staikos</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>ian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21335</commentid>
    <comment_count>0</comment_count>
    <who name="George Staikos">staikos</who>
    <bug_when>2005-10-04 10:29:28 -0700</bug_when>
    <thetext>From the KJS testcases, setYear was failing in several cases: 
 
setYear(100) was not giving back 100 
setYear(1899) was giving back 3799 instead of 1899 
and more cases were broken.  Here is my testcase and patch will be attached. 
 
d2 = new Date(); d2.setYear(10); print(d2.getFullYear()); print(&quot;expected 
1910&quot;); 
d2 = new Date(); d2.setYear(100); print(d2.getFullYear()); print(&quot;expected 
100&quot;); 
d2 = new Date(); d2.setYear(105); print(d2.getFullYear()); print(&quot;expected 
105&quot;); 
d2 = new Date(); d2.setYear(1899); print(d2.getFullYear()); print(&quot;expected 
1899&quot;); 
d2 = new Date(); d2.setYear(1900); print(d2.getFullYear()); print(&quot;expected 
1900&quot;); 
d2 = new Date(); d2.setYear(2000); print(d2.getFullYear()); print(&quot;expected 
2000&quot;); 
d2 = new Date(); d2.setYear(0); print(d2.getFullYear()); print(&quot;expected 
1900&quot;); 
d2 = new Date(); d2.setYear(-10); print(d2.getFullYear()); print(&quot;expected 
-10&quot;); 
d2 = new Date(); d2.setYear(-0); print(d2.getFullYear()); print(&quot;expected 
1900&quot;);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21336</commentid>
    <comment_count>1</comment_count>
      <attachid>4193</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2005-10-04 10:30:07 -0700</bug_when>
    <thetext>Created attachment 4193
Suggested patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21625</commentid>
    <comment_count>2</comment_count>
      <attachid>4193</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2005-10-09 14:06:09 -0700</bug_when>
    <thetext>Comment on attachment 4193
Suggested patch

I think it&apos;s a mistake to call fillStructures..., since that function parses
optional month and day arguments, which aren&apos;t valid in a setYear call. (That&apos;s
the cause for the r-.) 

I&apos;m also not clear how this solves the 18XX case, since fillStructures... will
set tm_year to y - 1900 (a negative number).

Finally, it would be neat if you made this change in Date::construct() and
Date::callAsFunction, since they have the same problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21750</commentid>
    <comment_count>3</comment_count>
      <attachid>4193</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2005-10-10 15:45:02 -0700</bug_when>
    <thetext>Comment on attachment 4193
Suggested patch

&gt; I think it&apos;s a mistake to call fillStructures..., since that function parses 
&gt; optional month and day arguments, which aren&apos;t valid in a setYear call.  
&gt; (That&apos;s the cause for the r-.)  
 
   Hm good point.  That should be fixed.  At least this is a case where we are 
more lenient than the spec says, as opposed to wrong. 
 
&gt; I&apos;m also not clear how this solves the 18XX case, since fillStructures...  
&gt; will set tm_year to y - 1900 (a negative number). 
 
   mktime() at least handles that properly.  I tested with the testcase above 
on Linux. 
 
&gt; Finally, it would be neat if you made this change in Date::construct() and 
&gt; Date::callAsFunction, since they have the same problem. 
 
   Didn&apos;t try or investigate.  Better to open another bug report for this 
IMHO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49967</commentid>
    <comment_count>4</comment_count>
      <attachid>9468</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-07-15 13:36:37 -0700</bug_when>
    <thetext>Created attachment 9468
First attempt

The patch works for the tests mentioned in this bug report. Also playing with
http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_setyear showed no problems.
Let me know if this is the right approach, and what testcases are needed.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50013</commentid>
    <comment_count>5</comment_count>
      <attachid>9468</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2006-07-16 02:25:43 -0700</bug_when>
    <thetext>Comment on attachment 9468
First attempt

This patch actually matches the logic in the spec (although it&apos;s inverted):

4. If Result(2) is not NaN and 0 &lt;= ToInteger(Result(2)) &lt;= 99 then Result(4) is ToInteger(Result(2)) + 1900. Otherwise, Result(4) is Result(2).

No testcase is needed if this fixes an existing testcase, but you should attach updated results for the testcases you&apos;ve fixed. (r- for that)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50020</commentid>
    <comment_count>6</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-07-16 03:51:19 -0700</bug_when>
    <thetext>Hi Geoff,

(In reply to comment #5)
&gt; (From update of attachment 9468 [edit])
&gt; This patch actually matches the logic in the spec (although it&apos;s inverted):
&gt; 
&gt; 4. If Result(2) is not NaN and 0 &lt;= ToInteger(Result(2)) &lt;= 99 then Result(4)
&gt; is ToInteger(Result(2)) + 1900. Otherwise, Result(4) is Result(2).
&gt; 
&gt; No testcase is needed if this fixes an existing testcase, but you should attach
&gt; updated results for the testcases you&apos;ve fixed. (r- for that)

Well, I looked only at the JSC tests, no changes there. Now that I look at the layout tests, no
changes either :} But I noticed LayoutTests/fast/js/kde/Date.html-disabled, which actually tests
setYear well, just like in this bug report. I verified by reenabling it that all setYear tests worked,
these are the differences compared to the old situation:

&lt; FAIL d2.setYear(-1), d2.getFullYear() should be -1 (of type number). Was 1899 (of type number).
---
&gt; PASS d2.setYear(-1), d2.getFullYear() is -1
48c48
&lt; FAIL d2.setYear(100), d2.getFullYear() should be 100 (of type number). Was 2000 (of type number).
---
&gt; PASS d2.setYear(100), d2.getFullYear() is 100
50c50
&lt; FAIL d2.setYear(1899), d2.getFullYear() should be 1899 (of type number). Was 3799 (of type number).
---
&gt; PASS d2.setYear(1899), d2.getFullYear() is 1899

Unfortunately I guess LayoutTests/fast/js/kde/Date.html-disabled is disabled for a reason, so
there is no direct test at this point for my patch. Let me know what is the best action to take, I
could make a testcase based on Date.html-disabled that only tests setYear?
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50138</commentid>
    <comment_count>7</comment_count>
      <attachid>9519</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-07-17 00:05:34 -0700</bug_when>
    <thetext>Created attachment 9519
Now with testcase

As suggested by ggaren, now we have a test for setYear, splitted from Date.js kde test.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50151</commentid>
    <comment_count>8</comment_count>
      <attachid>9519</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-17 07:51:11 -0700</bug_when>
    <thetext>Comment on attachment 9519
Now with testcase

Both the change logs mention the wrong bug number and the wrong bug description. Otherwise the fix looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50175</commentid>
    <comment_count>9</comment_count>
      <attachid>9526</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2006-07-17 11:01:28 -0700</bug_when>
    <thetext>Created attachment 9526
improved patch

Hi,

Hmm, I got two date fixes mixed up in a major way. Anyhoo, this one should be more accurate :)
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>50181</commentid>
    <comment_count>10</comment_count>
      <attachid>9526</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-17 11:40:22 -0700</bug_when>
    <thetext>Comment on attachment 9526
improved patch

r=me</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4193</attachid>
            <date>2005-10-04 10:30:07 -0700</date>
            <delta_ts>2006-07-17 00:05:34 -0700</delta_ts>
            <desc>Suggested patch</desc>
            <filename>jscore-setYear.patch</filename>
            <type>text/plain</type>
            <size>843</size>
            <attacher name="George Staikos">staikos</attacher>
            
              <data encoding="base64">SW5kZXg6IGRhdGVfb2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvY3ZzL3Jvb3QvSmF2
YVNjcmlwdENvcmUva2pzL2RhdGVfb2JqZWN0LmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41
OQpkaWZmIC11IC0zIC1wIC1yMS41OSBkYXRlX29iamVjdC5jcHAKLS0tIGRhdGVfb2JqZWN0LmNw
cAk0IE9jdCAyMDA1IDAxOjQzOjU4IC0wMDAwCTEuNTkKKysrIGRhdGVfb2JqZWN0LmNwcAk0IE9j
dCAyMDA1IDE3OjMzOjUyIC0wMDAwCkBAIC03NjcsNyArNzY3LDE2IEBAIFZhbHVlSW1wICpEYXRl
UHJvdG9GdW5jSW1wOjpjYWxsQXNGdW5jdGkKICAgICBmaWxsU3RydWN0dXJlc1VzaW5nRGF0ZUFy
Z3MoZXhlYywgYXJncywgMywgJm1zLCB0KTsKICAgICBicmVhazsKICAgY2FzZSBTZXRZZWFyOgot
ICAgIHQtPnRtX3llYXIgPSBhcmdzWzBdLT50b0ludDMyKGV4ZWMpID49IDE5MDAgPyBhcmdzWzBd
LT50b0ludDMyKGV4ZWMpIC0gMTkwMCA6IGFyZ3NbMF0tPnRvSW50MzIoZXhlYyk7CisgICAgIGlu
dCB5ID0gYXJnc1swXS0+dG9JbnQzMihleGVjKTsKKyAgICAgaWYgKHkgPCAxOTAwKSB7CisgICAg
ICAgaWYgKHkgPj0gMCAmJiB5IDw9IDk5KSB7CisgICAgICAgICB0LT50bV95ZWFyID0geTsKKyAg
ICAgICB9IGVsc2UgeworICAgICAgICAgZmlsbFN0cnVjdHVyZXNVc2luZ0RhdGVBcmdzKGV4ZWMs
IGFyZ3MsIDMsICZtcywgdCk7CisgICAgICAgfQorICAgICB9IGVsc2UgeworICAgICAgIHQtPnRt
X3llYXIgPSB5IC0gMTkwMDsKKyAgICAgfQogICAgIGJyZWFrOwogICB9CiAK
</data>
<flag name="review"
          id="707"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9468</attachid>
            <date>2006-07-15 13:36:37 -0700</date>
            <delta_ts>2006-07-17 00:05:34 -0700</delta_ts>
            <desc>First attempt</desc>
            <filename>5257.diff</filename>
            <type>text/plain</type>
            <size>1243</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDYwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtMDctMTUgIFJvYiBCdWlz
ICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTI1NworICAgICAgICBzZXRZZWFyKCkgZG9lcyBub3QgbWF0Y2ggRmlyZUZveC9JRSBiZWhhdmlv
cgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgcmlnaHQgdmFsdWVzIGVuZCB1cCBpbiB0bV95ZWFy
LgorCisgICAgICAgICoga2pzL2RhdGVfb2JqZWN0LmNwcDoKKyAgICAgICAgKEtKUzo6RGF0ZVBy
b3RvRnVuYzo6Y2FsbEFzRnVuY3Rpb24pOgorCiAyMDA2LTA3LTE1ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZi4KSW5kZXg6IEphdmFT
Y3JpcHRDb3JlL2tqcy9kYXRlX29iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENv
cmUva2pzL2RhdGVfb2JqZWN0LmNwcAkocmV2aXNpb24gMTU0NTgpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ranMvZGF0ZV9vYmplY3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02NTcsNyArNjU3LDcgQEAg
SlNWYWx1ZSAqRGF0ZVByb3RvRnVuYzo6Y2FsbEFzRnVuY3Rpb24oRQogICAgIGZpbGxTdHJ1Y3R1
cmVzVXNpbmdEYXRlQXJncyhleGVjLCBhcmdzLCAzLCAmbXMsICZ0KTsKICAgICBicmVhazsKICAg
Y2FzZSBTZXRZZWFyOgotICAgIHQudG1feWVhciA9IGFyZ3NbMF0tPnRvSW50MzIoZXhlYykgPj0g
MTkwMCA/IGFyZ3NbMF0tPnRvSW50MzIoZXhlYykgLSAxOTAwIDogYXJnc1swXS0+dG9JbnQzMihl
eGVjKTsKKyAgICB0LnRtX3llYXIgPSAoYXJnc1swXS0+dG9JbnQzMihleGVjKSA+IDk5IHx8IGFy
Z3NbMF0tPnRvSW50MzIoZXhlYykgPCAwKSA/IGFyZ3NbMF0tPnRvSW50MzIoZXhlYykgLSAxOTAw
IDogYXJnc1swXS0+dG9JbnQzMihleGVjKTsKICAgICBicmVhazsKICAgfQogCg==
</data>
<flag name="review"
          id="2892"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9519</attachid>
            <date>2006-07-17 00:05:34 -0700</date>
            <delta_ts>2006-07-17 11:01:28 -0700</delta_ts>
            <desc>Now with testcase</desc>
            <filename>5257-2.diff</filename>
            <type>text/plain</type>
            <size>4391</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDgwKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDYtMDctMTYgIFJvYiBCdWlz
ICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NDI1OAorICAgICAgICBEYXRlKCkudG9TdHJpbmcoKSBvbmx5IGluY2x1ZGVzIEdNVCBvZmZzZXQs
IG5vdCB0aW1lem9uZSBzdHJpbmcKKworICAgICAgICBVc2UgdGhlIGluZm8gaW4gdG1fem9uZSB0
byBhcHBlbmQgdGltZXpvbmUgYWJicmV2aWF0aW9uCisgICAgICAgIHRvIERhdGUoKS50b1N0cmlu
ZygpLgorCisgICAgICAgICoga2pzL2RhdGVfb2JqZWN0LmNwcDoKKyAgICAgICAgKEtKUzo6Zm9y
bWF0VGltZSk6CisKIDIwMDYtMDctMTYgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNv
bT4KIAogICAgICAgICBBcHByb3ZlZCBieSBNYWNpZWosIFJTIGJ5IEJldGguCkluZGV4OiBKYXZh
U2NyaXB0Q29yZS9ranMvZGF0ZV9vYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRD
b3JlL2tqcy9kYXRlX29iamVjdC5jcHAJKHJldmlzaW9uIDE1NDgwKQorKysgSmF2YVNjcmlwdENv
cmUva2pzL2RhdGVfb2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjU3LDcgKzY1Nyw3IEBA
IEpTVmFsdWUgKkRhdGVQcm90b0Z1bmM6OmNhbGxBc0Z1bmN0aW9uKEUKICAgICBmaWxsU3RydWN0
dXJlc1VzaW5nRGF0ZUFyZ3MoZXhlYywgYXJncywgMywgJm1zLCAmdCk7CiAgICAgYnJlYWs7CiAg
IGNhc2UgU2V0WWVhcjoKLSAgICB0LnRtX3llYXIgPSBhcmdzWzBdLT50b0ludDMyKGV4ZWMpID49
IDE5MDAgPyBhcmdzWzBdLT50b0ludDMyKGV4ZWMpIC0gMTkwMCA6IGFyZ3NbMF0tPnRvSW50MzIo
ZXhlYyk7CisgICAgdC50bV95ZWFyID0gKGFyZ3NbMF0tPnRvSW50MzIoZXhlYykgPiA5OSB8fCBh
cmdzWzBdLT50b0ludDMyKGV4ZWMpIDwgMCkgPyBhcmdzWzBdLT50b0ludDMyKGV4ZWMpIC0gMTkw
MCA6IGFyZ3NbMF0tPnRvSW50MzIoZXhlYyk7CiAgICAgYnJlYWs7CiAgIH0KIApJbmRleDogTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwko
cmV2aXNpb24gMTU0ODApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNSBAQAorMjAwNi0wNy0xNyAgUm9iIEJ1aXMgIDxidWlzQGtkZS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3Qg
Y2FzZSAoYmFzZWQgb24gZmFzdC9qcy9rZGUvcmVzb3VyY2VzL0RhdGUuanMpIGZvcgorICAgICAg
ICA8aHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD01MjU3Pgor
ICAgICAgICBEYXRlKCkudG9TdHJpbmcoKSBvbmx5IGluY2x1ZGVzIEdNVCBvZmZzZXQsIG5vdCB0
aW1lem9uZSBzdHJpbmcKKworICAgICAgICAqIGZhc3QvanMva2RlL0RhdGUtc2V0WWVhci1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMva2RlL0RhdGUtc2V0WWVhci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2tkZS9yZXNvdXJjZXMvRGF0ZS1zZXRZZWFyLmpz
OiBBZGRlZC4KKwogMjAwNi0wNy0xNiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAa2lsemVyLm5l
dD4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbi4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
anMva2RlL0RhdGUtc2V0WWVhci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9qcy9rZGUvRGF0ZS1zZXRZZWFyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvanMva2RlL0RhdGUtc2V0WWVhci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMTkgQEAKK0tERSBKUyBUZXN0CisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitTdGFydCBPZiBUZXN0CitQQVNTIGQuc2V0WWVhcigtMSksIGQuZ2V0RnVs
bFllYXIoKSBpcyAtMQorUEFTUyBkLnNldFllYXIoMCksIGQuZ2V0RnVsbFllYXIoKSBpcyAxOTAw
CitQQVNTIGQuc2V0WWVhcigxKSwgZC5nZXRGdWxsWWVhcigpIGlzIDE5MDEKK1BBU1MgZC5zZXRZ
ZWFyKDk5KSwgZC5nZXRGdWxsWWVhcigpIGlzIDE5OTkKK1BBU1MgZC5zZXRZZWFyKDEwMCksIGQu
Z2V0RnVsbFllYXIoKSBpcyAxMDAKK1BBU1MgZC5zZXRZZWFyKDIwNTApLCBkLmdldEZ1bGxZZWFy
KCkgaXMgMjA1MAorUEFTUyBkLnNldFllYXIoMTg5OSksIGQuZ2V0RnVsbFllYXIoKSBpcyAxODk5
CitQQVNTIGQuc2V0WWVhcigyMDAwKSwgZC5nZXRGdWxsWWVhcigpIGlzIDIwMDAKK1BBU1MgZC5z
ZXRZZWFyKDIxMDApLCBkLmdldEZ1bGxZZWFyKCkgaXMgMjEwMAorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
anMva2RlL0RhdGUtc2V0WWVhci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
anMva2RlL0RhdGUtc2V0WWVhci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9qcy9rZGUvRGF0ZS1zZXRZZWFyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTYgQEAK
KzwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgor
PGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL3Jlc291cmNlcy9qcy10ZXN0
LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2
IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiS0RFIEpTIFRlc3Qi
KTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9EYXRlLXNldFllYXIuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9rZGUvcmVz
b3VyY2VzL0RhdGUtc2V0WWVhci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pz
L2tkZS9yZXNvdXJjZXMvRGF0ZS1zZXRZZWFyLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvZmFzdC9qcy9rZGUvcmVzb3VyY2VzL0RhdGUtc2V0WWVhci5qcwkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSwxNCBAQAorZGVidWcoIlN0YXJ0IE9mIFRlc3QiKTsKKwordmFyIGQgPSBuZXcgRGF0
ZSgpOworc2hvdWxkQmUoImQuc2V0WWVhcigtMSksIGQuZ2V0RnVsbFllYXIoKSIsICItMSIpOwor
c2hvdWxkQmUoImQuc2V0WWVhcigwKSwgZC5nZXRGdWxsWWVhcigpIiwgIjE5MDAiKTsKK3Nob3Vs
ZEJlKCJkLnNldFllYXIoMSksIGQuZ2V0RnVsbFllYXIoKSIsICIxOTAxIik7CitzaG91bGRCZSgi
ZC5zZXRZZWFyKDk5KSwgZC5nZXRGdWxsWWVhcigpIiwgIjE5OTkiKTsKK3Nob3VsZEJlKCJkLnNl
dFllYXIoMTAwKSwgZC5nZXRGdWxsWWVhcigpIiwgIjEwMCIpOworc2hvdWxkQmUoImQuc2V0WWVh
cigyMDUwKSwgZC5nZXRGdWxsWWVhcigpIiwgIjIwNTAiKTsKK3Nob3VsZEJlKCJkLnNldFllYXIo
MTg5OSksIGQuZ2V0RnVsbFllYXIoKSIsICIxODk5Iik7CitzaG91bGRCZSgiZC5zZXRZZWFyKDIw
MDApLCBkLmdldEZ1bGxZZWFyKCkiLCAiMjAwMCIpOworc2hvdWxkQmUoImQuc2V0WWVhcigyMTAw
KSwgZC5nZXRGdWxsWWVhcigpIiwgIjIxMDAiKTsKKworc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZQo=
</data>
<flag name="review"
          id="2906"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9526</attachid>
            <date>2006-07-17 11:01:28 -0700</date>
            <delta_ts>2006-07-17 11:40:22 -0700</delta_ts>
            <desc>improved patch</desc>
            <filename>5257-3.diff</filename>
            <type>text/plain</type>
            <size>4350</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDg2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDYtMDctMTcgIFJvYiBCdWlz
ICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHA6Ly9idWd6aWxsYS5vcGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTI1NworICAgICAgICBzZXRZZWFyKCkgZG9lcyBub3QgbWF0Y2ggRmlyZUZveC9JRSBiZWhhdmlv
cgorCisgICAgICAgIE1ha2Ugc3VyZSB0aGUgcmlnaHQgdmFsdWVzIGVuZCB1cCBpbiB0bV95ZWFy
LgorCisgICAgICAgICoga2pzL2RhdGVfb2JqZWN0LmNwcDoKKyAgICAgICAgKEtKUzo6Zm9ybWF0
VGltZSk6CisKIDIwMDYtMDctMTcgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgICogQVBJL0pTQmFzZS5oOiBGaXggY29tbWVudCBmb3JtYXR0aW5nIHdoZXJlIHRoaW5n
cyB1c2VkIHRvIGJlIGxpbmVkIHVwIGJ1dApJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL2RhdGVf
b2JqZWN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvZGF0ZV9vYmplY3Qu
Y3BwCShyZXZpc2lvbiAxNTQ4NikKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9kYXRlX29iamVjdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY1Nyw3ICs2NTcsNyBAQCBKU1ZhbHVlICpEYXRlUHJvdG9G
dW5jOjpjYWxsQXNGdW5jdGlvbihFCiAgICAgZmlsbFN0cnVjdHVyZXNVc2luZ0RhdGVBcmdzKGV4
ZWMsIGFyZ3MsIDMsICZtcywgJnQpOwogICAgIGJyZWFrOwogICBjYXNlIFNldFllYXI6Ci0gICAg
dC50bV95ZWFyID0gYXJnc1swXS0+dG9JbnQzMihleGVjKSA+PSAxOTAwID8gYXJnc1swXS0+dG9J
bnQzMihleGVjKSAtIDE5MDAgOiBhcmdzWzBdLT50b0ludDMyKGV4ZWMpOworICAgIHQudG1feWVh
ciA9IChhcmdzWzBdLT50b0ludDMyKGV4ZWMpID4gOTkgfHwgYXJnc1swXS0+dG9JbnQzMihleGVj
KSA8IDApID8gYXJnc1swXS0+dG9JbnQzMihleGVjKSAtIDE5MDAgOiBhcmdzWzBdLT50b0ludDMy
KGV4ZWMpOwogICAgIGJyZWFrOwogICB9CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NDg2KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MDYtMDctMTcgIFJvYiBCdWlzICA8YnVpc0BrZGUub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyB0ZXN0IGNhc2UgKGJhc2VkIG9uIGZhc3Qv
anMva2RlL3Jlc291cmNlcy9EYXRlLmpzKSBmb3IKKyAgICAgICAgPGh0dHA6Ly9idWd6aWxsYS5v
cGVuZGFyd2luLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI1Nz4KKyAgICAgICAgc2V0WWVhcigpIGRv
ZXMgbm90IG1hdGNoIEZpcmVGb3gvSUUgYmVoYXZpb3IKKworICAgICAgICAqIGZhc3QvanMva2Rl
L0RhdGUtc2V0WWVhci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMva2Rl
L0RhdGUtc2V0WWVhci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL2tkZS9yZXNvdXJj
ZXMvRGF0ZS1zZXRZZWFyLmpzOiBBZGRlZC4KKwogMjAwNi0wNy0xNyAgTWFjaWVqIFN0YWNob3dp
YWsgIDxtanNAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEJldGguCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2pzL2tkZS9EYXRlLXNldFllYXItZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMva2RlL0RhdGUtc2V0WWVhci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL2tkZS9EYXRlLXNldFllYXItZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACitLREUgSlMgVGVzdAorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworU3RhcnQgT2YgVGVzdAorUEFTUyBkLnNldFll
YXIoLTEpLCBkLmdldEZ1bGxZZWFyKCkgaXMgLTEKK1BBU1MgZC5zZXRZZWFyKDApLCBkLmdldEZ1
bGxZZWFyKCkgaXMgMTkwMAorUEFTUyBkLnNldFllYXIoMSksIGQuZ2V0RnVsbFllYXIoKSBpcyAx
OTAxCitQQVNTIGQuc2V0WWVhcig5OSksIGQuZ2V0RnVsbFllYXIoKSBpcyAxOTk5CitQQVNTIGQu
c2V0WWVhcigxMDApLCBkLmdldEZ1bGxZZWFyKCkgaXMgMTAwCitQQVNTIGQuc2V0WWVhcigyMDUw
KSwgZC5nZXRGdWxsWWVhcigpIGlzIDIwNTAKK1BBU1MgZC5zZXRZZWFyKDE4OTkpLCBkLmdldEZ1
bGxZZWFyKCkgaXMgMTg5OQorUEFTUyBkLnNldFllYXIoMjAwMCksIGQuZ2V0RnVsbFllYXIoKSBp
cyAyMDAwCitQQVNTIGQuc2V0WWVhcigyMTAwKSwgZC5nZXRGdWxsWWVhcigpIGlzIDIxMDAKK1BB
U1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2pzL2tkZS9EYXRlLXNldFllYXIuaHRtbAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2pzL2tkZS9EYXRlLXNldFllYXIuaHRtbAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvanMva2RlL0RhdGUtc2V0WWVhci5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDE2IEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9q
cy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRp
b24oIktERSBKUyBUZXN0Iik7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvRGF0
ZS1zZXRZZWFyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMva2RlL3Jlc291cmNlcy9EYXRlLXNldFllYXIuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9qcy9rZGUvcmVzb3VyY2VzL0RhdGUtc2V0WWVhci5qcwkocmV2aXNpb24g
MCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMva2RlL3Jlc291cmNlcy9EYXRlLXNldFllYXIuanMJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTQgQEAKK2RlYnVnKCJTdGFydCBPZiBUZXN0Iik7CisK
K3ZhciBkID0gbmV3IERhdGUoKTsKK3Nob3VsZEJlKCJkLnNldFllYXIoLTEpLCBkLmdldEZ1bGxZ
ZWFyKCkiLCAiLTEiKTsKK3Nob3VsZEJlKCJkLnNldFllYXIoMCksIGQuZ2V0RnVsbFllYXIoKSIs
ICIxOTAwIik7CitzaG91bGRCZSgiZC5zZXRZZWFyKDEpLCBkLmdldEZ1bGxZZWFyKCkiLCAiMTkw
MSIpOworc2hvdWxkQmUoImQuc2V0WWVhcig5OSksIGQuZ2V0RnVsbFllYXIoKSIsICIxOTk5Iik7
CitzaG91bGRCZSgiZC5zZXRZZWFyKDEwMCksIGQuZ2V0RnVsbFllYXIoKSIsICIxMDAiKTsKK3No
b3VsZEJlKCJkLnNldFllYXIoMjA1MCksIGQuZ2V0RnVsbFllYXIoKSIsICIyMDUwIik7CitzaG91
bGRCZSgiZC5zZXRZZWFyKDE4OTkpLCBkLmdldEZ1bGxZZWFyKCkiLCAiMTg5OSIpOworc2hvdWxk
QmUoImQuc2V0WWVhcigyMDAwKSwgZC5nZXRGdWxsWWVhcigpIiwgIjIwMDAiKTsKK3Nob3VsZEJl
KCJkLnNldFllYXIoMjEwMCksIGQuZ2V0RnVsbFllYXIoKSIsICIyMTAwIik7CisKK3N1Y2Nlc3Nm
dWxseVBhcnNlZCA9IHRydWUK
</data>
<flag name="review"
          id="2907"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>