<?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>34705</bug_id>
          
          <creation_ts>2010-02-08 08:02:50 -0800</creation_ts>
          <short_desc>[BREWMP] Add a function to create a BREW instance without local variable declarations.</short_desc>
          <delta_ts>2010-03-15 21:07:13 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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>
          
          <blocked>33564</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>beergun</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>188627</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-02-08 08:02:50 -0800</bug_when>
    <thetext>It is too verbose to create a BREW instance. For example, to create a IFileMgr instance, it takes three lines:

IFileMgr* fileMgr;
IShell* shell = reinterpret_cast&lt;AEEApplet*&gt;(GETAPPINSTANCE())-&gt;m_pIShell;
ISHELL_CreateInstance(shell, AEECLSID_FILEMGR, reinterpret_cast&lt;void**&gt;(&amp;fileMgr));

This pattern is repeated all over the code, so we need a shortcut here. Add a template function to create a BREW instance in one line.

IFileMgr* fileMgr = createInstanceBrew&lt;IFileMgr&gt;(AEECLSID_FILEMGR);


This can be nicely combined with OwnPtrBrew.

OwnPtrBrew&lt;IFileMgr&gt; fileMgr(createInstanceBrew&lt;IFileMgr&gt;(AEECLSID_FILEMGR));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188628</commentid>
    <comment_count>1</comment_count>
      <attachid>48333</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-02-08 08:08:31 -0800</bug_when>
    <thetext>Created attachment 48333
Patch

ShellUtilBrew.h is currently under wtf/brew, but I am not sure if this is the right place to put platform-specific utility functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188643</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-02-08 09:13:06 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; ShellUtilBrew.h is currently under wtf/brew, but I am not sure if this is the
&gt; right place to put platform-specific utility functions.

It’s the right directory for low-level functions of this type. But “utility” is not a word we ever use, and we certainly frown on “Util” in a file name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188654</commentid>
    <comment_count>3</comment_count>
      <attachid>48338</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-02-08 09:34:35 -0800</bug_when>
    <thetext>Created attachment 48338
Patch

Remove Util from the filename and prefix the function with shell

createInstanceBrew -&gt; shellCreateInstanceBrew</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188864</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-08 19:20:10 -0800</bug_when>
    <thetext>Should this return a PassOwnPtrBrew?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>188869</commentid>
    <comment_count>5</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-02-08 19:46:50 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Should this return a PassOwnPtrBrew?

These is no PassOwnPtrBrew class. I just wanted to simplify the creation of a BREW instance. As OwnPtrBrew takes a raw pointer in the constructor, we can use an idiom like the following:

OwnPtrBrew&lt;IFileMgr&gt; fileMgr(createInstanceBrew&lt;IFileMgr&gt;(AEECLSID_FILEMGR));

Do you suggest that this should return a PassOwnPtrBrew?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189128</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-02-09 12:40:40 -0800</bug_when>
    <thetext>&gt; Do you suggest that this should return a PassOwnPtrBrew?

In general, createMumble methods return a PassFooBar object to ensure we don&apos;t leak the allocated memory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>191273</commentid>
    <comment_count>7</comment_count>
      <attachid>48338</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-02-17 15:54:47 -0800</bug_when>
    <thetext>Comment on attachment 48338
Patch

Why would this be part of WTF?  This seems like port-specific goop.

We don&apos;t need to have PassOwnPtrBrew to approve this, but eventually it would be nice to have such a class to make leaking memory returned from this function impossible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>196994</commentid>
    <comment_count>8</comment_count>
      <attachid>50169</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2010-03-07 01:34:28 -0800</bug_when>
    <thetext>Created attachment 50169
Patch

Make the function return PassOwnPtr. This prevents memory leaking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199922</commentid>
    <comment_count>9</comment_count>
      <attachid>50169</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-15 16:21:30 -0700</bug_when>
    <thetext>Comment on attachment 50169
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199976</commentid>
    <comment_count>10</comment_count>
      <attachid>50169</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-15 21:07:06 -0700</bug_when>
    <thetext>Comment on attachment 50169
Patch

Clearing flags on attachment: 50169

Committed r56031: &lt;http://trac.webkit.org/changeset/56031&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>199977</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-03-15 21:07:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48333</attachid>
            <date>2010-02-08 08:08:31 -0800</date>
            <delta_ts>2010-02-08 09:34:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>ShellUtil.patch</filename>
            <type>text/plain</type>
            <size>3124</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0NDg5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDItMDggIEt3YW5nIFl1
bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbQlJFV01QXSBBZGQgYSB1dGlsaXR5IGZ1bmN0aW9uIHRv
IGNyZWF0ZSBhIEJSRVcgaW5zdGFuY2Ugd2l0aG91dCBsb2NhbCB2YXJpYWJsZSBkZWNsYXJhdGlv
bnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDcw
NQorCisgICAgICAgIEFkZCBhIHRlbXBsYXRlIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIEJSRVcgaW5z
dGFuY2UgaW4gb25lIGxpbmUuCisKKyAgICAgICAgKiB3dGYvYnJldy9TaGVsbFV0aWxCcmV3Lmg6
IEFkZGVkLgorICAgICAgICAoV1RGOjpjcmVhdGVJbnN0YW5jZUJyZXcpOgorCiAyMDEwLTAyLTA4
ICBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgIDxndXN0YXZvLm5vcm9uaGFAY29sbGFib3JhLmNvLnVr
PgogCiAgICAgICAgIEJ1aWxkIGZpeCBmb3IgbWFrZSBkaXN0Y2hlY2suCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvYnJldy9TaGVsbFV0aWxCcmV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlw
dENvcmUvd3RmL2JyZXcvU2hlbGxVdGlsQnJldy5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlw
dENvcmUvd3RmL2JyZXcvU2hlbGxVdGlsQnJldy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIENvbXBhbnkgMTAwLCBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLiAKKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLiAKKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1l
IG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAg
ICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJv
ZHVjdHMgZGVyaXZlZAorICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4gCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBTaGVsbFV0aWxCcmV3X2gKKyNkZWZpbmUgU2hlbGxVdGls
QnJld19oCisKKyNpbmNsdWRlIDxBRUVBcHBHZW4uaD4KKyNpbmNsdWRlIDxBRUVTdGRMaWIuaD4K
KworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1w
bGF0ZSA8dHlwZW5hbWUgVD4KK3N0YXRpYyBpbmxpbmUgVCogY3JlYXRlSW5zdGFuY2VCcmV3KEFF
RUNMU0lEIGNscykKK3sKKyAgICBUKiBpbnN0YW5jZSA9IDA7CisKKyAgICBJU2hlbGwqIHNoZWxs
ID0gcmVpbnRlcnByZXRfY2FzdDxBRUVBcHBsZXQqPihHRVRBUFBJTlNUQU5DRSgpKS0+bV9wSVNo
ZWxsOworICAgIElTSEVMTF9DcmVhdGVJbnN0YW5jZShzaGVsbCwgY2xzLCByZWludGVycHJldF9j
YXN0PHZvaWQqKj4oJmluc3RhbmNlKSk7CisgICAgQVNTRVJUKGluc3RhbmNlKTsKKworICAgIHJl
dHVybiBpbnN0YW5jZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6Y3Jl
YXRlSW5zdGFuY2VCcmV3OworCisjZW5kaWYgLy8gU2hlbGxVdGlsQnJld19oCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48338</attachid>
            <date>2010-02-08 09:34:35 -0800</date>
            <delta_ts>2010-03-07 01:34:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>Shell.patch</filename>
            <type>text/plain</type>
            <size>3103</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU0NDkxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDItMDggIEt3YW5nIFl1
bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbQlJFV01QXSBBZGQgYSBmdW5jdGlvbiB0byBjcmVhdGUg
YSBCUkVXIGluc3RhbmNlIHdpdGhvdXQgbG9jYWwgdmFyaWFibGUgZGVjbGFyYXRpb25zLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ3MDUKKworICAg
ICAgICBBZGQgYSB0ZW1wbGF0ZSBmdW5jdGlvbiB0byBjcmVhdGUgYSBCUkVXIGluc3RhbmNlIGlu
IG9uZSBsaW5lLgorCisgICAgICAgICogd3RmL2JyZXcvU2hlbGxCcmV3Lmg6IEFkZGVkLgorICAg
ICAgICAoV1RGOjpzaGVsbENyZWF0ZUluc3RhbmNlQnJldyk6CisKIDIwMTAtMDItMDggIEd1c3Rh
dm8gTm9yb25oYSBTaWx2YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAg
ICAgICAgQnVpbGQgZml4IGZvciBtYWtlIGRpc3RjaGVjay4KSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3d0Zi9icmV3L1NoZWxsQnJldy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi9i
cmV3L1NoZWxsQnJldy5oCShyZXZpc2lvbiAwKQorKysgSmF2YVNjcmlwdENvcmUvd3RmL2JyZXcv
U2hlbGxCcmV3LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQ29tcGFueSAxMDAsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuIAorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uIAorICogMy4gIE5laXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIs
IEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAg
ICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLiAKKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFNoZWxsQnJld19oCisjZGVmaW5lIFNoZWxsQnJld19oCisKKyNpbmNsdWRlIDxBRUVBcHBH
ZW4uaD4KKyNpbmNsdWRlIDxBRUVTdGRMaWIuaD4KKworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25z
Lmg+CisKK25hbWVzcGFjZSBXVEYgeworCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KK3N0YXRpYyBp
bmxpbmUgVCogc2hlbGxDcmVhdGVJbnN0YW5jZUJyZXcoQUVFQ0xTSUQgY2xzKQoreworICAgIFQq
IGluc3RhbmNlID0gMDsKKworICAgIElTaGVsbCogc2hlbGwgPSByZWludGVycHJldF9jYXN0PEFF
RUFwcGxldCo+KEdFVEFQUElOU1RBTkNFKCkpLT5tX3BJU2hlbGw7CisgICAgSVNIRUxMX0NyZWF0
ZUluc3RhbmNlKHNoZWxsLCBjbHMsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCoqPigmaW5zdGFuY2Up
KTsKKyAgICBBU1NFUlQoaW5zdGFuY2UpOworCisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXVEYKKwordXNpbmcgV1RGOjpzaGVsbENyZWF0ZUluc3RhbmNlQnJldzsK
KworI2VuZGlmIC8vIFNoZWxsQnJld19oCg==
</data>
<flag name="review"
          id="31005"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50169</attachid>
            <date>2010-03-07 01:34:28 -0800</date>
            <delta_ts>2010-03-15 21:07:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>Shell.patch</filename>
            <type>text/plain</type>
            <size>3101</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDU1NjM0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMDcgIEt3YW5nIFl1
bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbQlJFV01QXSBBZGQgYSBmdW5jdGlvbiB0byBjcmVhdGUg
YSBCUkVXIGluc3RhbmNlIHdpdGhvdXQgbG9jYWwgdmFyaWFibGUgZGVjbGFyYXRpb25zLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzQ3MDUKKworICAg
ICAgICBBZGQgYSB0ZW1wbGF0ZSBmdW5jdGlvbiB0byBjcmVhdGUgYSBCUkVXIGluc3RhbmNlIGlu
IG9uZSBsaW5lLgorCisgICAgICAgICogd3RmL2JyZXcvU2hlbGxCcmV3Lmg6IEFkZGVkLgorICAg
ICAgICAoV1RGOjpjcmVhdGVJbnN0YW5jZSk6CisKIDIwMTAtMDMtMDcgIEplZHJ6ZWogTm93YWNr
aSAgPGplZHJ6ZWoubm93YWNraUBub2tpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2lt
b24gSGF1c21hbm4uCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvYnJldy9TaGVsbEJyZXcuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS93dGYvYnJldy9TaGVsbEJyZXcuaAkocmV2aXNp
b24gMCkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9icmV3L1NoZWxsQnJldy5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIENvbXBhbnkgMTAw
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAorICogMy4gIE5l
aXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUg
bmFtZXMgb2YKKyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
KyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNoZWxsQnJld19oCisjZGVmaW5l
IFNoZWxsQnJld19oCisKKyNpbmNsdWRlIDxBRUVBcHBHZW4uaD4KKyNpbmNsdWRlIDxBRUVTdGRM
aWIuaD4KKworI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUPgorc3Rh
dGljIGlubGluZSBQYXNzT3duUHRyPFQ+IGNyZWF0ZUluc3RhbmNlKEFFRUNMU0lEIGNscykKK3sK
KyAgICBUKiBpbnN0YW5jZSA9IDA7CisKKyAgICBJU2hlbGwqIHNoZWxsID0gcmVpbnRlcnByZXRf
Y2FzdDxBRUVBcHBsZXQqPihHRVRBUFBJTlNUQU5DRSgpKS0+bV9wSVNoZWxsOworICAgIElTSEVM
TF9DcmVhdGVJbnN0YW5jZShzaGVsbCwgY2xzLCByZWludGVycHJldF9jYXN0PHZvaWQqKj4oJmlu
c3RhbmNlKSk7CisgICAgQVNTRVJUKGluc3RhbmNlKTsKKworICAgIHJldHVybiBpbnN0YW5jZTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV1RGCisKK3VzaW5nIFdURjo6Y3JlYXRlSW5zdGFuY2U7CisK
KyNlbmRpZiAvLyBTaGVsbEJyZXdfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>