<?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>40724</bug_id>
          
          <creation_ts>2010-06-16 11:20:37 -0700</creation_ts>
          <short_desc>Check for extra spacing on a variable declaration line.</short_desc>
          <delta_ts>2010-06-23 00:00:47 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Sam Magnuson">smagnuso</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cjerdonek</cc>
    
    <cc>hamaji</cc>
    
    <cc>hausmann</cc>
    
    <cc>manyoso</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>238976</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-06-16 11:20:37 -0700</bug_when>
    <thetext>I&apos;ve been bitten before by having:

struct {
   int     a;
   int     b;
}

As my previous guidelines had me working that way. I&apos;ve had reviews ask that I fix this, and it would have been great to have check-webkit-style flag this for me to prevent wasting reviewer time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>238980</commentid>
    <comment_count>1</comment_count>
      <attachid>58910</attachid>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-06-16 11:26:27 -0700</bug_when>
    <thetext>Created attachment 58910
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239240</commentid>
    <comment_count>2</comment_count>
      <attachid>58910</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-06-16 23:03:49 -0700</bug_when>
    <thetext>Comment on attachment 58910
Proposed patch

Thanks for this patch! This feature is very useful, but I think we can improve this.

Two general comments:

- You may have already done this, but please check your patch with existing code and check if there are new false positives. For example, I often run ./WebKitTools/Scripts/run-webkit-style WebCore/*/*.cpp | grep &lt;the new error message&gt; to see the change.
- Please create a patch to the newest tree. I think cpp.py was moved from processors directory to checkers directory.

WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1365
 +      matched = search(r&apos;^\s*(?P&lt;type&gt;\w+)\s\s+(?P&lt;name&gt;\w+)&apos;, line)
This regexp will catch &quot;else  if&quot; as well, and this is useful warning. So, I think we should change &lt;type&gt; and &lt;name&gt; to &lt;token1&gt; and &lt;token2&gt; or something like this.

WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1365
 +      matched = search(r&apos;^\s*(?P&lt;type&gt;\w+)\s\s+(?P&lt;name&gt;\w+)&apos;, line)
I think it would be nice if we can check &quot;int*  a&quot;, &quot;int&amp;  a&quot;, &quot;if  (&quot;, etc.

WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1368
 +                &apos;Declaration has space between %s and %s &apos; % (matched.group(&apos;type&apos;), matched.group(&apos;name&apos;)) )
Having one space is OK so this sentence sounds a bit strange to me. Also, we don&apos;t need the trailing space.

So, I would say &quot;Extra space between &apos;%s&apos; and &apos;%s&apos;&quot; or something like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239482</commentid>
    <comment_count>3</comment_count>
      <attachid>59016</attachid>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-06-17 11:04:32 -0700</bug_when>
    <thetext>Created attachment 59016
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239484</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-06-17 11:06:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 58910 [details])
&gt; Thanks for this patch! This feature is very useful, but I think we can improve this.
&gt; 
&gt; Two general comments:
&gt; 
&gt; - You may have already done this, but please check your patch with existing code and check if there are new false positives. For example, I often run ./WebKitTools/Scripts/run-webkit-style WebCore/*/*.cpp | grep &lt;the new error message&gt; to see the change.

This seemed to pass for me, it even spotted a handful of existing errors :)

&gt; - Please create a patch to the newest tree. I think cpp.py was moved from processors directory to checkers directory.
&gt; 
&gt; WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1365
&gt;  +      matched = search(r&apos;^\s*(?P&lt;type&gt;\w+)\s\s+(?P&lt;name&gt;\w+)&apos;, line)
&gt; This regexp will catch &quot;else  if&quot; as well, and this is useful warning. So, I think we should change &lt;type&gt; and &lt;name&gt; to &lt;token1&gt; and &lt;token2&gt; or something like this.
&gt; 

Fair enough, I&apos;ve done this - add added the &apos;else  if&apos; to the unittest. 

&gt; WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1365
&gt;  +      matched = search(r&apos;^\s*(?P&lt;type&gt;\w+)\s\s+(?P&lt;name&gt;\w+)&apos;, line)
&gt; I think it would be nice if we can check &quot;int*  a&quot;, &quot;int&amp;  a&quot;, &quot;if  (&quot;, etc.
&gt;

Ok, I added this and put it in the unit test as well.
 
&gt; WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1368
&gt;  +                &apos;Declaration has space between %s and %s &apos; % (matched.group(&apos;type&apos;), matched.group(&apos;name&apos;)) )
&gt; Having one space is OK so this sentence sounds a bit strange to me. Also, we don&apos;t need the trailing space.
&gt; 
&gt; So, I would say &quot;Extra space between &apos;%s&apos; and &apos;%s&apos;&quot; or something like this.

Agreed, changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>239749</commentid>
    <comment_count>5</comment_count>
      <attachid>59016</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-06-17 21:43:02 -0700</bug_when>
    <thetext>Comment on attachment 59016
Proposed patch

Looks great. Thanks for your quick update.

&gt; &gt; - You may have already done this, but please check your patch with existing code and check if there are new false positives. For example, I often run ./WebKitTools/Scripts/run-webkit-style WebCore/*/*.cpp | grep &lt;the new error message&gt; to see the change.
&gt; 
&gt; This seemed to pass for me, it even spotted a handful of existing errors :)

Nice! Thanks for your checking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241516</commentid>
    <comment_count>6</comment_count>
      <attachid>59437</attachid>
    <who name="Sam Magnuson">smagnuso</who>
    <bug_when>2010-06-22 16:12:18 -0700</bug_when>
    <thetext>Created attachment 59437
Rediff against trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241520</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-06-22 16:15:09 -0700</bug_when>
    <thetext>Attachment 59437 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebKitTools/Scripts/webkitpy/style/checkers/cpp.py:1375:  whitespace before &apos;)&apos;  [pep8/E202] [5]
Total errors found: 1 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241642</commentid>
    <comment_count>8</comment_count>
      <attachid>59437</attachid>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-06-22 21:25:29 -0700</bug_when>
    <thetext>Comment on attachment 59437
Rediff against trunk

Looks good. I&apos;ll land this with fixing the style error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241683</commentid>
    <comment_count>9</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-06-22 23:30:44 -0700</bug_when>
    <thetext>Committed r61660: &lt;http://trac.webkit.org/changeset/61660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>241699</commentid>
    <comment_count>10</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-06-23 00:00:47 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Committed r61660: &lt;http://trac.webkit.org/changeset/61660&gt;

It looks like the test doesn&apos;t success with your last patch because you forgot to modify the test expectations after you addressed the following comment. It&apos;s a very good idea to run WebKitTools/Scripts/test-webkit-scripts before you upload your patch when you modify our scripts. Anyway, thanks again for your contribution!

&gt; WebKitTools/Scripts/webkitpy/style/processors/cpp.py:1368
&gt;  +                &apos;Declaration has space between %s and %s &apos; % (matched.group(&apos;type&apos;), matched.group(&apos;name&apos;)) )
&gt; Having one space is OK so this sentence sounds a bit strange to me. Also, we don&apos;t need the trailing space.
&gt; 
&gt; So, I would say &quot;Extra space between &apos;%s&apos; and &apos;%s&apos;&quot; or something like this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58910</attachid>
            <date>2010-06-16 11:26:27 -0700</date>
            <delta_ts>2010-06-17 11:04:32 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-40724.patch</filename>
            <type>text/plain</type>
            <size>2871</size>
            <attacher name="Sam Magnuson">smagnuso</attacher>
            
              <data encoding="base64">RnJvbSBkNWQ5ZGIzZDc4YmY4NGZjNTI0YjA4ODY2YjBlZjNhMjlhMWEwNTM4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW0gTWFnbnVzb24gPHNtYWdudXNvbkBuZXRmbGl4LmNvbT4K
RGF0ZTogV2VkLCAxNiBKdW4gMjAxMCAxMToyNTowNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEZv
bGxvdyBwcm9wZXIgY29udmVudGlvbiBmb3IgdmFyaWFibGUgZGVjbGFyYXRpb24gc3BhY2luZy4K
IGJ1Zy00MDcyNAoKLS0tCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTIgKysrKysrKysrKysrCiAuLi4vU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9wcm9jZXNzb3JzL2NwcC5weSAgICAgICB8ICAgIDUgKysrKysKIC4uLi93ZWJraXRweS9zdHls
ZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weSAgICAgIHwgICAgNCArKysrCiAzIGZpbGVzIGNo
YW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUzZDYzMmYu
LmJhZmE4OWEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRU
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNi0xNyAgU2FtIE1hZ251c29u
ICA8c21hZ251c29uQG5ldGZsaXguY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEZvbGxvdyBwcm9wZXIgY29udmVudGlvbiBmb3IgdmFyaWFibGUg
ZGVjbGFyYXRpb24gc3BhY2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTQwNzI0CisKKyAgICAgICAgTW9kaWZpZWQgdGVzdCBzbyB0aGF0ICdpbnQg
ICBhOycgaXMgbm90IGFsbG93ZWQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0eWxl
L3Byb2Nlc3NvcnMvY3BwLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJv
Y2Vzc29ycy9jcHBfdW5pdHRlc3QucHk6CisKIDIwMTAtMDYtMTYgIFNhbSBNYWdudXNvbiAgPHNt
YWdudXNvbkBuZXRmbGl4LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJvY2Vz
c29ycy9jcHAucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3Nv
cnMvY3BwLnB5CmluZGV4IDMzNGY3ZmIuLjIwN2ExMjkgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHAucHkKKysrIGIvV2ViS2l0VG9v
bHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQpAQCAtMTM2Miw2ICsx
MzYyLDExIEBAIGRlZiBjaGVja19zcGFjaW5nKGZpbGVfZXh0ZW5zaW9uLCBjbGVhbl9saW5lcywg
bGluZV9udW1iZXIsIGVycm9yKToKICAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICd3aGl0ZXNw
YWNlL2NvbW1hJywgMywKICAgICAgICAgICAgICAgJ01pc3Npbmcgc3BhY2UgYWZ0ZXIgLCcpCiAK
KyAgICBtYXRjaGVkID0gc2VhcmNoKHInXlxzKig/UDx0eXBlPlx3Kylcc1xzKyg/UDxuYW1lPlx3
KyknLCBsaW5lKQorICAgIGlmIG1hdGNoZWQ6CisgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAn
d2hpdGVzcGFjZS9kZWNsYXJhdGlvbicsIDMsCisgICAgICAgICAgICAgICdEZWNsYXJhdGlvbiBo
YXMgc3BhY2UgYmV0d2VlbiAlcyBhbmQgJXMgJyAlIChtYXRjaGVkLmdyb3VwKCd0eXBlJyksIG1h
dGNoZWQuZ3JvdXAoJ25hbWUnKSkgKQorCiAgICAgaWYgZmlsZV9leHRlbnNpb24gPT0gJ2NwcCc6
CiAgICAgICAgICMgQysrIHNob3VsZCBoYXZlIHRoZSAmIG9yICogYmVzaWRlIHRoZSB0eXBlIG5v
dCB0aGUgdmFyaWFibGUgbmFtZS4KICAgICAgICAgbWF0Y2hlZCA9IG1hdGNoKHInXHMqXHcrKD88
IVxicmV0dXJufFxiZGVsZXRlKVxzKyg/UDxwb2ludGVyX29wZXJhdG9yPlwqfFwmKVx3KycsIGxp
bmUpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nl
c3NvcnMvY3BwX3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQppbmRleCA4NWM2YzFlLi40NDUxMWY5IDEwMDc1
NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3Bw
X3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJv
Y2Vzc29ycy9jcHBfdW5pdHRlc3QucHkKQEAgLTE1NDUsNiArMTU0NSwxMCBAQCBjbGFzcyBDcHBT
dHlsZVRlc3QoQ3BwU3R5bGVUZXN0QmFzZSk6CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2Yo
YSwgLyogbmFtZSAqLyBiKTsnLCAnJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnZihhLCAv
KiBuYW1lICovYik7JywgJycpCiAKKyAgICBkZWYgdGVzdF9kZWNsYXJhdGlvbihzZWxmKToKKyAg
ICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50IGE7JywgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0
X2xpbnQoJ2ludCAgIGE7JywgJ0RlY2xhcmF0aW9uIGhhcyBzcGFjZSBiZXR3ZWVuIGludCBhbmQg
YSAgIFt3aGl0ZXNwYWNlL2RlY2xhcmF0aW9uXSBbM10nKQorCiAgICAgZGVmIHRlc3RfcG9pbnRl
cl9yZWZlcmVuY2VfbWFya2VyX2xvY2F0aW9uKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydF9s
aW50KCdpbnQqIGI7JywgJycsICdmb28uY3BwJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgn
aW50ICpiOycsCi0tIAoxLjcuMQoK
</data>
<flag name="review"
          id="45445"
          type_id="1"
          status="-"
          setter="hamaji"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59016</attachid>
            <date>2010-06-17 11:04:32 -0700</date>
            <delta_ts>2010-06-22 16:12:18 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-40724.patch</filename>
            <type>text/plain</type>
            <size>3144</size>
            <attacher name="Sam Magnuson">smagnuso</attacher>
            
              <data encoding="base64">RnJvbSBmYzAzYTE4NTExNTg2OThkMjhlYzUxZDdjNzBjOWNhNGU2NTIwMDc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTYW0gTWFnbnVzb24gPHNtYWdudXNvbkBuZXRmbGl4LmNvbT4K
RGF0ZTogV2VkLCAxNiBKdW4gMjAxMCAxMToyNTowNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIEZv
bGxvdyBwcm9wZXIgY29udmVudGlvbiBmb3IgdmFyaWFibGUgZGVjbGFyYXRpb24gc3BhY2luZy4K
IGJ1Zy00MDcyNAoKLS0tCiBXZWJLaXRUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTIgKysrKysrKysrKysrCiAuLi4vU2NyaXB0cy93ZWJraXRweS9zdHls
ZS9wcm9jZXNzb3JzL2NwcC5weSAgICAgICB8ICAgIDUgKysrKysKIC4uLi93ZWJraXRweS9zdHls
ZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weSAgICAgIHwgICAgNyArKysrKysrCiAzIGZpbGVz
IGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUzZDYz
MmYuLmJhZmE4OWEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJL
aXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wNi0xNyAgU2FtIE1hZ251
c29uICA8c21hZ251c29uQG5ldGZsaXguY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEZvbGxvdyBwcm9wZXIgY29udmVudGlvbiBmb3IgdmFyaWFi
bGUgZGVjbGFyYXRpb24gc3BhY2luZy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTQwNzI0CisKKyAgICAgICAgTW9kaWZpZWQgdGVzdCBzbyB0aGF0ICdp
bnQgICBhOycgaXMgbm90IGFsbG93ZWQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3N0
eWxlL3Byb2Nlc3NvcnMvY3BwLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUv
cHJvY2Vzc29ycy9jcHBfdW5pdHRlc3QucHk6CisKIDIwMTAtMDYtMTYgIFNhbSBNYWdudXNvbiAg
PHNtYWdudXNvbkBuZXRmbGl4LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJv
Y2Vzc29ycy9jcHAucHkgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nl
c3NvcnMvY3BwLnB5CmluZGV4IDc2NTZjYjkuLmI0NWFlMWEgMTAwNzU1Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHAucHkKKysrIGIvV2ViS2l0
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcC5weQpAQCAtMTM2NCw2
ICsxMzY0LDExIEBAIGRlZiBjaGVja19zcGFjaW5nKGZpbGVfZXh0ZW5zaW9uLCBjbGVhbl9saW5l
cywgbGluZV9udW1iZXIsIGVycm9yKToKICAgICAgICAgZXJyb3IobGluZV9udW1iZXIsICd3aGl0
ZXNwYWNlL2NvbW1hJywgMywKICAgICAgICAgICAgICAgJ01pc3Npbmcgc3BhY2UgYWZ0ZXIgLCcp
CiAKKyAgICBtYXRjaGVkID0gc2VhcmNoKHInXlxzKig/UDx0b2tlbjE+W2EtekEtWjAtOV9cKiZd
Kylcc1xzKyg/UDx0b2tlbjI+W2EtekEtWjAtOV9cKiZdKyknLCBsaW5lKQorICAgIGlmIG1hdGNo
ZWQ6CisgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9kZWNsYXJhdGlvbics
IDMsCisgICAgICAgICAgICAgICdFeHRyYSBzcGFjZSBiZXR3ZWVuICVzIGFuZCAlcycgJSAobWF0
Y2hlZC5ncm91cCgndG9rZW4xJyksIG1hdGNoZWQuZ3JvdXAoJ3Rva2VuMicpKSApCisKICAgICBp
ZiBmaWxlX2V4dGVuc2lvbiA9PSAnY3BwJzoKICAgICAgICAgIyBDKysgc2hvdWxkIGhhdmUgdGhl
ICYgb3IgKiBiZXNpZGUgdGhlIHR5cGUgbm90IHRoZSB2YXJpYWJsZSBuYW1lLgogICAgICAgICBt
YXRjaGVkID0gbWF0Y2gocidccypcdysoPzwhXGJyZXR1cm58XGJkZWxldGUpXHMrKD9QPHBvaW50
ZXJfb3BlcmF0b3I+XCp8XCYpXHcrJywgbGluZSkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHBfdW5pdHRlc3QucHkgYi9XZWJLaXRU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3N0eWxlL3Byb2Nlc3NvcnMvY3BwX3VuaXR0ZXN0LnB5Cmlu
ZGV4IDcyOGEyMTMuLmEzY2VmNmMgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvcHJvY2Vzc29ycy9jcHBfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy93ZWJraXRweS9zdHlsZS9wcm9jZXNzb3JzL2NwcF91bml0dGVzdC5weQpAQCAtMTU0
Myw2ICsxNTQzLDEzIEBAIGNsYXNzIENwcFN0eWxlVGVzdChDcHBTdHlsZVRlc3RCYXNlKToKICAg
ICAgICAgc2VsZi5hc3NlcnRfbGludCgnZihhLCAvKiBuYW1lICovIGIpOycsICcnKQogICAgICAg
ICBzZWxmLmFzc2VydF9saW50KCdmKGEsIC8qIG5hbWUgKi9iKTsnLCAnJykKIAorICAgIGRlZiB0
ZXN0X2RlY2xhcmF0aW9uKHNlbGYpOgorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQgYTsn
LCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50ICAgYTsnLCAnRXh0cmEgc3BhY2Ug
YmV0d2VlbiBpbnQgYW5kIGEgICBbd2hpdGVzcGFjZS9kZWNsYXJhdGlvbl0gWzNdJykKKyAgICAg
ICAgc2VsZi5hc3NlcnRfbGludCgnaW50KiAgYTsnLCAnRXh0cmEgc3BhY2UgYmV0d2VlbiBpbnQq
IGFuZCBhICAgW3doaXRlc3BhY2UvZGVjbGFyYXRpb25dIFszXScpCisgICAgICAgIHNlbGYuYXNz
ZXJ0X2xpbnQoJ2Vsc2UgaWYgeyB9JywgJycpCisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2Vs
c2UgICBpZiB7IH0nLCAnRXh0cmEgc3BhY2UgYmV0d2VlbiBlbHNlIGFuZCBpZiAgIFt3aGl0ZXNw
YWNlL2RlY2xhcmF0aW9uXSBbM10nKQorCiAgICAgZGVmIHRlc3RfcG9pbnRlcl9yZWZlcmVuY2Vf
bWFya2VyX2xvY2F0aW9uKHNlbGYpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQqIGI7
JywgJycsICdmb28uY3BwJykKICAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnaW50ICpiOycsCi0t
IAoxLjcuMQoK
</data>
<flag name="review"
          id="45604"
          type_id="1"
          status="+"
          setter="hamaji"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>59437</attachid>
            <date>2010-06-22 16:12:18 -0700</date>
            <delta_ts>2010-06-22 21:25:29 -0700</delta_ts>
            <desc>Rediff against trunk</desc>
            <filename>bug-40724.patch</filename>
            <type>text/plain</type>
            <size>2826</size>
            <attacher name="Sam Magnuson">smagnuso</attacher>
            
              <data encoding="base64">Y29tbWl0IGU2ZDAxZTYxZjc5NWUxOGYwMmQzN2NkMzc3OGMzOGZlMTY3N2VlMjMKQXV0aG9yOiBT
YW0gTWFnbnVzb24gPHNtYWdudXNvbkBuZXRmbGl4LmNvbT4KRGF0ZTogICBNb24gSnVuIDIxIDIz
OjA5OjAwIDIwMTAgLTA3MDAKCiAgICBGb2xsb3cgcHJvcGVyIGNvbnZlbnRpb24gZm9yIHZhcmlh
YmxlIGRlY2xhcmF0aW9uIHNwYWNpbmcuCiAgICBidWctNDA3MjQKCmRpZmYgLS1naXQgYS9XZWJL
aXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggYjNmMzMzNS4u
ZWEwMjdhYSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTA2LTE3ICBTYW0gTWFnbnVzb24g
IDxzbWFnbnVzb25AbmV0ZmxpeC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgRm9sbG93IHByb3BlciBjb252ZW50aW9uIGZvciB2YXJpYWJsZSBk
ZWNsYXJhdGlvbiBzcGFjaW5nLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NDA3MjQKKworICAgICAgICBNb2RpZmllZCB0ZXN0IHNvIHRoYXQgJ2ludCAg
IGE7JyBpcyBub3QgYWxsb3dlZC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUv
Y2hlY2tlcnMvY3BwLnB5OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvY3BwX3VuaXR0ZXN0LnB5OgorCiAyMDEwLTA2LTIxICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZGVycyBDYXJsc3Nvbi4K
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tlcnMv
Y3BwLnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAu
cHkKaW5kZXggYTc3YmZmMC4uOGQyMmVhMSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy93ZWJraXRweS9zdHlsZS9jaGVja2Vycy9jcHAucHkKQEAgLTEzNjksNiArMTM2OSwxMSBAQCBk
ZWYgY2hlY2tfc3BhY2luZyhmaWxlX2V4dGVuc2lvbiwgY2xlYW5fbGluZXMsIGxpbmVfbnVtYmVy
LCBlcnJvcik6CiAgICAgICAgIGVycm9yKGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9jb21tYScs
IDMsCiAgICAgICAgICAgICAgICdNaXNzaW5nIHNwYWNlIGFmdGVyICwnKQogCisgICAgbWF0Y2hl
ZCA9IHNlYXJjaChyJ15ccyooP1A8dG9rZW4xPlthLXpBLVowLTlfXComXSspXHNccysoP1A8dG9r
ZW4yPlthLXpBLVowLTlfXComXSspJywgbGluZSkKKyAgICBpZiBtYXRjaGVkOgorICAgICAgICBl
cnJvcihsaW5lX251bWJlciwgJ3doaXRlc3BhY2UvZGVjbGFyYXRpb24nLCAzLAorICAgICAgICAg
ICAgICAnRXh0cmEgc3BhY2UgYmV0d2VlbiAlcyBhbmQgJXMnICUgKG1hdGNoZWQuZ3JvdXAoJ3Rv
a2VuMScpLCBtYXRjaGVkLmdyb3VwKCd0b2tlbjInKSkgKQorCiAgICAgaWYgZmlsZV9leHRlbnNp
b24gPT0gJ2NwcCc6CiAgICAgICAgICMgQysrIHNob3VsZCBoYXZlIHRoZSAmIG9yICogYmVzaWRl
IHRoZSB0eXBlIG5vdCB0aGUgdmFyaWFibGUgbmFtZS4KICAgICAgICAgbWF0Y2hlZCA9IG1hdGNo
KHInXHMqXHcrKD88IVxicmV0dXJufFxiZGVsZXRlKVxzKyg/UDxwb2ludGVyX29wZXJhdG9yPlwq
fFwmKVx3KycsIGxpbmUpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3N0eWxlL2NoZWNrZXJzL2NwcF91bml0dGVzdC5weSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvc3R5bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5CmluZGV4IGQ3Y2I4NzYuLjgwYzkz
OWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5bGUvY2hlY2tl
cnMvY3BwX3VuaXR0ZXN0LnB5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvc3R5
bGUvY2hlY2tlcnMvY3BwX3VuaXR0ZXN0LnB5CkBAIC0xNTQyLDYgKzE1NDIsMTMgQEAgY2xhc3Mg
Q3BwU3R5bGVUZXN0KENwcFN0eWxlVGVzdEJhc2UpOgogICAgICAgICBzZWxmLmFzc2VydF9saW50
KCdmKGEsIC8qIG5hbWUgKi8gYik7JywgJycpCiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2Yo
YSwgLyogbmFtZSAqL2IpOycsICcnKQogCisgICAgZGVmIHRlc3RfZGVjbGFyYXRpb24oc2VsZik6
CisgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2ludCBhOycsICcnKQorICAgICAgICBzZWxmLmFz
c2VydF9saW50KCdpbnQgICBhOycsICdFeHRyYSBzcGFjZSBiZXR3ZWVuIGludCBhbmQgYSAgIFt3
aGl0ZXNwYWNlL2RlY2xhcmF0aW9uXSBbM10nKQorICAgICAgICBzZWxmLmFzc2VydF9saW50KCdp
bnQqICBhOycsICdFeHRyYSBzcGFjZSBiZXR3ZWVuIGludCogYW5kIGEgICBbd2hpdGVzcGFjZS9k
ZWNsYXJhdGlvbl0gWzNdJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnZWxzZSBpZiB7IH0n
LCAnJykKKyAgICAgICAgc2VsZi5hc3NlcnRfbGludCgnZWxzZSAgIGlmIHsgfScsICdFeHRyYSBz
cGFjZSBiZXR3ZWVuIGVsc2UgYW5kIGlmICAgW3doaXRlc3BhY2UvZGVjbGFyYXRpb25dIFszXScp
CisKICAgICBkZWYgdGVzdF9wb2ludGVyX3JlZmVyZW5jZV9tYXJrZXJfbG9jYXRpb24oc2VsZik6
CiAgICAgICAgIHNlbGYuYXNzZXJ0X2xpbnQoJ2ludCogYjsnLCAnJywgJ2Zvby5jcHAnKQogICAg
ICAgICBzZWxmLmFzc2VydF9saW50KCdpbnQgKmI7JywK
</data>
<flag name="review"
          id="46287"
          type_id="1"
          status="+"
          setter="hamaji"
    />
          </attachment>
      

    </bug>

</bugzilla>