<?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>24493</bug_id>
          
          <creation_ts>2009-03-10 10:08:04 -0700</creation_ts>
          <short_desc>[GTK] Misc patches for WebKitWebHistoryItem</short_desc>
          <delta_ts>2009-03-20 13:26:42 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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="Xan Lopez">xan.lopez</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>jmalonzo</cc>
    
    <cc>sandshrew</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>113008</commentid>
    <comment_count>0</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 10:08:04 -0700</bug_when>
    <thetext>Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113012</commentid>
    <comment_count>1</comment_count>
      <attachid>28439</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 10:26:16 -0700</bug_when>
    <thetext>Created attachment 28439
style.patch

Fix coding style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113013</commentid>
    <comment_count>2</comment_count>
      <attachid>28440</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 10:26:50 -0700</bug_when>
    <thetext>Created attachment 28440
hashtablefull.patch

Use g_hash_table_new_full so we can save the manual unref on the values when removing them from the table.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113014</commentid>
    <comment_count>3</comment_count>
      <attachid>28441</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 10:27:16 -0700</bug_when>
    <thetext>Created attachment 28441
dispose.patch

dispose can run more than once, so make sure we don&apos;t try to access the items hash table after it&apos;s potentially destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113015</commentid>
    <comment_count>4</comment_count>
      <attachid>28439</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-10 10:28:58 -0700</bug_when>
    <thetext>Comment on attachment 28439
style.patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113016</commentid>
    <comment_count>5</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 10:34:52 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 28439 [review])
&gt; r=me
&gt; 

Landed in r41558, thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113017</commentid>
    <comment_count>6</comment_count>
      <attachid>28440</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2009-03-10 10:35:44 -0700</bug_when>
    <thetext>Comment on attachment 28440
hashtablefull.patch

r=me. It&apos;s a bit counter-intuitive that the table derefs the elements, but does not ref them automatically. Perhaps a comment would help.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113021</commentid>
    <comment_count>7</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 10:59:54 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 28440 [review])
&gt; r=me. It&apos;s a bit counter-intuitive that the table derefs the elements, but does
&gt; not ref them automatically. Perhaps a comment would help.
&gt; 

Mmm, well, the table can&apos;t magically know what function to use to do the opposite operation of the destroy function you pass, and besides you might now want to do it in all cases...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113022</commentid>
    <comment_count>8</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 11:00:41 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 28440 [review] [review])
&gt; &gt; r=me. It&apos;s a bit counter-intuitive that the table derefs the elements, but does
&gt; &gt; not ref them automatically. Perhaps a comment would help.
&gt; &gt; 
&gt; 
&gt; Mmm, well, the table can&apos;t magically know what function to use to do the
&gt; opposite operation of the destroy function you pass, and besides you might now
&gt; want to do it in all cases...
&gt; 

s/now/not/ ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113125</commentid>
    <comment_count>9</comment_count>
      <attachid>28466</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 23:41:29 -0700</bug_when>
    <thetext>Created attachment 28466
fixstyle.patch

return foo? foo : NULL == return foo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113126</commentid>
    <comment_count>10</comment_count>
      <attachid>28467</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-10 23:42:51 -0700</bug_when>
    <thetext>Created attachment 28467
deref.patch

Call deref() on our internal HistoryItem on dispose, as we always acquire it with a releaseRef() call to a PassRefPtr, which passes ownership.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113143</commentid>
    <comment_count>11</comment_count>
      <attachid>28441</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-03-11 02:19:48 -0700</bug_when>
    <thetext>Comment on attachment 28441
dispose.patch


&gt;  static void webkit_web_history_item_dispose(GObject* object)
&gt;  {
&gt;      WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object);
&gt; -
&gt; -    GHashTable* table = webkit_history_items();
&gt; -
&gt; -    g_hash_table_remove(table, core(webHistoryItem));
&gt; -
&gt; -    /* destroy table if empty */
&gt; -    if (!g_hash_table_size(table))
&gt; -        g_hash_table_destroy(table);
&gt; +    static gboolean isDisposed = false;

this looks wrong. For every HistoryItem we will only dispose/clear the first time one instance of HistoryItem should get destroyed? What am I missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113144</commentid>
    <comment_count>12</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-11 02:23:00 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 28441 [review])
&gt; 
&gt; &gt;  static void webkit_web_history_item_dispose(GObject* object)
&gt; &gt;  {
&gt; &gt;      WebKitWebHistoryItem* webHistoryItem = WEBKIT_WEB_HISTORY_ITEM(object);
&gt; &gt; -
&gt; &gt; -    GHashTable* table = webkit_history_items();
&gt; &gt; -
&gt; &gt; -    g_hash_table_remove(table, core(webHistoryItem));
&gt; &gt; -
&gt; &gt; -    /* destroy table if empty */
&gt; &gt; -    if (!g_hash_table_size(table))
&gt; &gt; -        g_hash_table_destroy(table);
&gt; &gt; +    static gboolean isDisposed = false;
&gt; 
&gt; this looks wrong. For every HistoryItem we will only dispose/clear the first
&gt; time one instance of HistoryItem should get destroyed? What am I missing?
&gt; 

Mmm, the point is to only remove ourselves from the global hash table, and destroy it if it&apos;s empty, once, as dispose can run several times for the same GObject.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113146</commentid>
    <comment_count>13</comment_count>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-11 02:24:34 -0700</bug_when>
    <thetext>Uhh, ok, nevermind. We need a per instance flag in the private data :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113147</commentid>
    <comment_count>14</comment_count>
      <attachid>28468</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2009-03-11 02:30:26 -0700</bug_when>
    <thetext>Created attachment 28468
disposeonce.patch

Something like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113159</commentid>
    <comment_count>15</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-03-11 04:18:09 -0700</bug_when>
    <thetext>*** Bug 19898 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113160</commentid>
    <comment_count>16</comment_count>
      <attachid>28473</attachid>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-03-11 04:22:47 -0700</bug_when>
    <thetext>Created attachment 28473
add WebKitWebHistoryItem unit test

adding unit test to this bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113175</commentid>
    <comment_count>17</comment_count>
      <attachid>28473</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-03-11 06:40:59 -0700</bug_when>
    <thetext>Comment on attachment 28473
add WebKitWebHistoryItem unit test

Looks good. the only complain/question is to multiple programs vs. one program with multiple test suites</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113181</commentid>
    <comment_count>18</comment_count>
      <attachid>28467</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-03-11 07:26:47 -0700</bug_when>
    <thetext>Comment on attachment 28467
deref.patch

okay, sounds good..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>113212</commentid>
    <comment_count>19</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-03-11 12:27:11 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 28473 [review])
&gt; Looks good. the only complain/question is to multiple programs vs. one program
&gt; with multiple test suites
&gt; 

zecke, I think we should just split it. There&apos;s a bug about that at https://bugs.webkit.org/show_bug.cgi?id=24039

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114058</commentid>
    <comment_count>20</comment_count>
      <attachid>28473</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-03-17 10:39:04 -0700</bug_when>
    <thetext>Comment on attachment 28473
add WebKitWebHistoryItem unit test


&gt;  # Build unit test
&gt; -noinst_PROGRAMS += Programs/UnitTests
&gt; +noinst_PROGRAMS += Programs/UnitTests Programs/WebHistoryItemUnitTests

okay, this needs rediffing as of bug #24039.


&gt; +static void
&gt; +test_webkit_web_history_item_alternate_title(WebHistoryItemFixture* fixture,
&gt; +                                             gconstpointer data)


inconsistency with the new lines...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>114549</commentid>
    <comment_count>21</comment_count>
    <who name="Jan Alonzo">jmalonzo</who>
    <bug_when>2009-03-20 13:26:42 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 28473 [review])
&gt; Looks good. the only complain/question is to multiple programs vs. one program
&gt; with multiple test suites
&gt; 

Landed in r41866.

Closing as all other patches have been committed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28439</attachid>
            <date>2009-03-10 10:26:16 -0700</date>
            <delta_ts>2009-03-10 10:28:58 -0700</delta_ts>
            <desc>style.patch</desc>
            <filename>style.patch</filename>
            <type>text/plain</type>
            <size>6570</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBhYzMzNzdjMDc1NTNkNzc0MGFiODI1MTNjOTkwMzM0YTgxZTc4YTZjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDEwIE1hciAyMDA5IDE5OjA4OjQ0ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzNdIDIwMDkt
MDMtMTAgIFhhbiBMb3BleiAgPHhhbkBnbm9tZS5vcmc+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjQ0OTMKICAgICAgICBbR1RLXSBNaXNjIHBhdGNoZXMgZm9yIFdlYktpdFdlYkhpc3Rv
cnlJdGVtCgogICAgICAgIFVzZSAnaWYgKGZvbyknIGluc3RlYWQgb2YgJ2lmIChmb28gIT0gTlVM
TCknLCBwZXIgY29kaW5nIHN0eWxlCiAgICAgICAgZ3VpZGVsaW5lcy4KCiAgICAgICAgKiB3ZWJr
aXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwOgogICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0
ZW1Qcml2YXRlOjp3ZWJraXRfaGlzdG9yeV9pdGVtX3JlbW92ZSk6CiAgICAgICAgKF9XZWJLaXRX
ZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF90aXRsZSk6
CiAgICAgICAgKF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9y
eV9pdGVtX2dldF9hbHRlcm5hdGVfdGl0bGUpOgogICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0
ZW1Qcml2YXRlOjp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfdXJpKToKICAgICAgICAoX1dl
YktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X29y
aWdpbmFsX3VyaSk6CiAgICAgICAgKF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtp
dF93ZWJfaGlzdG9yeV9pdGVtX2dldF9sYXN0X3Zpc2l0ZWRfdGltZSk6CiAgICAgICAgKF9XZWJL
aXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF90YXJn
ZXQpOgogICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlOjp3ZWJraXRfd2ViX2hp
c3RvcnlfaXRlbV9pc190YXJnZXRfaXRlbSk6CiAgICAgICAgKF9XZWJLaXRXZWJIaXN0b3J5SXRl
bVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9jaGlsZHJlbik6Ci0tLQogV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgIHwgICAyMSArKysrKysrKysr
KysrKysrKysrKysKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcCB8
ICAgMjEgKysrKysrKysrKy0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlv
bnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9n
IGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggNDZiOTc3Yi4uMWE4YzQ4ZiAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAwOS0wMy0xMCAgWGFuIExvcGV6ICA8eGFuQGdub21lLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ0OTMKKyAgICAgICAgW0dUS10gTWlzYyBwYXRj
aGVzIGZvciBXZWJLaXRXZWJIaXN0b3J5SXRlbQorCisgICAgICAgIFVzZSAnaWYgKGZvbyknIGlu
c3RlYWQgb2YgJ2lmIChmb28gIT0gTlVMTCknLCBwZXIgY29kaW5nIHN0eWxlCisgICAgICAgIGd1
aWRlbGluZXMuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwOgor
ICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X2hpc3RvcnlfaXRl
bV9yZW1vdmUpOgorICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0
X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X3RpdGxlKToKKyAgICAgICAgKF9XZWJLaXRXZWJIaXN0b3J5
SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9hbHRlcm5hdGVfdGl0bGUp
OgorICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9oaXN0
b3J5X2l0ZW1fZ2V0X3VyaSk6CisgICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRl
Ojp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfb3JpZ2luYWxfdXJpKToKKyAgICAgICAgKF9X
ZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9s
YXN0X3Zpc2l0ZWRfdGltZSk6CisgICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRl
Ojp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfdGFyZ2V0KToKKyAgICAgICAgKF9XZWJLaXRX
ZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2lzX3RhcmdldF9p
dGVtKToKKyAgICAgICAgKF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJf
aGlzdG9yeV9pdGVtX2dldF9jaGlsZHJlbik6CisKIDIwMDktMDMtMTAgIFhhbiBMb3BleiAgPHhs
b3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFr
b3YuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5j
cHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAKaW5kZXggZGZk
MjM3MS4uNjg1MzYwZSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlz
dG9yeWl0ZW0uY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVt
LmNwcApAQCAtMTcsNyArMTcsNiBAQAogICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAg
Ki8KIAotCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKICNpbmNsdWRlICJ3ZWJraXR3ZWJoaXN0b3J5
aXRlbS5oIgpAQCAtOTksNyArOTgsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfaGlzdG9yeV9pdGVt
X3JlbW92ZShXZWJDb3JlOjpIaXN0b3J5SXRlbSogaGlzdG9yeUl0ZW0pCiAgICAgR0hhc2hUYWJs
ZSogdGFibGUgPSB3ZWJraXRfaGlzdG9yeV9pdGVtcygpOwogICAgIFdlYktpdFdlYkhpc3RvcnlJ
dGVtKiB3ZWJIaXN0b3J5SXRlbSA9IChXZWJLaXRXZWJIaXN0b3J5SXRlbSopIGdfaGFzaF90YWJs
ZV9sb29rdXAodGFibGUsIGhpc3RvcnlJdGVtKTsKIAotICAgIGdfcmV0dXJuX2lmX2ZhaWwod2Vi
SGlzdG9yeUl0ZW0gIT0gTlVMTCk7CisgICAgZ19yZXR1cm5faWZfZmFpbCh3ZWJIaXN0b3J5SXRl
bSk7CiAKICAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHRhYmxlLCBoaXN0b3J5SXRlbSk7CiAgICAg
Z19vYmplY3RfdW5yZWYod2ViSGlzdG9yeUl0ZW0pOwpAQCAtMzMxLDcgKzMzMCw3IEBAIEdfQ09O
U1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfdGl0bGUoV2ViS2l0
V2ViSGlzdG9yeUl0ZW0qIHdlCiAKICAgICBXZWJDb3JlOjpIaXN0b3J5SXRlbSogaXRlbSA9IGNv
cmUod2ViSGlzdG9yeUl0ZW0pOwogCi0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoaXRlbSAhPSBO
VUxMLCBOVUxMKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbChpdGVtLCBOVUxMKTsKIAogICAg
IFdlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZSogcHJpdiA9IHdlYkhpc3RvcnlJdGVtLT5wcml2
OwogICAgIHByaXYtPnRpdGxlID0gaXRlbS0+dGl0bGUoKS51dGY4KCk7CkBAIC0zNTMsNyArMzUy
LDcgQEAgR19DT05TVF9SRVRVUk4gZ2NoYXIqIHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9h
bHRlcm5hdGVfdGl0bGUoV2ViS2l0V2ViSGlzdG8KIAogICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVt
KiBpdGVtID0gY29yZSh3ZWJIaXN0b3J5SXRlbSk7CiAKLSAgICBnX3JldHVybl92YWxfaWZfZmFp
bChpdGVtICE9IE5VTEwsIE5VTEwpOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGl0ZW0sIE5V
TEwpOwogCiAgICAgV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlKiBwcml2ID0gd2ViSGlzdG9y
eUl0ZW0tPnByaXY7CiAgICAgcHJpdi0+YWx0ZXJuYXRlVGl0bGUgPSBpdGVtLT5hbHRlcm5hdGVU
aXRsZSgpLnV0ZjgoKTsKQEAgLTM5Myw3ICszOTIsNyBAQCBHX0NPTlNUX1JFVFVSTiBnY2hhciog
d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X3VyaShXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Vi
SAogCiAgICAgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIGl0ZW0gPSBjb3JlKFdFQktJVF9XRUJfSElT
VE9SWV9JVEVNKHdlYkhpc3RvcnlJdGVtKSk7CiAKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChp
dGVtICE9IE5VTEwsIE5VTEwpOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGl0ZW0sIE5VTEwp
OwogCiAgICAgV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlKiBwcml2ID0gd2ViSGlzdG9yeUl0
ZW0tPnByaXY7CiAgICAgcHJpdi0+dXJpID0gaXRlbS0+dXJsU3RyaW5nKCkudXRmOCgpOwpAQCAt
NDE1LDcgKzQxNCw3IEBAIEdfQ09OU1RfUkVUVVJOIGdjaGFyKiB3ZWJraXRfd2ViX2hpc3Rvcnlf
aXRlbV9nZXRfb3JpZ2luYWxfdXJpKFdlYktpdFdlYkhpc3RvcnlJCiAKICAgICBXZWJDb3JlOjpI
aXN0b3J5SXRlbSogaXRlbSA9IGNvcmUoV0VCS0lUX1dFQl9ISVNUT1JZX0lURU0od2ViSGlzdG9y
eUl0ZW0pKTsKIAotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGl0ZW0gIT0gTlVMTCwgTlVMTCk7
CisgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoaXRlbSwgTlVMTCk7CiAKICAgICBXZWJLaXRXZWJI
aXN0b3J5SXRlbVByaXZhdGUqIHByaXYgPSB3ZWJIaXN0b3J5SXRlbS0+cHJpdjsKICAgICBwcml2
LT5vcmlnaW5hbFVyaSA9IGl0ZW0tPm9yaWdpbmFsVVJMU3RyaW5nKCkudXRmOCgpOwpAQCAtNDM3
LDcgKzQzNiw3IEBAIGdkb3VibGUgd2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X2xhc3Rfdmlz
aXRlZF90aW1lKFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJICiAKICAgICBXZWJDb3JlOjpIaXN0
b3J5SXRlbSogaXRlbSA9IGNvcmUoV0VCS0lUX1dFQl9ISVNUT1JZX0lURU0od2ViSGlzdG9yeUl0
ZW0pKTsKIAotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGl0ZW0gIT0gTlVMTCwgMCk7CisgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoaXRlbSwgMCk7CiAKICAgICByZXR1cm4gaXRlbS0+bGFzdFZp
c2l0ZWRUaW1lKCk7CiB9CkBAIC00NTAsNyArNDQ5LDcgQEAgR19DT05TVF9SRVRVUk4gZ2NoYXIq
IHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF90YXJnZXQoV2ViS2l0V2ViSGlzdG9yeUl0ZW0q
IHcKIAogICAgIFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBpdGVtID0gY29yZSh3ZWJIaXN0b3J5SXRl
bSk7CiAKLSAgICBnX3JldHVybl92YWxfaWZfZmFpbChpdGVtICE9IE5VTEwsIE5VTEwpOworICAg
IGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGl0ZW0sIE5VTEwpOwogCiAgICAgV2ViQ29yZTo6Q1N0cmlu
ZyB0ID0gaXRlbS0+dGFyZ2V0KCkudXRmOCgpOwogICAgIHJldHVybiBnX3N0cmR1cCh0LmRhdGEo
KSk7CkBAIC00NjIsNyArNDYxLDcgQEAgZ2Jvb2xlYW4gd2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1f
aXNfdGFyZ2V0X2l0ZW0oV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYkhpc3RvcnkKIAogICAgIFdl
YkNvcmU6Okhpc3RvcnlJdGVtKiBpdGVtID0gY29yZSh3ZWJIaXN0b3J5SXRlbSk7CiAKLSAgICBn
X3JldHVybl92YWxfaWZfZmFpbChpdGVtICE9IE5VTEwsIGZhbHNlKTsKKyAgICBnX3JldHVybl92
YWxfaWZfZmFpbChpdGVtLCBmYWxzZSk7CiAKICAgICByZXR1cm4gaXRlbS0+aXNUYXJnZXRJdGVt
KCk7CiB9CkBAIC00NzMsNyArNDcyLDcgQEAgR0xpc3QqIHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVt
X2dldF9jaGlsZHJlbihXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2ViSGlzdG9yeUl0ZW0KIAogICAg
IFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBpdGVtID0gY29yZSh3ZWJIaXN0b3J5SXRlbSk7CiAKLSAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChpdGVtICE9IE5VTEwsIE5VTEwpOworICAgIGdfcmV0dXJu
X3ZhbF9pZl9mYWlsKGl0ZW0sIE5VTEwpOwogCiAgICAgY29uc3QgV2ViQ29yZTo6SGlzdG9yeUl0
ZW1WZWN0b3ImIGNoaWxkcmVuID0gaXRlbS0+Y2hpbGRyZW4oKTsKICAgICBpZiAoIWNoaWxkcmVu
LnNpemUoKSkKQEAgLTUwMCw3ICs0OTksNyBAQCBXZWJDb3JlOjpIaXN0b3J5SXRlbSogV2ViS2l0
Ojpjb3JlKFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSkKIAogV2ViS2l0V2Vi
SGlzdG9yeUl0ZW0qIFdlYktpdDo6a2l0KFBhc3NSZWZQdHI8V2ViQ29yZTo6SGlzdG9yeUl0ZW0+
IGhpc3RvcnlJdGVtKQogewotICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGhpc3RvcnlJdGVtICE9
IE5VTEwsIE5VTEwpOworICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKGhpc3RvcnlJdGVtLCBOVUxM
KTsKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpIaXN0b3J5SXRlbT4gaXRlbSA9IGhpc3RvcnlJdGVt
OwogCi0tIAoxLjYuMgoK
</data>
<flag name="review"
          id="13943"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28440</attachid>
            <date>2009-03-10 10:26:50 -0700</date>
            <delta_ts>2009-03-10 10:35:44 -0700</delta_ts>
            <desc>hashtablefull.patch</desc>
            <filename>hashtablefull.patch</filename>
            <type>text/plain</type>
            <size>3101</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA3YzgxYTJlYjdmZmQ5MGIwOTM0NGRiM2ZhYjY4ZWQ4YmRmNGU2YjQ1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDEwIE1hciAyMDA5IDE5OjIwOjE1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAyLzNdIDIwMDkt
MDMtMTAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI0NDkzCiAgICAgICAgW0dUS10gTWlzYyBwYXRjaGVzIGZvciBXZWJLaXRXZWJI
aXN0b3J5SXRlbQoKICAgICAgICBVc2UgZ19oYXNoX3RhYmxlX25ld19mdWxsIHNvIHdlIGNhbiBz
YXZlIHRoZSBtYW51YWwgdW5yZWYgb24gdGhlCiAgICAgICAgdmFsdWVzIHdoZW4gcmVtb3Zpbmcg
dGhlbSBmcm9tIHRoZSB0YWJsZS4KCiAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0
ZW0uY3BwOgogICAgICAgIChfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlOjp3ZWJraXRfd2Vi
X2hpc3RvcnlfaXRlbV9kaXNwb3NlKToKLS0tCiBXZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDEzICsrKysrKysrKysrKysKIFdlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYmhpc3RvcnlpdGVtLmNwcCB8ICAgMTggKysrKy0tLS0tLS0tLS0tLS0tCiAyIGZpbGVz
IGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMWE4YzQ4
Zi4uZTQxOTVhNCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOS0wMy0xMCAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0NDkz
CisgICAgICAgIFtHVEtdIE1pc2MgcGF0Y2hlcyBmb3IgV2ViS2l0V2ViSGlzdG9yeUl0ZW0KKwor
ICAgICAgICBVc2UgZ19oYXNoX3RhYmxlX25ld19mdWxsIHNvIHdlIGNhbiBzYXZlIHRoZSBtYW51
YWwgdW5yZWYgb24gdGhlCisgICAgICAgIHZhbHVlcyB3aGVuIHJlbW92aW5nIHRoZW0gZnJvbSB0
aGUgdGFibGUuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwOgor
ICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9oaXN0b3J5
X2l0ZW1fZGlzcG9zZSk6CisKIDIwMDktMDMtMTAgIFhhbiBMb3BleiAgPHhhbkBnbm9tZS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAgYi9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAKaW5kZXggNjg1MzYwZS4uNTVmYWU0MiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwCisrKyBiL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcApAQCAtODAsNyArODAsNyBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfcHJvcGVydHkoR09iamVj
dCogb2JqZWN0LCBndWludCBwcm9wX2lkLAogCiBzdGF0aWMgR0hhc2hUYWJsZSogd2Via2l0X2hp
c3RvcnlfaXRlbXMoKQogewotICAgIHN0YXRpYyBHSGFzaFRhYmxlKiBoaXN0b3J5SXRlbXMgPSBn
X2hhc2hfdGFibGVfbmV3KGdfZGlyZWN0X2hhc2gsIGdfZGlyZWN0X2VxdWFsKTsKKyAgICBzdGF0
aWMgR0hhc2hUYWJsZSogaGlzdG9yeUl0ZW1zID0gZ19oYXNoX3RhYmxlX25ld19mdWxsKGdfZGly
ZWN0X2hhc2gsIGdfZGlyZWN0X2VxdWFsLCBOVUxMLCBnX29iamVjdF91bnJlZik7CiAgICAgcmV0
dXJuIGhpc3RvcnlJdGVtczsKIH0KIApAQCAtOTMsMjUgKzkzLDE1IEBAIHN0YXRpYyB2b2lkIHdl
YmtpdF9oaXN0b3J5X2l0ZW1fYWRkKFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRl
bSwgV2ViQ29yCiAgICAgZ19oYXNoX3RhYmxlX2luc2VydCh0YWJsZSwgaGlzdG9yeUl0ZW0sIGdf
b2JqZWN0X3JlZih3ZWJIaXN0b3J5SXRlbSkpOwogfQogCi1zdGF0aWMgdm9pZCB3ZWJraXRfaGlz
dG9yeV9pdGVtX3JlbW92ZShXZWJDb3JlOjpIaXN0b3J5SXRlbSogaGlzdG9yeUl0ZW0pCi17Ci0g
ICAgR0hhc2hUYWJsZSogdGFibGUgPSB3ZWJraXRfaGlzdG9yeV9pdGVtcygpOwotICAgIFdlYktp
dFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSA9IChXZWJLaXRXZWJIaXN0b3J5SXRlbSop
IGdfaGFzaF90YWJsZV9sb29rdXAodGFibGUsIGhpc3RvcnlJdGVtKTsKLQotICAgIGdfcmV0dXJu
X2lmX2ZhaWwod2ViSGlzdG9yeUl0ZW0pOwotCi0gICAgZ19oYXNoX3RhYmxlX3JlbW92ZSh0YWJs
ZSwgaGlzdG9yeUl0ZW0pOwotICAgIGdfb2JqZWN0X3VucmVmKHdlYkhpc3RvcnlJdGVtKTsKLX0K
LQogc3RhdGljIHZvaWQgd2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZGlzcG9zZShHT2JqZWN0KiBv
YmplY3QpCiB7CiAgICAgV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYkhpc3RvcnlJdGVtID0gV0VC
S0lUX1dFQl9ISVNUT1JZX0lURU0ob2JqZWN0KTsKIAotICAgIHdlYmtpdF9oaXN0b3J5X2l0ZW1f
cmVtb3ZlKGNvcmUod2ViSGlzdG9yeUl0ZW0pKTsKKyAgICBHSGFzaFRhYmxlKiB0YWJsZSA9IHdl
YmtpdF9oaXN0b3J5X2l0ZW1zKCk7CisKKyAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHRhYmxlLCBj
b3JlKHdlYkhpc3RvcnlJdGVtKSk7CiAKICAgICAvKiBkZXN0cm95IHRhYmxlIGlmIGVtcHR5ICov
Ci0gICAgR0hhc2hUYWJsZSogdGFibGUgPSB3ZWJraXRfaGlzdG9yeV9pdGVtcygpOwogICAgIGlm
ICghZ19oYXNoX3RhYmxlX3NpemUodGFibGUpKQogICAgICAgICBnX2hhc2hfdGFibGVfZGVzdHJv
eSh0YWJsZSk7CiAKLS0gCjEuNi4yCgo=
</data>
<flag name="review"
          id="13944"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28441</attachid>
            <date>2009-03-10 10:27:16 -0700</date>
            <delta_ts>2009-03-11 02:30:26 -0700</delta_ts>
            <desc>dispose.patch</desc>
            <filename>dispose.patch</filename>
            <type>text/plain</type>
            <size>2795</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSAyMzE3ZTBkYWEzZjBhY2Y0YjdiZTJmNjM2ZDBkM2Y3N2Q4YTNkMjZkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBU
dWUsIDEwIE1hciAyMDA5IDE5OjI0OjMzICswMjAwClN1YmplY3Q6IFtQQVRDSCAzLzNdIDIwMDkt
MDMtMTAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI0NDkzCiAgICAgICAgW0dUS10gTWlzYyBwYXRjaGVzIGZvciBXZWJLaXRXZWJI
aXN0b3J5SXRlbQoKICAgICAgICBkaXNwb3NlIGNhbiBydW4gbW9yZSB0aGFuIG9uY2UsIHNvIG1h
a2Ugc3VyZSB3ZSBkb24ndCB0cnkgdG8KICAgICAgICBhY2Nlc3MgdGhlIGl0ZW1zIGhhc2ggdGFi
bGUgYWZ0ZXIgaXQncyBwb3RlbnRpYWxseSBkZXN0cm95ZWQuCgogICAgICAgICogd2Via2l0L3dl
YmtpdHdlYmhpc3RvcnlpdGVtLmNwcDoKICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJp
dmF0ZTo6d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZGlzcG9zZSk6Ci0tLQogV2ViS2l0L2d0ay9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgIHwgICAxMyArKysrKysrKysrKysrCiBXZWJL
aXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAgfCAgIDIxICsrKysrKysrKysr
KystLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKaW5kZXggZTQxOTVhNC4uMzE3MjVlNSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTUsNiArNSwxOSBAQAogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ0OTMKICAgICAgICAg
W0dUS10gTWlzYyBwYXRjaGVzIGZvciBXZWJLaXRXZWJIaXN0b3J5SXRlbQogCisgICAgICAgIGRp
c3Bvc2UgY2FuIHJ1biBtb3JlIHRoYW4gb25jZSwgc28gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0
bworICAgICAgICBhY2Nlc3MgdGhlIGl0ZW1zIGhhc2ggdGFibGUgYWZ0ZXIgaXQncyBwb3RlbnRp
YWxseSBkZXN0cm95ZWQuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0u
Y3BwOgorICAgICAgICAoX1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9o
aXN0b3J5X2l0ZW1fZGlzcG9zZSk6CisKKzIwMDktMDMtMTAgIFhhbiBMb3BleiAgPHhsb3BlekBp
Z2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDQ5MworICAgICAg
ICBbR1RLXSBNaXNjIHBhdGNoZXMgZm9yIFdlYktpdFdlYkhpc3RvcnlJdGVtCisKICAgICAgICAg
VXNlIGdfaGFzaF90YWJsZV9uZXdfZnVsbCBzbyB3ZSBjYW4gc2F2ZSB0aGUgbWFudWFsIHVucmVm
IG9uIHRoZQogICAgICAgICB2YWx1ZXMgd2hlbiByZW1vdmluZyB0aGVtIGZyb20gdGhlIHRhYmxl
LgogCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5j
cHAgYi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAKaW5kZXggNTVm
YWU0Mi4uNjlkNjY4YyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlz
dG9yeWl0ZW0uY3BwCisrKyBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVt
LmNwcApAQCAtOTYsMTQgKzk2LDE5IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF9oaXN0b3J5X2l0ZW1f
YWRkKFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSwgV2ViQ29yCiBzdGF0aWMg
dm9pZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9kaXNwb3NlKEdPYmplY3QqIG9iamVjdCkKIHsK
ICAgICBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2ViSGlzdG9yeUl0ZW0gPSBXRUJLSVRfV0VCX0hJ
U1RPUllfSVRFTShvYmplY3QpOwotCi0gICAgR0hhc2hUYWJsZSogdGFibGUgPSB3ZWJraXRfaGlz
dG9yeV9pdGVtcygpOwotCi0gICAgZ19oYXNoX3RhYmxlX3JlbW92ZSh0YWJsZSwgY29yZSh3ZWJI
aXN0b3J5SXRlbSkpOwotCi0gICAgLyogZGVzdHJveSB0YWJsZSBpZiBlbXB0eSAqLwotICAgIGlm
ICghZ19oYXNoX3RhYmxlX3NpemUodGFibGUpKQotICAgICAgICBnX2hhc2hfdGFibGVfZGVzdHJv
eSh0YWJsZSk7CisgICAgc3RhdGljIGdib29sZWFuIGlzRGlzcG9zZWQgPSBmYWxzZTsKKworICAg
IGlmICghaXNEaXNwb3NlZCkgeworICAgICAgICBHSGFzaFRhYmxlKiB0YWJsZSA9IHdlYmtpdF9o
aXN0b3J5X2l0ZW1zKCk7CisgICAgICAgIAorICAgICAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHRh
YmxlLCBjb3JlKHdlYkhpc3RvcnlJdGVtKSk7CisgICAgICAgIAorICAgICAgICAvKiBkZXN0cm95
IHRhYmxlIGlmIGVtcHR5ICovCisgICAgICAgIGlmICghZ19oYXNoX3RhYmxlX3NpemUodGFibGUp
KQorICAgICAgICAgICAgZ19oYXNoX3RhYmxlX2Rlc3Ryb3kodGFibGUpOworCisgICAgICAgIGlz
RGlzcG9zZWQgPSB0cnVlOworICAgIH0KIAogICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF93ZWJf
aGlzdG9yeV9pdGVtX3BhcmVudF9jbGFzcyktPmRpc3Bvc2Uob2JqZWN0KTsKIH0KLS0gCjEuNi4y
Cgo=
</data>
<flag name="review"
          id="13945"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28466</attachid>
            <date>2009-03-10 23:41:29 -0700</date>
            <delta_ts>2009-03-11 07:10:49 -0700</delta_ts>
            <desc>fixstyle.patch</desc>
            <filename>fixstyle.patch</filename>
            <type>text/plain</type>
            <size>1928</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA1NzhlN2U4ZmU2YjEwNmQ3NTg5YmRmNDA0OWJjMDBlNDRlMzQ5NzFmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDExIE1hciAyMDA5IDA4OjA1OjU5ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIDIwMDkt
MDMtMTAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgoKICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTI0NDkzCiAgICAgICAgW0dUS10gTWlzYyBwYXRjaGVzIGZvciBXZWJLaXRXZWJI
aXN0b3J5SXRlbQoKICAgICAgICByZXR1cm4gZm9vPyBmb28gOiBOVUxMID09IHJldHVybiBmb28K
CiAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwOgogICAgICAgIChXZWJL
aXQ6OmNvcmUpOgotLS0KIFdlYktpdC9ndGsvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAg
ICB8ICAgMTIgKysrKysrKysrKysrCiBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5
aXRlbS5jcHAgfCAgICA0ICstLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwg
MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCmluZGV4IGZjOTI3NDMuLjAzNTFhM2YgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTcg
QEAKIDIwMDktMDMtMTAgIFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDQ5MworICAgICAgICBbR1RLXSBNaXNjIHBhdGNoZXMg
Zm9yIFdlYktpdFdlYkhpc3RvcnlJdGVtCisKKyAgICAgICAgcmV0dXJuIGZvbz8gZm9vIDogTlVM
TCA9PSByZXR1cm4gZm9vCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0u
Y3BwOgorICAgICAgICAoV2ViS2l0Ojpjb3JlKToKKworMjAwOS0wMy0xMCAgWGFuIExvcGV6ICA8
eGxvcGV6QGlnYWxpYS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5
YWtvdi4KIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjQ0OTMKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVt
LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcAppbmRleCA1
NWZhZTQyLi40NWIwM2Q5IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJo
aXN0b3J5aXRlbS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0
ZW0uY3BwCkBAIC00ODIsOSArNDgyLDcgQEAgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIFdlYktpdDo6
Y29yZShXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2ViSGlzdG9yeUl0ZW0pCiB7CiAgICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9ISVNUT1JZX0lURU0od2ViSGlzdG9yeUl0ZW0p
LCBOVUxMKTsKIAotICAgIFdlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZSogcHJpdiA9IHdlYkhp
c3RvcnlJdGVtLT5wcml2OwotCi0gICAgcmV0dXJuIHByaXYtPmhpc3RvcnlJdGVtID8gcHJpdi0+
aGlzdG9yeUl0ZW0gOiAwOworICAgIHJldHVybiB3ZWJIaXN0b3J5SXRlbS0+cHJpdi0+aGlzdG9y
eUl0ZW07CiB9CiAKIFdlYktpdFdlYkhpc3RvcnlJdGVtKiBXZWJLaXQ6OmtpdChQYXNzUmVmUHRy
PFdlYkNvcmU6Okhpc3RvcnlJdGVtPiBoaXN0b3J5SXRlbSkKLS0gCjEuNi4yCgo=
</data>
<flag name="review"
          id="13959"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28467</attachid>
            <date>2009-03-10 23:42:51 -0700</date>
            <delta_ts>2009-03-11 07:26:47 -0700</delta_ts>
            <desc>deref.patch</desc>
            <filename>deref.patch</filename>
            <type>text/plain</type>
            <size>2437</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSBiNTVkNzA0YjYwODg1Nzg4ZWIyOTQ5NjBhZmU2M2JmMTRiYTY1ZTVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDExIE1hciAyMDA5IDA4OjM5OjU4ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wMy0x
MCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjQ0OTMKICAgICAgICBbR1RLXSBNaXNjIHBhdGNoZXMgZm9yIFdlYktpdFdlYkhpc3Rv
cnlJdGVtCgogICAgICAgIENhbGwgZGVyZWYoKSBvbiBvdXIgaW50ZXJuYWwgSGlzdG9yeUl0ZW0g
b24gZGlzcG9zZSwgYXMgd2UgYWx3YXlzCiAgICAgICAgYWNxdWlyZSBpdCB3aXRoIGEgcmVsZWFz
ZVJlZigpIGNhbGwgdG8gYSBQYXNzUmVmUHRyLCB3aGljaCBwYXNzZXMKICAgICAgICBvd25lcnNo
aXAuCgogICAgICAgICogd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcDoKICAgICAgICAo
X1dlYktpdFdlYkhpc3RvcnlJdGVtUHJpdmF0ZTo6d2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZGlz
cG9zZSk6Ci0tLQogV2ViS2l0L2d0ay9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgIHwg
ICAxNCArKysrKysrKysrKysrKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0
ZW0uY3BwIHwgICAgNCArKystCiAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMoKyksIDEg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9XZWJLaXQv
Z3RrL0NoYW5nZUxvZwppbmRleCAwMzUxYTNmLi4xN2YwZTBjIDEwMDY0NAotLS0gYS9XZWJLaXQv
Z3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtNSw2ICs1LDIwIEBA
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDQ5Mwog
ICAgICAgICBbR1RLXSBNaXNjIHBhdGNoZXMgZm9yIFdlYktpdFdlYkhpc3RvcnlJdGVtCiAKKyAg
ICAgICAgQ2FsbCBkZXJlZigpIG9uIG91ciBpbnRlcm5hbCBIaXN0b3J5SXRlbSBvbiBkaXNwb3Nl
LCBhcyB3ZSBhbHdheXMKKyAgICAgICAgYWNxdWlyZSBpdCB3aXRoIGEgcmVsZWFzZVJlZigpIGNh
bGwgdG8gYSBQYXNzUmVmUHRyLCB3aGljaCBwYXNzZXMKKyAgICAgICAgb3duZXJzaGlwLgorCisg
ICAgICAgICogd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcDoKKyAgICAgICAgKF9XZWJL
aXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2Rpc3Bvc2Up
OgorCisyMDA5LTAzLTEwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ0OTMKKyAgICAgICAgW0dUS10gTWlzYyBwYXRjaGVz
IGZvciBXZWJLaXRXZWJIaXN0b3J5SXRlbQorCiAgICAgICAgIHJldHVybiBmb28/IGZvbyA6IE5V
TEwgPT0gcmV0dXJuIGZvbwogCiAgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVt
LmNwcDoKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVt
LmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcAppbmRleCA0
NWIwM2Q5Li40YjE2Yzk4IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJo
aXN0b3J5aXRlbS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0
ZW0uY3BwCkBAIC05NiwxMCArOTYsMTIgQEAgc3RhdGljIHZvaWQgd2Via2l0X2hpc3RvcnlfaXRl
bV9hZGQoV2ViS2l0V2ViSGlzdG9yeUl0ZW0qIHdlYkhpc3RvcnlJdGVtLCBXZWJDb3IKIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2Rpc3Bvc2UoR09iamVjdCogb2JqZWN0KQog
ewogICAgIFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJIaXN0b3J5SXRlbSA9IFdFQktJVF9XRUJf
SElTVE9SWV9JVEVNKG9iamVjdCk7CisgICAgV2ViQ29yZTo6SGlzdG9yeUl0ZW0qIGl0ZW0gPSBj
b3JlKHdlYkhpc3RvcnlJdGVtKTsKIAogICAgIEdIYXNoVGFibGUqIHRhYmxlID0gd2Via2l0X2hp
c3RvcnlfaXRlbXMoKTsKIAotICAgIGdfaGFzaF90YWJsZV9yZW1vdmUodGFibGUsIGNvcmUod2Vi
SGlzdG9yeUl0ZW0pKTsKKyAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHRhYmxlLCBpdGVtKTsKKyAg
ICBpdGVtLT5kZXJlZigpOwogCiAgICAgLyogZGVzdHJveSB0YWJsZSBpZiBlbXB0eSAqLwogICAg
IGlmICghZ19oYXNoX3RhYmxlX3NpemUodGFibGUpKQotLSAKMS42LjIKCg==
</data>
<flag name="review"
          id="13960"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28468</attachid>
            <date>2009-03-11 02:30:26 -0700</date>
            <delta_ts>2009-03-11 07:10:21 -0700</delta_ts>
            <desc>disposeonce.patch</desc>
            <filename>disposeonce.patch</filename>
            <type>text/plain</type>
            <size>3069</size>
            <attacher name="Xan Lopez">xan.lopez</attacher>
            
              <data encoding="base64">RnJvbSA0NDU3ODFhMGQ3MmMyOWJjMjE5ZDBkNWM2ZjQ5NDllODM3ZTE1ODlmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBYYW4gTG9wZXogPHhsb3BlekBpZ2FsaWEuY29tPgpEYXRlOiBX
ZWQsIDExIE1hciAyMDA5IDExOjI4OjIwICswMjAwClN1YmplY3Q6IFtQQVRDSF0gMjAwOS0wMy0x
MCAgWGFuIExvcGV6ICA8eGxvcGV6QGlnYWxpYS5jb20+CgogICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgoKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjQ0OTMKICAgICAgICBbR1RLXSBNaXNjIHBhdGNoZXMgZm9yIFdlYktpdFdlYkhpc3Rv
cnlJdGVtCgogICAgICAgIE9ubHkgcnVuIGNvZGUgaW4gZGlzcG9zZSBvbmNlIHBlciBpbnN0YW5j
ZS4KCiAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwOgogICAgICAgIChf
V2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlOjp3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9kaXNw
b3NlKToKLS0tCiBXZWJLaXQvZ3RrL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDEyICsrKysrKysrKysrKwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0u
Y3BwIHwgICAxOSArKysrKysrKysrKysrLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2Vy
dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwppbmRleCAxN2YwZTBjLi5mMWY0N2QwIDEwMDY0NAot
LS0gYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZworKysgYi9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
NSw2ICs1LDE4IEBACiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNDQ5MwogICAgICAgICBbR1RLXSBNaXNjIHBhdGNoZXMgZm9yIFdlYktpdFdlYkhpc3Rv
cnlJdGVtCiAKKyAgICAgICAgT25seSBydW4gY29kZSBpbiBkaXNwb3NlIG9uY2UgcGVyIGluc3Rh
bmNlLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcDoKKyAgICAg
ICAgKF9XZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGU6OndlYmtpdF93ZWJfaGlzdG9yeV9pdGVt
X2Rpc3Bvc2UpOgorCisyMDA5LTAzLTEwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ0OTMKKyAgICAgICAgW0dUS10gTWlz
YyBwYXRjaGVzIGZvciBXZWJLaXRXZWJIaXN0b3J5SXRlbQorCiAgICAgICAgIENhbGwgZGVyZWYo
KSBvbiBvdXIgaW50ZXJuYWwgSGlzdG9yeUl0ZW0gb24gZGlzcG9zZSwgYXMgd2UgYWx3YXlzCiAg
ICAgICAgIGFjcXVpcmUgaXQgd2l0aCBhIHJlbGVhc2VSZWYoKSBjYWxsIHRvIGEgUGFzc1JlZlB0
ciwgd2hpY2ggcGFzc2VzCiAgICAgICAgIG93bmVyc2hpcC4KZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYmhpc3RvcnlpdGVtLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dl
YmtpdHdlYmhpc3RvcnlpdGVtLmNwcAppbmRleCA0YjE2Yzk4Li40MmU2YTliIDEwMDY0NAotLS0g
YS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJoaXN0b3J5aXRlbS5jcHAKKysrIGIvV2ViS2l0
L2d0ay93ZWJraXQvd2Via2l0d2ViaGlzdG9yeWl0ZW0uY3BwCkBAIC01OCw2ICs1OCw4IEBAIHN0
cnVjdCBfV2ViS2l0V2ViSGlzdG9yeUl0ZW1Qcml2YXRlIHsKICAgICBXZWJDb3JlOjpDU3RyaW5n
IGFsdGVybmF0ZVRpdGxlOwogICAgIFdlYkNvcmU6OkNTdHJpbmcgdXJpOwogICAgIFdlYkNvcmU6
OkNTdHJpbmcgb3JpZ2luYWxVcmk7CisKKyAgICBnYm9vbGVhbiBkaXNwb3NlZDsKIH07CiAKICNk
ZWZpbmUgV0VCS0lUX1dFQl9ISVNUT1JZX0lURU1fR0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBF
X0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBXRUJLSVRfVFlQRV9XRUJfSElTVE9SWV9JVEVN
LCBXZWJLaXRXZWJIaXN0b3J5SXRlbVByaXZhdGUpKQpAQCAtOTYsMTYgKzk4LDIxIEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF9oaXN0b3J5X2l0ZW1fYWRkKFdlYktpdFdlYkhpc3RvcnlJdGVtKiB3ZWJI
aXN0b3J5SXRlbSwgV2ViQ29yCiBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9k
aXNwb3NlKEdPYmplY3QqIG9iamVjdCkKIHsKICAgICBXZWJLaXRXZWJIaXN0b3J5SXRlbSogd2Vi
SGlzdG9yeUl0ZW0gPSBXRUJLSVRfV0VCX0hJU1RPUllfSVRFTShvYmplY3QpOworICAgIFdlYktp
dFdlYkhpc3RvcnlJdGVtUHJpdmF0ZSogcHJpdiA9IHdlYkhpc3RvcnlJdGVtLT5wcml2OwogICAg
IFdlYkNvcmU6Okhpc3RvcnlJdGVtKiBpdGVtID0gY29yZSh3ZWJIaXN0b3J5SXRlbSk7CiAKLSAg
ICBHSGFzaFRhYmxlKiB0YWJsZSA9IHdlYmtpdF9oaXN0b3J5X2l0ZW1zKCk7CisgICAgaWYgKCFw
cml2LT5kaXNwb3NlZCkgeworICAgICAgICBHSGFzaFRhYmxlKiB0YWJsZSA9IHdlYmtpdF9oaXN0
b3J5X2l0ZW1zKCk7CiAKLSAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHRhYmxlLCBpdGVtKTsKLSAg
ICBpdGVtLT5kZXJlZigpOworICAgICAgICBnX2hhc2hfdGFibGVfcmVtb3ZlKHRhYmxlLCBpdGVt
KTsKKyAgICAgICAgaXRlbS0+ZGVyZWYoKTsKIAotICAgIC8qIGRlc3Ryb3kgdGFibGUgaWYgZW1w
dHkgKi8KLSAgICBpZiAoIWdfaGFzaF90YWJsZV9zaXplKHRhYmxlKSkKLSAgICAgICAgZ19oYXNo
X3RhYmxlX2Rlc3Ryb3kodGFibGUpOworICAgICAgICAvKiBkZXN0cm95IHRhYmxlIGlmIGVtcHR5
ICovCisgICAgICAgIGlmICghZ19oYXNoX3RhYmxlX3NpemUodGFibGUpKQorICAgICAgICAgICAg
Z19oYXNoX3RhYmxlX2Rlc3Ryb3kodGFibGUpOworCisgICAgICAgIHByaXYtPmRpc3Bvc2VkID0g
dHJ1ZTsKKyAgICB9CiAKICAgICBHX09CSkVDVF9DTEFTUyh3ZWJraXRfd2ViX2hpc3RvcnlfaXRl
bV9wYXJlbnRfY2xhc3MpLT5kaXNwb3NlKG9iamVjdCk7CiB9Ci0tIAoxLjYuMgoK
</data>
<flag name="review"
          id="13961"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28473</attachid>
            <date>2009-03-11 04:22:47 -0700</date>
            <delta_ts>2009-03-17 10:39:04 -0700</delta_ts>
            <desc>add WebKitWebHistoryItem unit test</desc>
            <filename>webkitgtk-historyitem-unittest.patch</filename>
            <type>text/plain</type>
            <size>5843</size>
            <attacher name="Jan Alonzo">jmalonzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAxYWY2ZTRhLi4zYjJjY2Zk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMDktMDMtMTEgIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gTWlz
YyBwYXRjaGVzIGZvciBXZWJLaXRXZWJIaXN0b3J5SXRlbQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQ0OTMKKworICAgICAgICBBZGRlZCBidWlsZCBz
dXBwb3J0IGZvciBidWlsZCB0aGUgV2ViS2l0V2ViSGlzdG9yeUl0ZW0gdW5pdCB0ZXN0LgorCisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06CisKIDIwMDktMDMtMDIgIFhhbiBMb3BleiAgPHhhbkBn
bm9tZS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFyayBSb3dlLgpkaWZmIC0tZ2l0IGEv
R05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmlsZS5hbQppbmRleCBhOTI2Nzc0Li41OWNlMThhIDEw
MDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtNDY0LDcg
KzQ2NCw4IEBAIGluY2x1ZGUgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRU
b29scy9HTlVtYWtlZmlsZS5hbQogCiAjIEJ1aWxkIHVuaXQgdGVzdAotbm9pbnN0X1BST0dSQU1T
ICs9IFByb2dyYW1zL1VuaXRUZXN0cworbm9pbnN0X1BST0dSQU1TICs9IFByb2dyYW1zL1VuaXRU
ZXN0cyBQcm9ncmFtcy9XZWJIaXN0b3J5SXRlbVVuaXRUZXN0cworCiBQcm9ncmFtc19Vbml0VGVz
dHNfQ1BQRkxBR1MgPSBcCiAJLUkkKHNyY2RpcikvV2ViS2l0L2d0ayBcCiAJLUkkKHRvcF9idWls
ZGRpcikvV2ViS2l0L2d0ayBcCkBAIC00ODcsNiArNDg4LDI4IEBAIFByb2dyYW1zX1VuaXRUZXN0
c19MREFERCA9IFwKIAkkKEdUS19MSUJTKQlcCiAJJChHTElCX0xJQlMpCiAKK1Byb2dyYW1zX1dl
Ykhpc3RvcnlJdGVtVW5pdFRlc3RzX0NQUEZMQUdTID0gXAorCS1JJChzcmNkaXIpL1dlYktpdC9n
dGsgXAorCS1JJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsgXAorCSQoZ2xvYmFsX2NwcGZsYWdz
KSBcCisJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKKworUHJvZ3JhbXNfV2ViSGlzdG9yeUl0
ZW1Vbml0VGVzdHNfU09VUkNFUyA9IFwKKwlXZWJLaXQvZ3RrL3Rlc3RzL3Rlc3R3ZWJoaXN0b3J5
aXRlbS5jCisKK1Byb2dyYW1zX1dlYkhpc3RvcnlJdGVtVW5pdFRlc3RzX0NGTEFHUyA9IFwKKwkt
Zm5vLXN0cmljdC1hbGlhc2luZyBcCisJLU8yIFwKKwkkKGdsb2JhbF9jZmxhZ3MpIFwKKwkkKEdM
SUJfQ0ZMQUdTKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykKKworUHJv
Z3JhbXNfV2ViSGlzdG9yeUl0ZW1Vbml0VGVzdHNfTERBREQgPSBcCisJbGlid2Via2l0LTEuMC5s
YSBcCisJJChHVEtfTElCUykJXAorCSQoR0xJQl9MSUJTKQorCiAjIEF1dG9nZW5lcmF0ZWQgc291
cmNlcwogQlVJTFRfU09VUkNFUyA6PSBcCiAJJChqYXZhc2NyaXB0Y29yZV9idWlsdF9zb3VyY2Vz
KSBcCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCmluZGV4IGZjOTI3NDMuLjY0OWMxOTYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMDktMDMt
MTEgIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gTWlzYyBwYXRjaGVz
IGZvciBXZWJLaXRXZWJIaXN0b3J5SXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjQ0OTMKKworICAgICAgICBBZGQgdW5pdCB0ZXN0IGZvciBXZWJL
aXRXZWJIaXN0b3J5SXRlbQorCisgICAgICAgICogdGVzdHMvdGVzdHdlYmhpc3RvcnlpdGVtLmM6
IEFkZGVkLgorICAgICAgICAod2ViX2hpc3RvcnlfaXRlbV9maXh0dXJlX3NldHVwKToKKyAgICAg
ICAgKHdlYl9oaXN0b3J5X2l0ZW1fZml4dHVyZV90ZWFyZG93bik6CisgICAgICAgICh0ZXN0X3dl
YmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9kYXRhKToKKyAgICAgICAgKHRlc3Rfd2Via2l0X3dl
Yl9oaXN0b3J5X2l0ZW1fYWx0ZXJuYXRlX3RpdGxlKToKKyAgICAgICAgKG1haW4pOgorCiAyMDA5
LTAzLTEwICBYYW4gTG9wZXogIDx4bG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay90ZXN0cy90
ZXN0d2ViaGlzdG9yeWl0ZW0uYyBiL1dlYktpdC9ndGsvdGVzdHMvdGVzdHdlYmhpc3RvcnlpdGVt
LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRlN2JlZAotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYktpdC9ndGsvdGVzdHMvdGVzdHdlYmhpc3RvcnlpdGVtLmMKQEAgLTAsMCAr
MSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBKYW4gTWljaGFlbCBBbG9uem8KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lu
Y2x1ZGUgPGdsaWIuaD4KKyNpbmNsdWRlIDxndGsvZ3RrLmg+CisjaW5jbHVkZSA8d2Via2l0L3dl
YmtpdC5oPgorCisjaWYgR0xJQl9DSEVDS19WRVJTSU9OKDIsIDE2LCAwKSAmJiBHVEtfQ0hFQ0tf
VkVSU0lPTigyLCAxNCwgMCkKKwordHlwZWRlZiBzdHJ1Y3QgeworICAgIFdlYktpdFdlYkhpc3Rv
cnlJdGVtKiBpdGVtOworfSBXZWJIaXN0b3J5SXRlbUZpeHR1cmU7CisKK3N0YXRpYyB2b2lkIHdl
Yl9oaXN0b3J5X2l0ZW1fZml4dHVyZV9zZXR1cChXZWJIaXN0b3J5SXRlbUZpeHR1cmUqIGZpeHR1
cmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2NvbnN0cG9p
bnRlciBkYXRhKQoreworICAgIGZpeHR1cmUtPml0ZW0gPSB3ZWJraXRfd2ViX2hpc3RvcnlfaXRl
bV9uZXdfd2l0aF9kYXRhKCJodHRwOi8vZXhhbXBsZS5jb20vIiwgIkV4YW1wbGUxIik7CisgICAg
Z19hc3NlcnRfY21waW50KEdfT0JKRUNUKGZpeHR1cmUtPml0ZW0pLT5yZWZfY291bnQsID09ICwg
Mik7CisgICAgZ19hc3NlcnQoZml4dHVyZS0+aXRlbSAhPSBOVUxMKTsKK30KKworc3RhdGljIHZv
aWQgd2ViX2hpc3RvcnlfaXRlbV9maXh0dXJlX3RlYXJkb3duKFdlYkhpc3RvcnlJdGVtRml4dHVy
ZSogZml4dHVyZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgZ19hc3NlcnQoZml4dHVyZS0+aXRlbSAhPSBO
VUxMKTsKKyAgICBnX2Fzc2VydF9jbXBpbnQoR19PQkpFQ1QoZml4dHVyZS0+aXRlbSktPnJlZl9j
b3VudCwgPT0sIDIpOworICAgIGdfb2JqZWN0X3VucmVmKGZpeHR1cmUtPml0ZW0pOworICAgIGdf
YXNzZXJ0X2NtcGludChHX09CSkVDVChmaXh0dXJlLT5pdGVtKS0+cmVmX2NvdW50LCA9PSwgMSk7
Cit9CisKK3N0YXRpYyB2b2lkCit0ZXN0X3dlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2dldF9kYXRh
KFdlYkhpc3RvcnlJdGVtRml4dHVyZSogZml4dHVyZSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZ2NvbnN0cG9pbnRlciBkYXRhKQoreworICAgIGdfYXNzZXJ0X2NtcHN0
cih3ZWJraXRfd2ViX2hpc3RvcnlfaXRlbV9nZXRfdGl0bGUoZml4dHVyZS0+aXRlbSksID09LCAi
RXhhbXBsZTEiKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIod2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1f
Z2V0X3VyaShmaXh0dXJlLT5pdGVtKSwgPT0sICJodHRwOi8vZXhhbXBsZS5jb20vIik7Cit9CisK
K3N0YXRpYyB2b2lkCit0ZXN0X3dlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2FsdGVybmF0ZV90aXRs
ZShXZWJIaXN0b3J5SXRlbUZpeHR1cmUqIGZpeHR1cmUsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnY29uc3Rwb2ludGVyIGRhdGEpCit7CisgICAgd2Via2l0
X3dlYl9oaXN0b3J5X2l0ZW1fc2V0X2FsdGVybmF0ZV90aXRsZShmaXh0dXJlLT5pdGVtLCAiQWx0
ZXJuYXRlIHRpdGxlIik7CisgICAgZ19hc3NlcnRfY21wc3RyKHdlYmtpdF93ZWJfaGlzdG9yeV9p
dGVtX2dldF9hbHRlcm5hdGVfdGl0bGUoZml4dHVyZS0+aXRlbSksID09LCAiQWx0ZXJuYXRlIHRp
dGxlIik7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKK3sKKyAgICBnX3Ro
cmVhZF9pbml0KE5VTEwpOworICAgIGd0a190ZXN0X2luaXQoJmFyZ2MsICZhcmd2LCBOVUxMKTsK
KworICAgIGdfdGVzdF9idWdfYmFzZSgiaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvIik7CisgICAg
Z190ZXN0X2FkZCgiL3dlYmtpdC93ZWJoaXN0b3J5aXRlbS9nZXRfZGF0YSIsCisgICAgICAgICAg
ICAgICBXZWJIaXN0b3J5SXRlbUZpeHR1cmUsIDAsIHdlYl9oaXN0b3J5X2l0ZW1fZml4dHVyZV9z
ZXR1cCwKKyAgICAgICAgICAgICAgIHRlc3Rfd2Via2l0X3dlYl9oaXN0b3J5X2l0ZW1fZ2V0X2Rh
dGEsIHdlYl9oaXN0b3J5X2l0ZW1fZml4dHVyZV90ZWFyZG93bik7CisgICAgZ190ZXN0X2FkZCgi
L3dlYmtpdC93ZWJoaXN0b3J5aXRlbS9hbHRlcm5hdGVfdGl0bGUiLAorICAgICAgICAgICAgICAg
V2ViSGlzdG9yeUl0ZW1GaXh0dXJlLCAwLCB3ZWJfaGlzdG9yeV9pdGVtX2ZpeHR1cmVfc2V0dXAs
CisgICAgICAgICAgICAgICB0ZXN0X3dlYmtpdF93ZWJfaGlzdG9yeV9pdGVtX2FsdGVybmF0ZV90
aXRsZSwgd2ViX2hpc3RvcnlfaXRlbV9maXh0dXJlX3RlYXJkb3duKTsKKyAgICByZXR1cm4gZ190
ZXN0X3J1biAoKTsKK30KKworI2Vsc2UKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikK
K3sKKyAgICBnX2NyaXRpY2FsKCJZb3Ugd2lsbCBuZWVkIGF0IGxlYXN0IGdsaWItMi4xNi4wIGFu
ZCBndGstMi4xNC4wIHRvIHJ1biB0aGUgdW5pdCB0ZXN0cy4gRG9pbmcgbm90aGluZyBub3cuIik7
CisgICAgcmV0dXJuIDA7Cit9CisKKyNlbmRpZgo=
</data>
<flag name="review"
          id="13964"
          type_id="1"
          status="+"
          setter="zecke"
    />
          </attachment>
      

    </bug>

</bugzilla>