<?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>55336</bug_id>
          
          <creation_ts>2011-02-27 16:03:13 -0800</creation_ts>
          <short_desc>Use Win32 API to get file information</short_desc>
          <delta_ts>2012-02-21 00:43:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>
          <dependson>55334</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Patrick R. Gansterer">paroga</reporter>
          <assigned_to name="Patrick R. Gansterer">paroga</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>buildbot</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>358812</commentid>
    <comment_count>0</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-27 16:03:13 -0800</bug_when>
    <thetext>see patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358813</commentid>
    <comment_count>1</comment_count>
      <attachid>84001</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-27 16:10:01 -0800</bug_when>
    <thetext>Created attachment 84001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358814</commentid>
    <comment_count>2</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-02-27 16:11:14 -0800</bug_when>
    <thetext>This patch will fail on the Win EWS, since it depends on Win32Handle.h from bug 55334.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358825</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-27 17:33:23 -0800</bug_when>
    <thetext>Attachment 84001 did not build on win:
Build output: http://queues.webkit.org/results/8074142</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358836</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-02-27 18:41:54 -0800</bug_when>
    <thetext>Attachment 84001 did not build on win:
Build output: http://queues.webkit.org/results/8070238</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358998</commentid>
    <comment_count>5</comment_count>
      <attachid>84001</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-28 05:28:41 -0800</bug_when>
    <thetext>Comment on attachment 84001
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=84001&amp;action=review

No r+ yet because I have some questions.

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:46
&gt; +// UNIX epoch (1970-01-01 00:00:00) expressed in Windows NT FILETIME
&gt; +static const uint64_t unixEpoch = 0x019DB1DED53E8000ULL;

Did you get this constant from somewhere? It would be nice to document it if so.

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:51
&gt; +    return CreateFileW(filename.charactersWithNullTermination(), GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_FLAG_NO_BUFFERING, 0);

In WebKit2 we&apos;ve started prefixing Win32 API calls with ::. I know that can be a problem for certain Win32 API that on WinCE are implemented as macros. But maybe we should do it wherever possible?

Why are you passing FILE_FLAG_NO_BUFFERING? That makes it much harder to use the file correctly.

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:75
&gt; +    if (!GetFileInformationByHandle(fileHandle, &amp;fileInformation))

You could use GetFileAttributesEx instead to avoid needing a handle.

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:79
&gt; +    uint64_t lastWriteTime = fileInformation.ftLastWriteTime.dwHighDateTime;
&gt; +    lastWriteTime = lastWriteTime &lt;&lt; 32 | fileInformation.ftLastWriteTime.dwLowDateTime;

I think using ULARGE_INTEGER to get this into a uint64_t would be clearer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361818</commentid>
    <comment_count>6</comment_count>
      <attachid>84603</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-03 12:03:48 -0800</bug_when>
    <thetext>Created attachment 84603
Patch

&gt; +    result = fileSize.QuadPart / 10000000 - 11644473600;
This line comes from FileSystemWinCE. I didn&apos;t find a good name for the constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363504</commentid>
    <comment_count>7</comment_count>
      <attachid>84603</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-07 12:45:26 -0800</bug_when>
    <thetext>Comment on attachment 84603
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=84603&amp;action=review

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:45
&gt; +static inline HANDLE createFileHandle(const String&amp; path)

It would be slightly better if we could come up with a name that indicated the HANDLE is only valid for reading.

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:56
&gt; +    if (!fileHandle.isValid())
&gt; +        return false;
&gt; +    return !!::GetFileInformationByHandle(fileHandle.get(), &amp;fileInformation);

The !! isn&apos;t required in Apple&apos;s Windows port. We&apos;ve disabled the warning that omitting it would normally generate. You should probably disable that warning in the WinCE port, too, and leave out the !! here. (Otherwise some unsuspecting Windows developer is liable to come along and remove the !!, thus breaking the WinCE build.)

You could also write this as: return fileHandle.isValid() &amp;&amp; ::GetFileInformationByHandle(...);

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:68
&gt; +    ULARGE_INTEGER fileSize;
&gt; +    fileSize.HighPart = fileInformation.nFileSizeHigh;
&gt; +    fileSize.LowPart = fileInformation.nFileSizeLow;
&gt; +    result = fileSize.QuadPart;

Seems like we need to check for overflow here. result is signed, but fileSize is not.

&gt; Source/WebCore/platform/win/FileSystemWin.cpp:81
&gt; +    result = fileSize.QuadPart / 10000000 - 11644473600;

I think it would be better to put the magic number in a named constant.

Maybe you should reference this page in a comment: http://msdn.microsoft.com/en-us/library/ms724228(v=vs.85).aspx</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370140</commentid>
    <comment_count>8</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-19 10:55:38 -0700</bug_when>
    <thetext>Committed r81551: &lt;http://trac.webkit.org/changeset/81551&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370155</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-19 12:57:20 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/81551 might have broken Windows 7 Release (Tests)
The following tests are not passing:
fast/workers/storage/multiple-databases-garbage-collection.html
fast/workers/storage/open-database-inputs-sync.html
storage/multiple-databases-garbage-collection.html
storage/open-database-creation-callback-isolated-world.html
storage/open-database-creation-callback.html
storage/quota-tracking.html
storage/statement-error-callback-isolated-world.html
storage/statement-success-callback-isolated-world.html
storage/transaction-callback-isolated-world.html
storage/transaction-error-callback-isolated-world.html
storage/transaction-success-callback-isolated-world.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>370157</commentid>
    <comment_count>10</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2011-03-19 13:10:26 -0700</bug_when>
    <thetext>Reverted r81551 for reason:

Broke

Committed r81555: &lt;http://trac.webkit.org/changeset/81555&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560110</commentid>
    <comment_count>11</comment_count>
      <attachid>127782</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-02-20 01:47:21 -0800</bug_when>
    <thetext>Created attachment 127782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560115</commentid>
    <comment_count>12</comment_count>
      <attachid>127782</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-02-20 01:59:02 -0800</bug_when>
    <thetext>Comment on attachment 127782
Patch

Attachment 127782 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11548226</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560724</commentid>
    <comment_count>13</comment_count>
      <attachid>127782</attachid>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-02-21 00:43:34 -0800</bug_when>
    <thetext>Comment on attachment 127782
Patch

Clearing flags on attachment: 127782

Committed r108321: &lt;http://trac.webkit.org/changeset/108321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>560725</commentid>
    <comment_count>14</comment_count>
    <who name="Patrick R. Gansterer">paroga</who>
    <bug_when>2012-02-21 00:43:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84001</attachid>
            <date>2011-02-27 16:10:01 -0800</date>
            <delta_ts>2011-03-03 12:03:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55336.patch</filename>
            <type>text/plain</type>
            <size>3111</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0ZGMxZTZjLi43NTI0NGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDItMjcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdpbjMy
IEFQSSB0byBnZXQgZmlsZSBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUzMzYKKworICAgICAgICBVc2luZyB0aGUgV2luMzIgQVBJ
IHdpbGwgZW5hYmxlIHVzIHRvIHNoYXJlIG1vcmUgY29kZSBiZXR3ZWVuIFdpbkNFIGFuZCBXaW5O
VC4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmNyZWF0ZUZpbGVIYW5kbGUpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RmlsZVNp
emUpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RmlsZU1vZGlmaWNhdGlvblRpbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6ZmlsZUV4aXN0cyk6CisKIDIwMTEtMDItMjYgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcAppbmRleCA1ZWUzYjhl
Li4wOWFjNDA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5
c3RlbVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1X
aW4uY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogCiAjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2lu
Y2x1ZGUgIldpbjMySGFuZGxlLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKQEAgLTQyLDM0ICs0Miw0OSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLXN0YXRpYyBib29sIHN0YXRGaWxlKFN0cmluZyBwYXRoLCBzdHJ1Y3QgX3N0
YXQ2NCYgc3QpCisvLyBVTklYIGVwb2NoICgxOTcwLTAxLTAxIDAwOjAwOjAwKSBleHByZXNzZWQg
aW4gV2luZG93cyBOVCBGSUxFVElNRQorc3RhdGljIGNvbnN0IHVpbnQ2NF90IHVuaXhFcG9jaCA9
IDB4MDE5REIxREVENTNFODAwMFVMTDsKKworc3RhdGljIGlubGluZSBIQU5ETEUgY3JlYXRlRmls
ZUhhbmRsZShjb25zdCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgQVNTRVJUX0FSRyhwYXRoLCAhcGF0
aC5pc051bGwoKSk7Ci0gICAgcmV0dXJuICFfd3N0YXQ2NChwYXRoLmNoYXJhY3RlcnNXaXRoTnVs
bFRlcm1pbmF0aW9uKCksICZzdCkgJiYgKHN0LnN0X21vZGUgJiBfU19JRk1UKSA9PSBfU19JRlJF
RzsKKyAgICBTdHJpbmcgZmlsZW5hbWUgPSBwYXRoOworICAgIHJldHVybiBDcmVhdGVGaWxlVyhm
aWxlbmFtZS5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpLCBHRU5FUklDX1JFQUQsIEZJ
TEVfU0hBUkVfUkVBRCwgMCwgT1BFTl9FWElTVElORywgRklMRV9GTEFHX05PX0JVRkZFUklORywg
MCk7CiB9CiAKIGJvb2wgZ2V0RmlsZVNpemUoY29uc3QgU3RyaW5nJiBwYXRoLCBsb25nIGxvbmcm
IHJlc3VsdCkKIHsKLSAgICBzdHJ1Y3QgX3N0YXQ2NCBzYjsKLSAgICBpZiAoIXN0YXRGaWxlKHBh
dGgsIHNiKSkKKyAgICBXaW4zMkhhbmRsZSBmaWxlSGFuZGxlKGNyZWF0ZUZpbGVIYW5kbGUocGF0
aCkpOworICAgIGlmICghZmlsZUhhbmRsZS5pc1ZhbGlkKCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKLSAgICByZXN1bHQgPSBzYi5zdF9zaXplOworCisgICAgTEFSR0VfSU5URUdFUiBmaWxlU2l6
ZTsKKyAgICBpZiAoIUdldEZpbGVTaXplRXgoZmlsZUhhbmRsZSwgJmZpbGVTaXplKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gZmlsZVNpemUuUXVhZFBhcnQ7CiAgICAg
cmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgZ2V0RmlsZU1vZGlmaWNhdGlvblRpbWUoY29uc3QgU3Ry
aW5nJiBwYXRoLCB0aW1lX3QmIHJlc3VsdCkKIHsKLSAgICBzdHJ1Y3QgX3N0YXQ2NCBzdDsKLSAg
ICBpZiAoIXN0YXRGaWxlKHBhdGgsIHN0KSkKKyAgICBXaW4zMkhhbmRsZSBmaWxlSGFuZGxlKGNy
ZWF0ZUZpbGVIYW5kbGUocGF0aCkpOworICAgIGlmICghZmlsZUhhbmRsZS5pc1ZhbGlkKCkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXN1bHQgPSBzdC5zdF9tdGltZTsKLSAgICByZXR1
cm4gdHJ1ZTsKKworICAgIEJZX0hBTkRMRV9GSUxFX0lORk9STUFUSU9OIGZpbGVJbmZvcm1hdGlv
bjsKKyAgICBpZiAoIUdldEZpbGVJbmZvcm1hdGlvbkJ5SGFuZGxlKGZpbGVIYW5kbGUsICZmaWxl
SW5mb3JtYXRpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB1aW50NjRfdCBsYXN0
V3JpdGVUaW1lID0gZmlsZUluZm9ybWF0aW9uLmZ0TGFzdFdyaXRlVGltZS5kd0hpZ2hEYXRlVGlt
ZTsKKyAgICBsYXN0V3JpdGVUaW1lID0gbGFzdFdyaXRlVGltZSA8PCAzMiB8IGZpbGVJbmZvcm1h
dGlvbi5mdExhc3RXcml0ZVRpbWUuZHdMb3dEYXRlVGltZTsKKyAgICBsYXN0V3JpdGVUaW1lIC09
IHVuaXhFcG9jaDsKKyAgICByZXR1cm4gbGFzdFdyaXRlVGltZSAvIDEwMDAwMDAwOwogfQogCi1i
b29sIGZpbGVFeGlzdHMoY29uc3QgU3RyaW5nJiBwYXRoKSAKK2Jvb2wgZmlsZUV4aXN0cyhjb25z
dCBTdHJpbmcmIHBhdGgpCiB7Ci0gICAgc3RydWN0IF9zdGF0NjQgc3Q7Ci0gICAgcmV0dXJuIHN0
YXRGaWxlKHBhdGgsIHN0KTsKKyAgICBXaW4zMkhhbmRsZSBmaWxlSGFuZGxlKGNyZWF0ZUZpbGVI
YW5kbGUocGF0aCkpOworICAgIHJldHVybiBmaWxlSGFuZGxlLmlzVmFsaWQoKTsKIH0KIAogYm9v
bCBkZWxldGVGaWxlKGNvbnN0IFN0cmluZyYgcGF0aCkK
</data>
<flag name="commit-queue"
          id="75923"
          type_id="3"
          status="-"
          setter="paroga"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84603</attachid>
            <date>2011-03-03 12:03:48 -0800</date>
            <delta_ts>2012-02-20 01:47:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55336.patch</filename>
            <type>text/plain</type>
            <size>3310</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2NDZjMWEyLi4yYjc4ODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAg
QEAKKzIwMTEtMDMtMDMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFdpbjMy
IEFQSSB0byBnZXQgZmlsZSBpbmZvcm1hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUzMzYKKworICAgICAgICBVc2UgR2V0RmlsZUluZm9ybWF0
aW9uQnlIYW5kbGUoKSBpbiBmYXZvdXIgb3ZlciBfd3N0YXQ2NCgpLCBHZXRGaWxlU2l6ZUV4KCkK
KyAgICAgICAgYW5kIEdldEZpbGVBdHRyaWJ1dGVzRXgoKSBzbyB3ZSBjYW4gc2hhcmUgdGhlIGNv
ZGUgd2l0aCBXaW5DRS4KKworICAgICAgICAqIHBsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZpbGVIYW5kbGUpOgorICAgICAgICAoV2ViQ29y
ZTo6Z2V0RmlsZUluZm9ybWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OmdldEZpbGVTaXplKToK
KyAgICAgICAgKFdlYkNvcmU6OmdldEZpbGVNb2RpZmljYXRpb25UaW1lKToKKyAgICAgICAgKFdl
YkNvcmU6OmZpbGVFeGlzdHMpOgorCiAyMDExLTAzLTAyICBDaHJpcyBNYXJyaW4gIDxjbWFycmlu
QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5c3RlbVdpbi5jcHAKaW5kZXggNWVlM2I4ZS4u
YjI0NzYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0
ZW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2lu
LmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKIAogI2luY2x1
ZGUgIk5vdEltcGxlbWVudGVkLmgiCi0jaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNs
dWRlICJXaW4zMkhhbmRsZS5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgogCkBAIC00MiwzNCArNDIsNTAgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1zdGF0aWMgYm9vbCBzdGF0RmlsZShTdHJpbmcgcGF0aCwgc3RydWN0IF9zdGF0
NjQmIHN0KQorc3RhdGljIGlubGluZSBIQU5ETEUgY3JlYXRlRmlsZUhhbmRsZShjb25zdCBTdHJp
bmcmIHBhdGgpCiB7Ci0gICAgQVNTRVJUX0FSRyhwYXRoLCAhcGF0aC5pc051bGwoKSk7Ci0gICAg
cmV0dXJuICFfd3N0YXQ2NChwYXRoLmNoYXJhY3RlcnNXaXRoTnVsbFRlcm1pbmF0aW9uKCksICZz
dCkgJiYgKHN0LnN0X21vZGUgJiBfU19JRk1UKSA9PSBfU19JRlJFRzsKKyAgICBTdHJpbmcgZmls
ZW5hbWUgPSBwYXRoOworICAgIHJldHVybiA6OkNyZWF0ZUZpbGVXKGZpbGVuYW1lLmNoYXJhY3Rl
cnNXaXRoTnVsbFRlcm1pbmF0aW9uKCksIEdFTkVSSUNfUkVBRCwgRklMRV9TSEFSRV9SRUFELCAw
LCBPUEVOX0VYSVNUSU5HLCBGSUxFX0FUVFJJQlVURV9OT1JNQUwsIDApOworfQorCitzdGF0aWMg
Ym9vbCBnZXRGaWxlSW5mb3JtYXRpb24oY29uc3QgU3RyaW5nJiBwYXRoLCBCWV9IQU5ETEVfRklM
RV9JTkZPUk1BVElPTiYgZmlsZUluZm9ybWF0aW9uKQoreworICAgIFdpbjMySGFuZGxlIGZpbGVI
YW5kbGUoY3JlYXRlRmlsZUhhbmRsZShwYXRoKSk7CisgICAgaWYgKCFmaWxlSGFuZGxlLmlzVmFs
aWQoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJldHVybiAhITo6R2V0RmlsZUluZm9y
bWF0aW9uQnlIYW5kbGUoZmlsZUhhbmRsZS5nZXQoKSwgJmZpbGVJbmZvcm1hdGlvbik7CiB9CiAK
IGJvb2wgZ2V0RmlsZVNpemUoY29uc3QgU3RyaW5nJiBwYXRoLCBsb25nIGxvbmcmIHJlc3VsdCkK
IHsKLSAgICBzdHJ1Y3QgX3N0YXQ2NCBzYjsKLSAgICBpZiAoIXN0YXRGaWxlKHBhdGgsIHNiKSkK
KyAgICBCWV9IQU5ETEVfRklMRV9JTkZPUk1BVElPTiBmaWxlSW5mb3JtYXRpb247CisgICAgaWYg
KCFnZXRGaWxlSW5mb3JtYXRpb24ocGF0aCwgZmlsZUluZm9ybWF0aW9uKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOwotICAgIHJlc3VsdCA9IHNiLnN0X3NpemU7CisKKyAgICBVTEFSR0VfSU5URUdF
UiBmaWxlU2l6ZTsKKyAgICBmaWxlU2l6ZS5IaWdoUGFydCA9IGZpbGVJbmZvcm1hdGlvbi5uRmls
ZVNpemVIaWdoOworICAgIGZpbGVTaXplLkxvd1BhcnQgPSBmaWxlSW5mb3JtYXRpb24ubkZpbGVT
aXplTG93OworICAgIHJlc3VsdCA9IGZpbGVTaXplLlF1YWRQYXJ0OwogICAgIHJldHVybiB0cnVl
OwogfQogCiBib29sIGdldEZpbGVNb2RpZmljYXRpb25UaW1lKGNvbnN0IFN0cmluZyYgcGF0aCwg
dGltZV90JiByZXN1bHQpCiB7Ci0gICAgc3RydWN0IF9zdGF0NjQgc3Q7Ci0gICAgaWYgKCFzdGF0
RmlsZShwYXRoLCBzdCkpCisgICAgQllfSEFORExFX0ZJTEVfSU5GT1JNQVRJT04gZmlsZUluZm9y
bWF0aW9uOworICAgIGlmICghZ2V0RmlsZUluZm9ybWF0aW9uKHBhdGgsIGZpbGVJbmZvcm1hdGlv
bikpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXN1bHQgPSBzdC5zdF9tdGltZTsKKwor
ICAgIFVMQVJHRV9JTlRFR0VSIGZpbGVTaXplOworICAgIGZpbGVTaXplLkhpZ2hQYXJ0ID0gZmls
ZUluZm9ybWF0aW9uLmZ0TGFzdFdyaXRlVGltZS5kd0hpZ2hEYXRlVGltZTsKKyAgICBmaWxlU2l6
ZS5Mb3dQYXJ0ID0gZmlsZUluZm9ybWF0aW9uLmZ0TGFzdFdyaXRlVGltZS5kd0xvd0RhdGVUaW1l
OworICAgIHJlc3VsdCA9IGZpbGVTaXplLlF1YWRQYXJ0IC8gMTAwMDAwMDAgLSAxMTY0NDQ3MzYw
MDsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBmaWxlRXhpc3RzKGNvbnN0IFN0cmluZyYg
cGF0aCkgCitib29sIGZpbGVFeGlzdHMoY29uc3QgU3RyaW5nJiBwYXRoKQogewotICAgIHN0cnVj
dCBfc3RhdDY0IHN0OwotICAgIHJldHVybiBzdGF0RmlsZShwYXRoLCBzdCk7CisgICAgV2luMzJI
YW5kbGUgZmlsZUhhbmRsZShjcmVhdGVGaWxlSGFuZGxlKHBhdGgpKTsKKyAgICByZXR1cm4gZmls
ZUhhbmRsZS5pc1ZhbGlkKCk7CiB9CiAKIGJvb2wgZGVsZXRlRmlsZShjb25zdCBTdHJpbmcmIHBh
dGgpCg==
</data>
<flag name="commit-queue"
          id="76606"
          type_id="3"
          status="-"
          setter="aroben"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>127782</attachid>
            <date>2012-02-20 01:47:21 -0800</date>
            <delta_ts>2012-02-21 00:43:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55336c.patch</filename>
            <type>text/plain</type>
            <size>3131</size>
            <attacher name="Patrick R. Gansterer">paroga</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MDI5N2EzLi5hN2U4N2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDItMjAgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgVXNlIFdpbjMyIEFQSSB0byBnZXQgZmlsZSBpbmZvcm1hdGlvbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTUzMzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgRmluZEZpcnN0RmlsZSgp
IGluIGZhdm91ciBvdmVyIF93c3RhdDY0KCkgdG8gc2hhcmUgdGhlIGNvZGUgd2l0aCBXaW5DRS4K
KworICAgICAgICAqIHBsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RmluZERhdGEpOgorICAgICAgICAoV2ViQ29y
ZTo6Z2V0RmlsZVNpemUpOgorICAgICAgICAoV2ViQ29yZTo6Z2V0RmlsZU1vZGlmaWNhdGlvblRp
bWUpOgorICAgICAgICAoV2ViQ29yZTo6ZmlsZUV4aXN0cyk6CisKIDIwMTItMDItMTYgIFBhdHJp
Y2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2luQ0UgYnVpbGQg
Zml4IGFmdGVyIHIxMDc0NTMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vRmlsZVN5c3RlbVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRmlsZVN5
c3RlbVdpbi5jcHAKaW5kZXggZDliMGRiYy4uMGYzYjIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vd2luL0ZpbGVTeXN0ZW1XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3dpbi9GaWxlU3lzdGVtV2luLmNwcApAQCAtMzcsNDAgKzM3LDU4IEBACiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpbmNsdWRlIDx3aW5kb3dzLmg+Ci0jaW5j
bHVkZSA8d2luYmFzZS5oPgogI2luY2x1ZGUgPHNobG9iai5oPgogI2luY2x1ZGUgPHNobHdhcGku
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgYm9vbCBzdGF0RmlsZShTdHJpbmcg
cGF0aCwgc3RydWN0IF9zdGF0NjQmIHN0KQorc3RhdGljIGNvbnN0IFVMT05HTE9ORyBrU2Vjb25k
c0Zyb21GaWxlVGltZVRvVGltZXQgPSAxMTY0NDQ3MzYwMDsKKworc3RhdGljIGJvb2wgZ2V0Rmlu
ZERhdGEoU3RyaW5nIHBhdGgsIFdJTjMyX0ZJTkRfREFUQVcmIGZpbmREYXRhKQogewotICAgIEFT
U0VSVF9BUkcocGF0aCwgIXBhdGguaXNOdWxsKCkpOwotICAgIHJldHVybiAhX3dzdGF0NjQocGF0
aC5jaGFyYWN0ZXJzV2l0aE51bGxUZXJtaW5hdGlvbigpLCAmc3QpICYmIChzdC5zdF9tb2RlICYg
X1NfSUZNVCkgPT0gX1NfSUZSRUc7CisgICAgSEFORExFIGhhbmRsZSA9IEZpbmRGaXJzdEZpbGVX
KHBhdGguY2hhcmFjdGVyc1dpdGhOdWxsVGVybWluYXRpb24oKSwgJmZpbmREYXRhKTsKKyAgICBp
ZiAoaGFuZGxlID09IElOVkFMSURfSEFORExFX1ZBTFVFKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgRmluZENsb3NlKGhhbmRsZSk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIGJvb2wgZ2V0
RmlsZVNpemUoY29uc3QgU3RyaW5nJiBwYXRoLCBsb25nIGxvbmcmIHJlc3VsdCkKIHsKLSAgICBz
dHJ1Y3QgX3N0YXQ2NCBzYjsKLSAgICBpZiAoIXN0YXRGaWxlKHBhdGgsIHNiKSkKKyAgICBXSU4z
Ml9GSU5EX0RBVEFXIGZpbmREYXRhOworICAgIGlmICghZ2V0RmluZERhdGEocGF0aCwgZmluZERh
dGEpKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmVzdWx0ID0gc2Iuc3Rfc2l6ZTsKKwor
ICAgIFVMQVJHRV9JTlRFR0VSIGZpbGVTaXplOworICAgIGZpbGVTaXplLkhpZ2hQYXJ0ID0gZmlu
ZERhdGEubkZpbGVTaXplSGlnaDsKKyAgICBmaWxlU2l6ZS5Mb3dQYXJ0ID0gZmluZERhdGEubkZp
bGVTaXplTG93OworCisgICAgaWYgKGZpbGVTaXplLlF1YWRQYXJ0ID4gc3RhdGljX2Nhc3Q8VUxP
TkdMT05HPihzdGQ6Om51bWVyaWNfbGltaXRzPGxvbmcgbG9uZz46Om1heCgpKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgcmVzdWx0ID0gZmlsZVNpemUuUXVhZFBhcnQ7CiAgICAgcmV0
dXJuIHRydWU7CiB9CiAKIGJvb2wgZ2V0RmlsZU1vZGlmaWNhdGlvblRpbWUoY29uc3QgU3RyaW5n
JiBwYXRoLCB0aW1lX3QmIHJlc3VsdCkKIHsKLSAgICBzdHJ1Y3QgX3N0YXQ2NCBzdDsKLSAgICBp
ZiAoIXN0YXRGaWxlKHBhdGgsIHN0KSkKKyAgICBXSU4zMl9GSU5EX0RBVEFXIGZpbmREYXRhOwor
ICAgIGlmICghZ2V0RmluZERhdGEocGF0aCwgZmluZERhdGEpKQogICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgcmVzdWx0ID0gc3Quc3RfbXRpbWU7CisKKyAgICBVTEFSR0VfSU5URUdFUiBmaWxl
U2l6ZTsKKyAgICBmaWxlU2l6ZS5IaWdoUGFydCA9IGZpbmREYXRhLmZ0TGFzdFdyaXRlVGltZS5k
d0hpZ2hEYXRlVGltZTsKKyAgICBmaWxlU2l6ZS5Mb3dQYXJ0ID0gZmluZERhdGEuZnRMYXN0V3Jp
dGVUaW1lLmR3TG93RGF0ZVRpbWU7CisKKyAgICAvLyBJbmZvcm1hdGlvbiBhYm91dCBjb252ZXJ0
aW5nIHRpbWVfdCB0byBGaWxlVGltZSBpcyBhdmFpbGFibGUgYXQgaHR0cDovL21zZG4ubWljcm9z
b2Z0LmNvbS9lbi11cy9saWJyYXJ5L21zNzI0MjI4JTI4dj12cy44NSUyOS5hc3B4CisgICAgcmVz
dWx0ID0gZmlsZVNpemUuUXVhZFBhcnQgLyAxMDAwMDAwMCAtIGtTZWNvbmRzRnJvbUZpbGVUaW1l
VG9UaW1ldDsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBmaWxlRXhpc3RzKGNvbnN0IFN0
cmluZyYgcGF0aCkgCitib29sIGZpbGVFeGlzdHMoY29uc3QgU3RyaW5nJiBwYXRoKQogewotICAg
IHN0cnVjdCBfc3RhdDY0IHN0OwotICAgIHJldHVybiBzdGF0RmlsZShwYXRoLCBzdCk7CisgICAg
V0lOMzJfRklORF9EQVRBVyBmaW5kRGF0YTsKKyAgICByZXR1cm4gZ2V0RmluZERhdGEocGF0aCwg
ZmluZERhdGEpOwogfQogCiBib29sIGRlbGV0ZUZpbGUoY29uc3QgU3RyaW5nJiBwYXRoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>