<?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>27354</bug_id>
          
          <creation_ts>2009-07-16 14:55:12 -0700</creation_ts>
          <short_desc>cpplint should check for one line control statements surrounded by braces</short_desc>
          <delta_ts>2009-07-16 19:56:10 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</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="Adam Treat">manyoso</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>132354</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-07-16 14:55:12 -0700</bug_when>
    <thetext>cpplint should check for this:

One-line control clauses should not use braces unless comments are included or a single statement spans multiple lines.
Right:
if (condition)
    doIt();

if (condition) {
    // Some comment
    doIt();
}

if (condition) {
    myFunction(reallyLongParam1, reallyLongParam2, ...
        reallyLongParam5);
}
Wrong:
if (condition) {
    doIt();
}

if (condition)
    // Some comment
    doIt();

if (condition)
    myFunction(reallyLongParam1, reallyLongParam2, ...
        reallyLongParam5);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132356</commentid>
    <comment_count>1</comment_count>
      <attachid>32895</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-07-16 14:56:12 -0700</bug_when>
    <thetext>Created attachment 32895
Add the cpplint check</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132371</commentid>
    <comment_count>2</comment_count>
      <attachid>32895</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-16 15:27:23 -0700</bug_when>
    <thetext>Comment on attachment 32895
Add the cpplint check

This is awesome!  This is another issue happens fairly frequently and would be nice to tell people about ahead of their review.

I just have a few things to address/respond to, and then we&apos;ll be done.


&gt; diff --git a/WebKitTools/Scripts/modules/cpplint.py b/WebKitTools/Scripts/modules/cpplint.py
&gt; +        previous_line = get_previous_non_blank_line(clean_lines, line_number-1)[0]

I don&apos;t think using &quot;get_previous_non_blank_line&quot; is quite right because it would flag this case
  if (condition) {
      // Some comment
      doIt();
  }
as needing to get right of the braces and the braces should remain in this case.  I wonder if it should just do this instead:

clean_lines.elided[line_number - 2]


&gt; +        if (previous_line.find(&apos;{&apos;) &gt; 0
&gt; +            and search (r&apos;\b(if|for|while|switch)\b&apos;, previous_line)):

1. Remove space after search.
2. Remove &quot;switch&quot;
3. Add &quot;else&quot;


&gt; +            error(filename, line_number, &apos;whitespace/braces&apos;, 4,

At first this didn&apos;t seem like it fit the category of &quot;whitespace&quot; (which in my mind is adding deleting spaces/blank lines).  I was going to suggest &quot;readability/&quot;
However after further consideration, getting rid of braces decreases blank lines so it actually does seem concerned with that after all.


&gt; +                  &apos;This } does not belong as one line control clauses should not use braces&apos;)

It seems odd to say that the &quot;}&quot; doesn&apos;t belong.  How about just going with something very close to style guide text: &quot;Single-line control clauses should not use braces.&quot; ?



&gt; diff --git a/WebKitTools/Scripts/modules/cpplint_unittest.py b/WebKitTools/Scripts/modules/cpplint_unittest.py
&gt; +        self.assert_multi_line_lint(
&gt; +            &apos;if (true) {\n&apos;
&gt; +            &apos;    int foo;\n&apos;
&gt; +            &apos;}\n&apos;,
&gt; +            &apos;This } does not belong as one line control clauses should not use braces  [whitespace/braces] [4]&apos;)
&gt; +

1. Add a test cases for: for,while,else
2. Add a test cases for:
a.  if (condition) {
        // Some comment
        doIt();
   }

b. if (condition) {
       myFunction(reallyLongParam1, reallyLongParam2,
                  reallyLongParam3);
   }

That verifies that these cases don&apos;t get flagged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132410</commentid>
    <comment_count>3</comment_count>
      <attachid>32902</attachid>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-07-16 17:06:00 -0700</bug_when>
    <thetext>Created attachment 32902
Second version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132419</commentid>
    <comment_count>4</comment_count>
      <attachid>32902</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-07-16 17:21:01 -0700</bug_when>
    <thetext>Comment on attachment 32902
Second version


&gt; diff --git a/WebKitTools/Scripts/modules/cpplint.py b/WebKitTools/Scripts/modules/cpplint.py
&gt; +    if (match(r&apos;\s*}\s*$&apos;, line)
&gt; +        and line_number &gt; 1):

You might as well put this on one line.  In general, feel free to make the lines as long as you wish.  (Most of the code was developed using 80 characters limits so sometimes it seems to do weird line wrappings to meet this requirement.)


&gt; +        # We check if a closed brace has started a line to see if a
&gt; +        # one line control statement was previous

Nice to add a &quot;.&quot; to the end of your sentence.

&gt; +        previous_line = clean_lines.elided[line_number - 2]
&gt; +        if (previous_line.find(&apos;{&apos;) &gt; 0
&gt; +            and search(r&apos;\b(if|for|while|else)\b&apos;, previous_line)):
&gt; +            error(filename, line_number, &apos;whitespace/braces&apos;, 4,
&gt; +                  &apos;One line control clauses should not use braces&apos;)

Nice to add a &quot;.&quot; to the end of your sentence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>132446</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2009-07-16 19:56:10 -0700</bug_when>
    <thetext>Landed with r46003.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32895</attachid>
            <date>2009-07-16 14:56:12 -0700</date>
            <delta_ts>2009-07-16 17:06:00 -0700</delta_ts>
            <desc>Add the cpplint check</desc>
            <filename>27354.patch</filename>
            <type>text/plain</type>
            <size>3893</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlODI5Y2IxLi45MWI2ZTU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDct
MTYgIEFkYW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjcHBsaW50IHNob3VsZCBjaGVj
ayBmb3Igb25lIGxpbmUgY29udHJvbCBjbGF1c2VzIHRoYXQgYXJlIHN1cnJvdW5kZWQKKyAgICAg
ICAgYnkgYnJhY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNzM1NAorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHk6IEFkZGVk
IHRoZSBuZXcgbGludCBjaGVjay4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY3BwbGludF91
bml0dGVzdC5weTogQWRkIHRlc3RzIGZvciB0aGUgbmV3IGxpbnQgY2hlY2sKKyAgICAgICAgICBh
bmQgZml4IHRoZSBvdGhlciB0ZXN0cyBhcyB0aGV5IHdlcmUgbm90IHBhc3NpbmcgdGhpcyBuZXcg
bGludCBjaGVjay4KKwogMjAwOS0wNy0xNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L21vZHVsZXMvY3BwbGludC5weQppbmRleCA0ZjFlNmNlLi43YTRmOWM0IDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY3BwbGludC5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY3BwbGludC5weQpAQCAtMSw0ICsxLDUgQEAKICMhL3Vzci9iaW4vcHl0
aG9uCisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogIwogIyBDb3B5cmlnaHQgKGMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKQEAgLTE2ODYsNiArMTY4NywxNSBAQCBk
ZWYgY2hlY2tfYnJhY2VzKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9y
KToKICAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9icmFj
ZXMnLCA0LAogICAgICAgICAgICAgICAnUGxhY2UgYnJhY2Ugb24gaXRzIG93biBsaW5lIGZvciBm
dW5jdGlvbiBkZWZpbml0aW9ucy4nKQogCisgICAgaWYgbWF0Y2gocidccyp9XHMqJCcsIGxpbmUp
OgorICAgICAgICAjIFdlIGNoZWNrIGlmIGEgY2xvc2VkIGJyYWNlIGhhcyBzdGFydGVkIGEgbGlu
ZSB0byBzZWUgaWYgYQorICAgICAgICAjIG9uZSBsaW5lIGNvbnRyb2wgc3RhdGVtZW50IHdhcyBw
cmV2aW91cworICAgICAgICBwcmV2aW91c19saW5lID0gZ2V0X3ByZXZpb3VzX25vbl9ibGFua19s
aW5lKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlci0xKVswXQorICAgICAgICBpZiAocHJldmlvdXNf
bGluZS5maW5kKCd7JykgPiAwCisgICAgICAgICAgICBhbmQgc2VhcmNoIChyJ1xiKGlmfGZvcnx3
aGlsZXxzd2l0Y2gpXGInLCBwcmV2aW91c19saW5lKSk6CisgICAgICAgICAgICBlcnJvcihmaWxl
bmFtZSwgbGluZV9udW1iZXIsICd3aGl0ZXNwYWNlL2JyYWNlcycsIDQsCisgICAgICAgICAgICAg
ICAgICAnVGhpcyB9IGRvZXMgbm90IGJlbG9uZyBhcyBvbmUgbGluZSBjb250cm9sIGNsYXVzZXMg
c2hvdWxkIG5vdCB1c2UgYnJhY2VzJykKKwogICAgICMgQW4gZWxzZSBjbGF1c2Ugc2hvdWxkIGJl
IG9uIHRoZSBzYW1lIGxpbmUgYXMgdGhlIHByZWNlZGluZyBjbG9zaW5nIGJyYWNlLgogICAgIGlm
IG1hdGNoKHInXHMqZWxzZVxzKicsIGxpbmUpOgogICAgICAgICBwcmV2aW91c19saW5lID0gZ2V0
X3ByZXZpb3VzX25vbl9ibGFua19saW5lKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlcilbMF0KZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvbW9kdWxlcy9jcHBsaW50X3VuaXR0ZXN0LnB5
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnRfdW5pdHRlc3QucHkKaW5kZXgg
NmQ4MDRiYi4uNjM2MWYwOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVz
L2NwcGxpbnRfdW5pdHRlc3QucHkKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2Nw
cGxpbnRfdW5pdHRlc3QucHkKQEAgLTI3ODksOCArMjc4OSwxMCBAQCBjbGFzcyBXZWJLaXRTdHls
ZVRlc3QoQ3BwbGludFRlc3RCYXNlKToKICAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9s
aW50KAogICAgICAgICAgICAgJ2lmIChjb25kaXRpb24pIHtcbicKICAgICAgICAgICAgICcgICAg
ZG9Tb21ldGhpbmcoKTtcbicKKyAgICAgICAgICAgICcgICAgZG9Tb21ldGhpbmdBZ2FpbigpO1xu
JwogICAgICAgICAgICAgJ30gZWxzZSB7XG4nCiAgICAgICAgICAgICAnICAgIGRvU29tZXRoaW5n
RWxzZSgpO1xuJworICAgICAgICAgICAgJyAgICBkb1NvbWV0aGluZ0Vsc2VBZ2FpbigpO1xuJwog
ICAgICAgICAgICAgJ31cbicsCiAgICAgICAgICAgICAnJykKICAgICAgICAgc2VsZi5hc3NlcnRf
bXVsdGlfbGluZV9saW50KApAQCAtMjgwNCwxNSArMjgwNiwxOCBAQCBjbGFzcyBXZWJLaXRTdHls
ZVRlc3QoQ3BwbGludFRlc3RCYXNlKToKICAgICAgICAgICAgICcgICAgZG9Tb21ldGhpbmcoKTtc
bicKICAgICAgICAgICAgICdlbHNlIHtcbicKICAgICAgICAgICAgICcgICAgZG9Tb21ldGhpbmdF
bHNlKCk7XG4nCisgICAgICAgICAgICAnICAgIGRvU29tZXRoaW5nRWxzZUFnYWluKCk7XG4nCiAg
ICAgICAgICAgICAnfVxuJywKICAgICAgICAgICAgICcnKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0
X211bHRpX2xpbmVfbGludCgKICAgICAgICAgICAgICdpZiAoY29uZGl0aW9uKSB7XG4nCiAgICAg
ICAgICAgICAnICAgIGRvU29tZXRoaW5nKCk7XG4nCisgICAgICAgICAgICAnICAgIGRvU29tZXRo
aW5nQWdhaW4oKTtcbicKICAgICAgICAgICAgICd9XG4nCiAgICAgICAgICAgICAnZWxzZSB7XG4n
CiAgICAgICAgICAgICAnICAgIGRvU29tZXRoaW5nRWxzZSgpO1xuJworICAgICAgICAgICAgJyAg
ICBkb1NvbWV0aGluZ0Vsc2VBZ2FpbigpO1xuJwogICAgICAgICAgICAgJ31cbicsCiAgICAgICAg
ICAgICAnQW4gZWxzZSBzaG91bGQgYXBwZWFyIG9uIHRoZSBzYW1lIGxpbmUgYXMgdGhlIHByZWNl
ZGluZyB9ICBbd2hpdGVzcGFjZS9uZXdsaW5lXSBbNF0nKQogICAgICAgICBzZWxmLmFzc2VydF9t
dWx0aV9saW5lX2xpbnQoCkBAIC0yODY4LDYgKzI4NzMsMTIgQEAgY2xhc3MgV2ViS2l0U3R5bGVU
ZXN0KENwcGxpbnRUZXN0QmFzZSk6CiAgICAgICAgICAgICAnfTtcbicsCiAgICAgICAgICAgICAn
VGhpcyB7IHNob3VsZCBiZSBhdCB0aGUgZW5kIG9mIHRoZSBwcmV2aW91cyBsaW5lICBbd2hpdGVz
cGFjZS9icmFjZXNdIFs0XScpCiAKKyAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9saW50
KAorICAgICAgICAgICAgJ2lmICh0cnVlKSB7XG4nCisgICAgICAgICAgICAnICAgIGludCBmb287
XG4nCisgICAgICAgICAgICAnfVxuJywKKyAgICAgICAgICAgICdUaGlzIH0gZG9lcyBub3QgYmVs
b25nIGFzIG9uZSBsaW5lIGNvbnRyb2wgY2xhdXNlcyBzaG91bGQgbm90IHVzZSBicmFjZXMgIFt3
aGl0ZXNwYWNlL2JyYWNlc10gWzRdJykKKwogICAgICAgICAjIDMuIE9uZS1saW5lIGNvbnRyb2wg
Y2xhdXNlcyBzaG91bGQgbm90IHVzZSBicmFjZXMgdW5sZXNzCiAgICAgICAgICMgICAgY29tbWVu
dHMgYXJlIGluY2x1ZGVkIG9yIGEgc2luZ2xlIHN0YXRlbWVudCBzcGFucyBtdWx0aXBsZQogICAg
ICAgICAjICAgIGxpbmVzLgo=
</data>
<flag name="review"
          id="17245"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>32902</attachid>
            <date>2009-07-16 17:06:00 -0700</date>
            <delta_ts>2009-07-16 17:21:01 -0700</delta_ts>
            <desc>Second version</desc>
            <filename>27354.patch</filename>
            <type>text/plain</type>
            <size>4927</size>
            <attacher name="Adam Treat">manyoso</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBlODI5Y2IxLi45MWI2ZTU1IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDct
MTYgIEFkYW0gVHJlYXQgIDxhZGFtLnRyZWF0QHRvcmNobW9iaWxlLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBjcHBsaW50IHNob3VsZCBjaGVj
ayBmb3Igb25lIGxpbmUgY29udHJvbCBjbGF1c2VzIHRoYXQgYXJlIHN1cnJvdW5kZWQKKyAgICAg
ICAgYnkgYnJhY2VzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yNzM1NAorCisgICAgICAgICogU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHk6IEFkZGVk
IHRoZSBuZXcgbGludCBjaGVjay4KKyAgICAgICAgKiBTY3JpcHRzL21vZHVsZXMvY3BwbGludF91
bml0dGVzdC5weTogQWRkIHRlc3RzIGZvciB0aGUgbmV3IGxpbnQgY2hlY2sKKyAgICAgICAgICBh
bmQgZml4IHRoZSBvdGhlciB0ZXN0cyBhcyB0aGV5IHdlcmUgbm90IHBhc3NpbmcgdGhpcyBuZXcg
bGludCBjaGVjay4KKwogMjAwOS0wNy0xNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnQucHkgYi9XZWJLaXRUb29scy9TY3JpcHRz
L21vZHVsZXMvY3BwbGludC5weQppbmRleCA0ZjFlNmNlLi40ZTllMTEyIDEwMDY0NAotLS0gYS9X
ZWJLaXRUb29scy9TY3JpcHRzL21vZHVsZXMvY3BwbGludC5weQorKysgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL21vZHVsZXMvY3BwbGludC5weQpAQCAtMSw0ICsxLDUgQEAKICMhL3Vzci9iaW4vcHl0
aG9uCisjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQogIwogIyBDb3B5cmlnaHQgKGMpIDIwMDkgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICMKQEAgLTE2ODYsNiArMTY4NywxNiBAQCBk
ZWYgY2hlY2tfYnJhY2VzKGZpbGVuYW1lLCBjbGVhbl9saW5lcywgbGluZV9udW1iZXIsIGVycm9y
KToKICAgICAgICAgZXJyb3IoZmlsZW5hbWUsIGxpbmVfbnVtYmVyLCAnd2hpdGVzcGFjZS9icmFj
ZXMnLCA0LAogICAgICAgICAgICAgICAnUGxhY2UgYnJhY2Ugb24gaXRzIG93biBsaW5lIGZvciBm
dW5jdGlvbiBkZWZpbml0aW9ucy4nKQogCisgICAgaWYgKG1hdGNoKHInXHMqfVxzKiQnLCBsaW5l
KQorICAgICAgICBhbmQgbGluZV9udW1iZXIgPiAxKToKKyAgICAgICAgIyBXZSBjaGVjayBpZiBh
IGNsb3NlZCBicmFjZSBoYXMgc3RhcnRlZCBhIGxpbmUgdG8gc2VlIGlmIGEKKyAgICAgICAgIyBv
bmUgbGluZSBjb250cm9sIHN0YXRlbWVudCB3YXMgcHJldmlvdXMKKyAgICAgICAgcHJldmlvdXNf
bGluZSA9IGNsZWFuX2xpbmVzLmVsaWRlZFtsaW5lX251bWJlciAtIDJdCisgICAgICAgIGlmIChw
cmV2aW91c19saW5lLmZpbmQoJ3snKSA+IDAKKyAgICAgICAgICAgIGFuZCBzZWFyY2gocidcYihp
Znxmb3J8d2hpbGV8ZWxzZSlcYicsIHByZXZpb3VzX2xpbmUpKToKKyAgICAgICAgICAgIGVycm9y
KGZpbGVuYW1lLCBsaW5lX251bWJlciwgJ3doaXRlc3BhY2UvYnJhY2VzJywgNCwKKyAgICAgICAg
ICAgICAgICAgICdPbmUgbGluZSBjb250cm9sIGNsYXVzZXMgc2hvdWxkIG5vdCB1c2UgYnJhY2Vz
JykKKwogICAgICMgQW4gZWxzZSBjbGF1c2Ugc2hvdWxkIGJlIG9uIHRoZSBzYW1lIGxpbmUgYXMg
dGhlIHByZWNlZGluZyBjbG9zaW5nIGJyYWNlLgogICAgIGlmIG1hdGNoKHInXHMqZWxzZVxzKics
IGxpbmUpOgogICAgICAgICBwcmV2aW91c19saW5lID0gZ2V0X3ByZXZpb3VzX25vbl9ibGFua19s
aW5lKGNsZWFuX2xpbmVzLCBsaW5lX251bWJlcilbMF0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvbW9kdWxlcy9jcHBsaW50X3VuaXR0ZXN0LnB5IGIvV2ViS2l0VG9vbHMvU2NyaXB0
cy9tb2R1bGVzL2NwcGxpbnRfdW5pdHRlc3QucHkKaW5kZXggNmQ4MDRiYi4uN2E0YjM0MCAxMDA2
NDQKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnRfdW5pdHRlc3QucHkK
KysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9tb2R1bGVzL2NwcGxpbnRfdW5pdHRlc3QucHkKQEAg
LTI3ODksOCArMjc4OSwxMCBAQCBjbGFzcyBXZWJLaXRTdHlsZVRlc3QoQ3BwbGludFRlc3RCYXNl
KToKICAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9saW50KAogICAgICAgICAgICAgJ2lm
IChjb25kaXRpb24pIHtcbicKICAgICAgICAgICAgICcgICAgZG9Tb21ldGhpbmcoKTtcbicKKyAg
ICAgICAgICAgICcgICAgZG9Tb21ldGhpbmdBZ2FpbigpO1xuJwogICAgICAgICAgICAgJ30gZWxz
ZSB7XG4nCiAgICAgICAgICAgICAnICAgIGRvU29tZXRoaW5nRWxzZSgpO1xuJworICAgICAgICAg
ICAgJyAgICBkb1NvbWV0aGluZ0Vsc2VBZ2FpbigpO1xuJwogICAgICAgICAgICAgJ31cbicsCiAg
ICAgICAgICAgICAnJykKICAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9saW50KApAQCAt
MjgwNCwxNSArMjgwNiwxOCBAQCBjbGFzcyBXZWJLaXRTdHlsZVRlc3QoQ3BwbGludFRlc3RCYXNl
KToKICAgICAgICAgICAgICcgICAgZG9Tb21ldGhpbmcoKTtcbicKICAgICAgICAgICAgICdlbHNl
IHtcbicKICAgICAgICAgICAgICcgICAgZG9Tb21ldGhpbmdFbHNlKCk7XG4nCisgICAgICAgICAg
ICAnICAgIGRvU29tZXRoaW5nRWxzZUFnYWluKCk7XG4nCiAgICAgICAgICAgICAnfVxuJywKICAg
ICAgICAgICAgICcnKQogCiAgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKICAg
ICAgICAgICAgICdpZiAoY29uZGl0aW9uKSB7XG4nCiAgICAgICAgICAgICAnICAgIGRvU29tZXRo
aW5nKCk7XG4nCisgICAgICAgICAgICAnICAgIGRvU29tZXRoaW5nQWdhaW4oKTtcbicKICAgICAg
ICAgICAgICd9XG4nCiAgICAgICAgICAgICAnZWxzZSB7XG4nCiAgICAgICAgICAgICAnICAgIGRv
U29tZXRoaW5nRWxzZSgpO1xuJworICAgICAgICAgICAgJyAgICBkb1NvbWV0aGluZ0Vsc2VBZ2Fp
bigpO1xuJwogICAgICAgICAgICAgJ31cbicsCiAgICAgICAgICAgICAnQW4gZWxzZSBzaG91bGQg
YXBwZWFyIG9uIHRoZSBzYW1lIGxpbmUgYXMgdGhlIHByZWNlZGluZyB9ICBbd2hpdGVzcGFjZS9u
ZXdsaW5lXSBbNF0nKQogICAgICAgICBzZWxmLmFzc2VydF9tdWx0aV9saW5lX2xpbnQoCkBAIC0y
ODY4LDYgKzI4NzMsNDYgQEAgY2xhc3MgV2ViS2l0U3R5bGVUZXN0KENwcGxpbnRUZXN0QmFzZSk6
CiAgICAgICAgICAgICAnfTtcbicsCiAgICAgICAgICAgICAnVGhpcyB7IHNob3VsZCBiZSBhdCB0
aGUgZW5kIG9mIHRoZSBwcmV2aW91cyBsaW5lICBbd2hpdGVzcGFjZS9icmFjZXNdIFs0XScpCiAK
KyAgICAgICAgc2VsZi5hc3NlcnRfbXVsdGlfbGluZV9saW50KAorICAgICAgICAgICAgJ2lmICh0
cnVlKSB7XG4nCisgICAgICAgICAgICAnICAgIGludCBmb287XG4nCisgICAgICAgICAgICAnfVxu
JywKKyAgICAgICAgICAgICdPbmUgbGluZSBjb250cm9sIGNsYXVzZXMgc2hvdWxkIG5vdCB1c2Ug
YnJhY2VzICBbd2hpdGVzcGFjZS9icmFjZXNdIFs0XScpCisKKyAgICAgICAgc2VsZi5hc3NlcnRf
bXVsdGlfbGluZV9saW50KAorICAgICAgICAgICAgJ2ZvciAoOyBmb287IGJhcikge1xuJworICAg
ICAgICAgICAgJyAgICBpbnQgZm9vO1xuJworICAgICAgICAgICAgJ31cbicsCisgICAgICAgICAg
ICAnT25lIGxpbmUgY29udHJvbCBjbGF1c2VzIHNob3VsZCBub3QgdXNlIGJyYWNlcyAgW3doaXRl
c3BhY2UvYnJhY2VzXSBbNF0nKQorCisgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGlu
dCgKKyAgICAgICAgICAgICd3aGlsZSAodHJ1ZSkge1xuJworICAgICAgICAgICAgJyAgICBpbnQg
Zm9vO1xuJworICAgICAgICAgICAgJ31cbicsCisgICAgICAgICAgICAnT25lIGxpbmUgY29udHJv
bCBjbGF1c2VzIHNob3VsZCBub3QgdXNlIGJyYWNlcyAgW3doaXRlc3BhY2UvYnJhY2VzXSBbNF0n
KQorCisgICAgICAgIHNlbGYuYXNzZXJ0X211bHRpX2xpbmVfbGludCgKKyAgICAgICAgICAgICdp
ZiAodHJ1ZSlcbicKKyAgICAgICAgICAgICcgICAgaW50IGZvbztcbicKKyAgICAgICAgICAgICdl
bHNlIHtcbicKKyAgICAgICAgICAgICcgICAgaW50IGZvbztcbicKKyAgICAgICAgICAgICd9XG4n
LAorICAgICAgICAgICAgJ09uZSBsaW5lIGNvbnRyb2wgY2xhdXNlcyBzaG91bGQgbm90IHVzZSBi
cmFjZXMgIFt3aGl0ZXNwYWNlL2JyYWNlc10gWzRdJykKKworICAgICAgICBzZWxmLmFzc2VydF9t
dWx0aV9saW5lX2xpbnQoCisgICAgICAgICAgICAnaWYgKHRydWUpIHtcbicKKyAgICAgICAgICAg
ICcgICAgLy8gU29tZSBjb21tZW50XG4nCisgICAgICAgICAgICAnICAgIGludCBmb287XG4nCisg
ICAgICAgICAgICAnfVxuJywKKyAgICAgICAgICAgICcnKQorCisgICAgICAgIHNlbGYuYXNzZXJ0
X211bHRpX2xpbmVfbGludCgKKyAgICAgICAgICAgICdpZiAodHJ1ZSkge1xuJworICAgICAgICAg
ICAgJyAgICBteUZ1bmN0aW9uKHJlYWxseUxvbmdQYXJhbTEsIHJlYWxseUxvbmdQYXJhbTIsXG4n
CisgICAgICAgICAgICAnICAgICAgICAgICAgICAgcmVhbGx5TG9uZ1BhcmFtMyk7XG4nCisgICAg
ICAgICAgICAnfVxuJywKKyAgICAgICAgICAgICcnKQorCiAgICAgICAgICMgMy4gT25lLWxpbmUg
Y29udHJvbCBjbGF1c2VzIHNob3VsZCBub3QgdXNlIGJyYWNlcyB1bmxlc3MKICAgICAgICAgIyAg
ICBjb21tZW50cyBhcmUgaW5jbHVkZWQgb3IgYSBzaW5nbGUgc3RhdGVtZW50IHNwYW5zIG11bHRp
cGxlCiAgICAgICAgICMgICAgbGluZXMuCg==
</data>
<flag name="review"
          id="17251"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>