Index: ext/FileExtd/Microsoft Win32 FileID APIs 1.1 License Terms.rtf =================================================================== diff -u -N --- ext/FileExtd/Microsoft Win32 FileID APIs 1.1 License Terms.rtf (revision 0) +++ ext/FileExtd/Microsoft Win32 FileID APIs 1.1 License Terms.rtf (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -0,0 +1,116 @@ +{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;} +{\f37\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;}{\f102\fswiss\fcharset0\fprq2{\*\panose 020b0603020202020204}Trebuchet MS;}{\f225\froman\fcharset238\fprq2 Times New Roman CE;}{\f226\froman\fcharset204\fprq2 Times New Roman Cyr;} +{\f228\froman\fcharset161\fprq2 Times New Roman Greek;}{\f229\froman\fcharset162\fprq2 Times New Roman Tur;}{\f230\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f231\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);} +{\f232\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f233\froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f595\fswiss\fcharset238\fprq2 Tahoma CE;}{\f596\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f598\fswiss\fcharset161\fprq2 Tahoma Greek;} +{\f599\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f600\fbidi \fswiss\fcharset177\fprq2 Tahoma (Hebrew);}{\f601\fbidi \fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f602\fswiss\fcharset186\fprq2 Tahoma Baltic;} +{\f603\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f604\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f1245\fswiss\fcharset238\fprq2 Trebuchet MS CE;}{\f1246\fswiss\fcharset204\fprq2 Trebuchet MS Cyr;}{\f1248\fswiss\fcharset161\fprq2 Trebuchet MS Greek;} +{\f1249\fswiss\fcharset162\fprq2 Trebuchet MS Tur;}{\f1252\fswiss\fcharset186\fprq2 Trebuchet MS Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0; +\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{ +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden +Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv +\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs20 \ltrch\fcs0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}} +{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\rsidtbl \rsid4536461}{\*\generator Microsoft Word 11.0.8026;}{\info{\operator Bohus Ondrusek}{\creatim\yr2006\mo9\dy22\hr9\min8}{\revtim\yr2006\mo9\dy22\hr9\min8}{\version2}{\edmins0}{\nofpages3} +{\nofwords1046}{\nofchars5968}{\nofcharsws7001}{\vern24609}{\*\password 00000000}}{\*\xmlnstbl {\xmlns1 urn:schemas-microsoft-com:office:smarttags}}\paperw12240\paperh15840\margl1800\margr1800\margt1440\margb1440\gutter0\ltrsect +\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\horzdoc\dghspace120\dgvspace120\dghorigin1701\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind4\viewscale100\nolnhtadjtbl\rsidroot4536461 \fet0{\*\wgrffmtfilter 013f} +\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}} +{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang +{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar +\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs24\alang1025 \ltrch\fcs0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af37\afs28 \ltrch\fcs0 \b\f37\fs28\insrsid4536461 +MICROSOFT SOFTWARE LICENSE TERMS +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrb\brdrs\brdrw10\brsp20 \wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af37\afs28 \ltrch\fcs0 \b\f37\fs28\insrsid4536461 MICROSOFT WIN32 FILEID APIS 1.1}{\rtlch\fcs1 \ab\af37\afs28 \ltrch\fcs0 +\b\f37\fs28\insrsid4536461 +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 These license terms are an agreement between Micro +soft Corporation (or based on where you live, one of its affiliates) and you. Please read them. They apply to the software named above, which includes the media on which you received it, if any. The terms also apply to any Microsoft +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\tx720\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 updates, +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 supplements, +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 Internet-based services, and +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 support services +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 for this software, unless other terms accompany those items. If so, those terms apply. +\par }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 By using the software, you accept these terms. If you do not accept them, do not use the software. +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\brdrt\brdrs\brdrw10\brsp20 \wrapdefault\faauto\rin0\lin0\rtlgutter\itap0 {\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 If you comp +ly with these license terms, you have the rights below. +\par }\pard \ltrpar\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\tx360\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\f102\fs20\insrsid4536461 1.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +INSTALLATION AND USE RIGHTS. }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 You may install and use any number of copies of the software on your devices.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 2.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 +Scope of License}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 .}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 + The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly per +mitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\tx720\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 +work around any technical limitations in the software; +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 +reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation; +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation; + +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 publish the software for others to copy; +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 rent, lease or lend the software; +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 transfer the software or this agreement to any third party; or +\par }{\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 use the software for commercial software hosting services. +\par }\pard \ltrpar\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\tx360\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\f102\fs20\insrsid4536461 3.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +BACKUP COPY.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 You may make one backup copy of the software. You may use it only to reinstall the software.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\f102\fs20\insrsid4536461 4.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 DOCUMENTATION. +}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 Any person that has valid access to your computer or internal network may copy and use the documentation for your internal, reference purposes.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 +\b\f37\fs19\insrsid4536461 +\par }{\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 5.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 Export Restrictions}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 .}{ +\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 The software is subject to {\*\xmlopen\xmlns1{\factoidname place}}{\*\xmlopen\xmlns1{\factoidname country-region}}United States{\*\xmlclose}{\*\xmlclose} + export laws and regulations. You must comply with all domestic and international export laws and regulations that apply to the software. These laws include restrictions on destinations, end users and end use. For additional information, see } +{\field{\*\fldinst {\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\ul\cf2\insrsid4536461 HYPERLINK "http://www.microsoft.com/exporting" }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\ul\cf2\insrsid4536461\charrsid4536461 {\*\datafield +00d0c9ea79f9bace118c8200aa004ba90b0200000003000000e0c9ea79f9bace118c8200aa004ba90b4600000068007400740070003a002f002f007700770077002e006d006900630072006f0073006f00660074002e0063006f006d002f006500780070006f007200740069006e0067000000}}}{\fldrslt { +\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\ul\cf2\insrsid4536461 www.microsoft.com/exporting}}}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 .}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }{\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 6.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 SUPPORT SERVICES.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 }{\rtlch\fcs1 +\af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 Because this software is \'93as is,\'94 we may not provide support services for it.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }{\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 7.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 Entire Agreement.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 + This agreement, and the terms for supplements, updates, Internet-based services and support services that you use, are the entire agreement for the software and support services. +\par }\pard \ltrpar\ql \fi-360\li360\ri0\sb120\sa120\keepn\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\cf1\insrsid4536461 8.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 +\b\caps\f37\fs19\cf1\insrsid4536461 Applicable Law}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\cf1\insrsid4536461 . +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\tx720\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\f102\fs20\insrsid4536461 a.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +{\*\xmlopen\xmlns1{\factoidname place}}{\*\xmlopen\xmlns1{\factoidname country-region}}United States{\*\xmlclose}{\*\xmlclose}.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 If you acquired the software in the +{\*\xmlopen\xmlns1{\factoidname country-region}}United States{\*\xmlclose}, {\*\xmlopen\xmlns1{\factoidname place}}{\*\xmlopen\xmlns1{\factoidname State}}Washington{\*\xmlclose}{\*\xmlclose} + state law governs the interpretation of this agreement and applies to claims for breach of it, regardless of conflict of laws principles. The laws of the state where you live govern all other + claims, including claims under state consumer protection laws, unfair competition laws, and in tort.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\f102\fs20\insrsid4536461 b.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 Outside the +{\*\xmlopen\xmlns1{\factoidname place}}{\*\xmlopen\xmlns1{\factoidname country-region}}United States{\*\xmlclose}{\*\xmlclose}.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 + If you acquired the software in any other country, the laws of that country apply.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\tx360\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 9.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 +\b\caps\f37\fs19\insrsid4536461 Legal Effect.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 This agreement describ +es certain legal rights. You may have other rights under the laws of your country. You may also have rights with respect to the party from whom you acquired the software. This agreement does not change your rights under the laws of your country if the +laws of your country do not permit it to do so.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-357\li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 10.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 +Disclaimer of Warranty.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 The software is licensed \'93as-is.\'94 + You bear the risk of using it. Microsoft gives no express warranties, guarantees or conditions. You may have additional consumer rights under +your local laws which this agreement cannot change. To the extent permitted under your local laws, Microsoft excludes the implied warranties of merchantability, fitness for a particular purpose and non-infringement.}{\rtlch\fcs1 \ab\af37\afs19 +\ltrch\fcs0 \b\caps\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \fi-360\li360\ri0\sb120\sa120\nowidctlpar\tx360\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \ab\af102\afs20 \ltrch\fcs0 \b\caps\f102\fs20\insrsid4536461 11.\tab }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 +\b\caps\f37\fs19\insrsid4536461 Limitation on and Exclusion of Remedies and Damages. }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 +You can recover from Microsoft and its suppliers only direct damages up to U.S. $5.00. You cannot recover any other damages, including consequential, lost profits, special, indirect or incidental damages.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 +\b\caps\f37\fs19\insrsid4536461 +\par }\pard \ltrpar\ql \li357\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin357\itap0 {\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 This limitation applies to +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\tx720\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 +anything related to the software, services, content (including code) on third party Internet sites, or third party programs; and +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 +claims for breach of contract, breach of warranty, guarantee or condition, strict liability, negligence, or other tort to the extent permitted by applicable law. +\par }\pard \ltrpar\ql \li360\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin360\itap0 {\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 +It also applies even if Microsoft knew or should have known about the possibility of the damages. The above limitation or exclusion may not apply to you because your country may not allow the exclusion or limitation of + incidental, consequential or other damages. +\par }\pard \ltrpar\ql \li0\ri0\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 Please note: As this software is distributed in {\*\xmlopen\xmlns1{\factoidname place}} +{\*\xmlopen\xmlns1{\factoidname City}}Quebec{\*\xmlclose}, {\*\xmlopen\xmlns1{\factoidname country-region}}Canada{\*\xmlclose}{\*\xmlclose}, some of the clauses in this agreement are provided below in French. +\par }\pard \ltrpar\ql \li0\ri0\sb240\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 Remarque : Ce logiciel \'e9tant distribu\'e9 au {\*\xmlopen\xmlns1{\factoidname place}} +{\*\xmlopen\xmlns1{\factoidname City}}Qu\'e9bec{\*\xmlclose}, {\*\xmlopen\xmlns1{\factoidname country-region}}Canada{\*\xmlclose}{\*\xmlclose}, certaines des clauses dans ce contrat sont fournies ci-dessous en fran\'e7ais. +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 EXON\'c9RATION DE GARANTIE.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 + Le logiciel vis\'e9 par une licence est offert \'ab tel quel \'bb. Toute utilisation de ce logiciel est \'e0 votre seule risque et p\'e9ril. Microsoft n\rquote accorde aucune autre garantie expresse. Vous pouvez b\'e9n\'e9 +ficier de droits additionnels en vertu du droit local sur la protection dues consommateurs, que ce contrat ne peut modifier. La ou elles sont permises par le droit locale, les garanties implicites de qualit\'e9 marchande, d\rquote ad\'e9quation \'e0 un u +sage particulier et d\rquote absence de contrefa\'e7on sont exclues. +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\keepn\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 LIMITATION DES DOMMAGES-INT\'c9R\'caTS ET EXCLUSION DE RESPONSABILIT\'c9 POUR LES DOMMAGES.}{ +\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 Vous pouvez obtenir de Microsoft et de ses fournisseurs une indemnisation en cas de dommages directs uniquement \'e0 hauteur de 5,00 $ US. Vous ne pouvez pr\'e9tendre \'e0 + aucune indemnisation pour les autres dommages, y compris les dommages sp\'e9ciaux, indirects ou accessoires et pertes de b\'e9n\'e9fices. +\par Cette limitation concerne : +\par }\pard \ltrpar\ql \fi-360\li720\ri0\sb120\sa120\keepn\nowidctlpar\tx720\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 +tout ce qui est reli\'e9 au logiciel, aux services ou au contenu (y compris le code) figurant sur des sites Internet tiers ou dans des programmes tiers ; et +\par }\pard \ltrpar\ql \fi-363\li720\ri0\sb120\sa120\nowidctlpar\tx720\wrapdefault\faauto\rin0\lin720\itap0 {\rtlch\fcs1 \af3\afs19 \ltrch\fcs0 \f3\fs19\insrsid4536461 \'b7\tab }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 les r\'e9 +clamations au titre de violation de contrat ou de garantie, ou au titre de responsabilit\'e9 stricte, de n\'e9gligence ou d\rquote une autre faute dans la limite autoris\'e9e par la loi en vigueur. +\par }\pard \ltrpar\ql \li0\ri0\sb120\sa120\nowidctlpar\wrapdefault\faauto\rin0\lin0\itap0 {\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 Elle s\rquote applique \'e9galement, m\'eame si Microsoft connaissait ou devrait conna\'eetre l\rquote \'e9 +ventualit\'e9 d\rquote un tel dommage. Si votre pays n\rquote autorise pas l\rquote exclusion ou la limitation de responsabilit\'e9 pour les dommages indirects, accessoires ou de quelque nature que ce soit, il se peut que la limitation ou l\rquote +exclusion ci-dessus ne s\rquote appliquera pas \'e0 votre \'e9gard. +\par }{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\insrsid4536461 EFFET JURIDIQUE.}{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\insrsid4536461 Le pr\'e9sent contrat d\'e9crit certains droits juridiques. Vous pourriez avoir d\rquote autres droits pr +\'e9vus par les lois de votre pays. }{\rtlch\fcs1 \af37\afs19 \ltrch\fcs0 \f37\fs19\lang1036\langfe1033\langnp1036\insrsid4536461 Le pr\'e9sent contrat ne modifie pas les droits que vous conf\'e8 +rent les lois de votre pays si celles-ci ne le permettent pas.}{\rtlch\fcs1 \ab\af37\afs19 \ltrch\fcs0 \b\f37\fs19\lang1036\langfe1033\langnp1036\insrsid4536461 +\par }} \ No newline at end of file Index: ext/FileExtd/inc/fileextd.h =================================================================== diff -u -N --- ext/FileExtd/inc/fileextd.h (revision 0) +++ ext/FileExtd/inc/fileextd.h (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -0,0 +1,158 @@ +/************************************************************************ +* * +* fileextd.h - This module defines some extensions to the the 32-Bit * +* Windows Base APIs based on file handles. * +* * +* Copyright (c) Microsoft Corp. All rights reserved. * +* * +************************************************************************/ +#ifndef _FILEEXTD_ +#define _FILEEXTD_ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef enum _FILE_INFO_BY_HANDLE_CLASS { + FileBasicInfo, + FileStandardInfo, + FileNameInfo, + FileRenameInfo, + FileDispositionInfo, + FileAllocationInfo, + FileEndOfFileInfo, + FileStreamInfo, + FileCompressionInfo, + FileAttributeTagInfo, + FileIdBothDirectoryInfo, + FileIdBothDirectoryRestartInfo, + MaximumFileInfoByHandleClass +} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS; + +typedef struct _FILE_BASIC_INFO { + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + DWORD FileAttributes; +} FILE_BASIC_INFO, *PFILE_BASIC_INFO; + +typedef struct _FILE_STANDARD_INFO { + LARGE_INTEGER AllocationSize; + LARGE_INTEGER EndOfFile; + DWORD NumberOfLinks; + BOOLEAN DeletePending; + BOOLEAN Directory; +} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO; + +typedef struct _FILE_NAME_INFO { + DWORD FileNameLength; + WCHAR FileName[1]; +} FILE_NAME_INFO, *PFILE_NAME_INFO; + +typedef struct _FILE_RENAME_INFO { + BOOLEAN ReplaceIfExists; + HANDLE RootDirectory; + DWORD FileNameLength; + WCHAR FileName[1]; +} FILE_RENAME_INFO, *PFILE_RENAME_INFO; + +typedef struct _FILE_ALLOCATION_INFO { + LARGE_INTEGER AllocationSize; +} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO; + +typedef struct _FILE_END_OF_FILE_INFO { + LARGE_INTEGER EndOfFile; +} FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO; + +typedef struct _FILE_STREAM_INFO { + DWORD NextEntryOffset; + DWORD StreamNameLength; + LARGE_INTEGER StreamSize; + LARGE_INTEGER StreamAllocationSize; + WCHAR StreamName[1]; +} FILE_STREAM_INFO, *PFILE_STREAM_INFO; + +typedef struct _FILE_COMPRESSION_INFO { + LARGE_INTEGER CompressedFileSize; + WORD CompressionFormat; + UCHAR CompressionUnitShift; + UCHAR ChunkShift; + UCHAR ClusterShift; + UCHAR Reserved[3]; +} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO; + +typedef struct _FILE_ATTRIBUTE_TAG_INFO { + DWORD FileAttributes; + DWORD ReparseTag; +} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO; + +typedef struct _FILE_DISPOSITION_INFO { + BOOLEAN DeleteFile; +} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO; + +typedef struct _FILE_ID_BOTH_DIR_INFO { + DWORD NextEntryOffset; + DWORD FileIndex; + LARGE_INTEGER CreationTime; + LARGE_INTEGER LastAccessTime; + LARGE_INTEGER LastWriteTime; + LARGE_INTEGER ChangeTime; + LARGE_INTEGER EndOfFile; + LARGE_INTEGER AllocationSize; + DWORD FileAttributes; + DWORD FileNameLength; + DWORD EaSize; + CCHAR ShortNameLength; + WCHAR ShortName[12]; + LARGE_INTEGER FileId; + WCHAR FileName[1]; +} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO; + +BOOL +WINAPI +SetFileInformationByHandle( + __in HANDLE hFile, + __in FILE_INFO_BY_HANDLE_CLASS FileInformationClass, + __in LPVOID lpFileInformation, + __in DWORD dwBufferSize +); + +BOOL +WINAPI +GetFileInformationByHandleEx( + __in HANDLE hFile, + __in FILE_INFO_BY_HANDLE_CLASS FileInformationClass, + __out LPVOID lpFileInformation, + __in DWORD dwBufferSize +); + +typedef enum _FILE_ID_TYPE { + FileIdType, + MaximumFileIdType +} FILE_ID_TYPE, *PFILE_ID_TYPE; + +typedef struct FILE_ID_DESCRIPTOR { + DWORD dwSize; // Size of the struct + FILE_ID_TYPE Type; // Describes the type of identifier passed in. + union { + LARGE_INTEGER FileId; + }; +} FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR; + +__out +HANDLE +WINAPI +OpenFileById ( + __in HANDLE hVolumeHint, + __in LPFILE_ID_DESCRIPTOR lpFileId, + __in DWORD dwDesiredAccess, + __in DWORD dwShareMode, + __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes, + __in DWORD dwFlagsAndAttributes + ); +#endif + +#ifdef __cplusplus +} +#endif Index: ext/FileExtd/lib/amd64/fileextd.lib =================================================================== diff -u -N Binary files differ Index: ext/FileExtd/lib/i386/fileextd.lib =================================================================== diff -u -N Binary files differ Index: ext/FileExtd/lib/ia64/fileextd.lib =================================================================== diff -u -N Binary files differ Index: src/common/FileExtd32.props =================================================================== diff -u -N --- src/common/FileExtd32.props (revision 0) +++ src/common/FileExtd32.props (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -0,0 +1,13 @@ + + + + + ../../ext/FileExtd/inc;$(IncludePath) + ../../ext/FileExtd/lib/i386;$(LibraryPath) + + + + fileextd.lib;%(AdditionalDependencies) + + + \ No newline at end of file Index: src/common/FileExtd64.props =================================================================== diff -u -N --- src/common/FileExtd64.props (revision 0) +++ src/common/FileExtd64.props (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -0,0 +1,13 @@ + + + + + ../../ext/FileExtd/inc;$(IncludePath) + ../../ext/FileExtd/lib/amd64;$(LibraryPath) + + + + fileextd.lib;%(AdditionalDependencies) + + + \ No newline at end of file Index: src/libchcore/TLocalFilesystemFile.cpp =================================================================== diff -u -N -r38031c379667959206abe69507d8a4e3b040dba6 -r71bfd29bfef00738456ab96f336feeb8a02c4df6 --- src/libchcore/TLocalFilesystemFile.cpp (.../TLocalFilesystemFile.cpp) (revision 38031c379667959206abe69507d8a4e3b040dba6) +++ src/libchcore/TLocalFilesystemFile.cpp (.../TLocalFilesystemFile.cpp) (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -29,6 +29,7 @@ #include "StreamingHelpers.h" #include "TOverlappedMemoryPool.h" #include "OverlappedCallbacks.h" +#include namespace chcore { @@ -142,23 +143,6 @@ LOG_DEBUG(m_spLog) << "Opening file for writing succeeded. New handle: " << m_hFile << GetFileInfoForLog(m_bNoBuffering); } - void TLocalFilesystemFile::OpenExistingForWriting(bool bNoBuffering) - { - Close(); - - LOG_DEBUG(m_spLog) << "OpenExistingForWriting" << GetFileInfoForLog(bNoBuffering); - - m_hFile = CreateFile(m_pathFile.ToString(), GENERIC_WRITE, FILE_SHARE_READ, nullptr, OPEN_EXISTING, GetFlagsAndAttributes(bNoBuffering), nullptr); - if (m_hFile == INVALID_HANDLE_VALUE) - { - DWORD dwLastError = GetLastError(); - LOG_ERROR(m_spLog) << "OpenExistingForWriting failed with error: " << dwLastError << GetFileInfoForLog(bNoBuffering); - - throw TFileException(eErr_CannotOpenFile, dwLastError, m_pathFile, L"Cannot open for writing.", LOCATION); - } - LOG_DEBUG(m_spLog) << "OpenExistingForWriting succeeded. New handle: " << m_hFile << GetFileInfoForLog(bNoBuffering); - } - file_size_t TLocalFilesystemFile::GetSeekPositionForResume(file_size_t fsLastAvailablePosition) { file_size_t fsMove = (m_bNoBuffering ? RoundDown(fsLastAvailablePosition, MaxSectorSize) : fsLastAvailablePosition); @@ -173,52 +157,15 @@ EnsureOpen(); - // when no-buffering is used, there are cases where we'd need to switch to buffered ops - // to adjust file size - bool bFileSettingsChanged = false; - if (m_bNoBuffering) + FILE_END_OF_FILE_INFO eofInfo = { 0 }; + eofInfo.EndOfFile.QuadPart = fsNewSize; + if(!SetFileInformationByHandle(m_hFile, FileEndOfFileInfo, &eofInfo, sizeof(FILE_END_OF_FILE_INFO))) { - file_size_t fsNewAlignedSize = RoundUp(fsNewSize, MaxSectorSize); - if (fsNewAlignedSize != fsNewSize) - { - LOG_TRACE(m_spLog) << "Truncating to non-aligned size. Requested: " << fsNewSize << L", aligned: " << fsNewAlignedSize << L". Will reopen file in buffering mode." << GetFileInfoForLog(m_bNoBuffering); - - Close(); - OpenExistingForWriting(false); - - bFileSettingsChanged = true; - } - } - - LARGE_INTEGER li = { 0, 0 }; - LARGE_INTEGER liNew = { 0, 0 }; - - li.QuadPart = fsNewSize; - - LOG_TRACE(m_spLog) << L"Setting file pointer to: " << li.QuadPart << GetFileInfoForLog(m_bNoBuffering); - if (!SetFilePointerEx(m_hFile, li, &liNew, FILE_BEGIN)) - { DWORD dwLastError = GetLastError(); - LOG_ERROR(m_spLog) << L"Setting file pointer to: " << li.QuadPart << L" failed." << GetFileInfoForLog(m_bNoBuffering); + LOG_ERROR(m_spLog) << L"Truncating file to " << fsNewSize << L" failed." << GetFileInfoForLog(m_bNoBuffering); - throw TFileException(eErr_SeekFailed, dwLastError, m_pathFile, L"Cannot seek to appropriate position", LOCATION); + throw TFileException(eErr_CannotTruncate, dwLastError, m_pathFile, L"Cannot truncate file", LOCATION); } - - LOG_TRACE(m_spLog) << L"Setting EOF" << GetFileInfoForLog(m_bNoBuffering); - if(!::SetEndOfFile(m_hFile)) - { - DWORD dwLastError = GetLastError(); - LOG_ERROR(m_spLog) << L"Setting EOF failed" << GetFileInfoForLog(m_bNoBuffering); - throw TFileException(eErr_CannotTruncate, dwLastError, m_pathFile, L"Cannot mark the end of file", LOCATION); - } - - // close the file that was open in inappropriate mode - if(bFileSettingsChanged) - { - LOG_DEBUG(m_spLog) << L"Closing file due to mode change in truncate function" << GetFileInfoForLog(m_bNoBuffering); - - Close(); - } } void TLocalFilesystemFile::ReadFile(TOverlappedDataBuffer& rBuffer) @@ -235,10 +182,6 @@ DWORD dwLastError = GetLastError(); switch (dwLastError) { - case ERROR_IO_PENDING: - LOG_TRACE(m_spLog) << L"Read requested and is pending" << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); - return; - case ERROR_HANDLE_EOF: { LOG_TRACE(m_spLog) << L"Read request marked as EOF" << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); @@ -285,16 +228,11 @@ if (!::WriteFileEx(m_hFile, rBuffer.GetBufferPtr(), dwToWrite, &rBuffer, OverlappedWriteCompleted)) { DWORD dwLastError = GetLastError(); - if (dwLastError != ERROR_IO_PENDING) - { - LOG_ERROR(m_spLog) << L"Write request failed with error " << dwLastError << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); - throw TFileException(eErr_CannotWriteFile, dwLastError, m_pathFile, L"Error while writing to file", LOCATION); - } - - LOG_TRACE(m_spLog) << L"Write requested and is pending" << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); + LOG_ERROR(m_spLog) << L"Write request failed with error " << dwLastError << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); + throw TFileException(eErr_CannotWriteFile, dwLastError, m_pathFile, L"Error while writing to file", LOCATION); } - else - LOG_TRACE(m_spLog) << L"Write request succeeded" << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); + + LOG_TRACE(m_spLog) << L"Write request succeeded" << L"; buffer-order: " << rBuffer.GetFilePosition() << GetFileInfoForLog(m_bNoBuffering); } void TLocalFilesystemFile::FinalizeFile(TOverlappedDataBuffer& rBuffer) @@ -313,13 +251,6 @@ if (dwToWrite != dwReallyWritten) { file_size_t fsNewFileSize = rBuffer.GetFilePosition() + dwToWrite; // new size - - LOG_TRACE(m_spLog) << L"File need truncating - really written " << dwReallyWritten << - L", should write " << dwToWrite << - L". Truncating file to " << fsNewFileSize << - L"; buffer-order: " << rBuffer.GetFilePosition() << - GetFileInfoForLog(m_bNoBuffering); - Truncate(fsNewFileSize); } } @@ -354,7 +285,11 @@ if (m_hFile != INVALID_HANDLE_VALUE) { LOG_DEBUG(m_spLog) << L"Closing file" << GetFileInfoForLog(m_bNoBuffering); - ::CloseHandle(m_hFile); + if(!::CloseHandle(m_hFile)) + { + DWORD dwLastError = GetLastError(); + LOG_ERROR(m_spLog) << L"CloseHandle failed with error " << dwLastError << L". Ignoring." << GetFileInfoForLog(m_bNoBuffering); + } } m_hFile = INVALID_HANDLE_VALUE; } @@ -383,8 +318,7 @@ { DWORD dwLastError = GetLastError(); LOG_ERROR(m_spLog) << L"Retrieving file size failed with error " << dwLastError << GetFileInfoForLog(m_bNoBuffering); - - return 0; + throw TFileException(eErr_CannotGetFileInfo, dwLastError, m_pathFile, L"Error while trying to retrieve file size.", LOCATION); } ULARGE_INTEGER uli; Index: src/libchcore/TLocalFilesystemFile.h =================================================================== diff -u -N -r38031c379667959206abe69507d8a4e3b040dba6 -r71bfd29bfef00738456ab96f336feeb8a02c4df6 --- src/libchcore/TLocalFilesystemFile.h (.../TLocalFilesystemFile.h) (revision 38031c379667959206abe69507d8a4e3b040dba6) +++ src/libchcore/TLocalFilesystemFile.h (.../TLocalFilesystemFile.h) (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -61,8 +61,6 @@ void OpenFileForReading(); void OpenFileForWriting(); - void OpenExistingForWriting(bool bNoBuffering); - DWORD GetFlagsAndAttributes(bool bNoBuffering) const; void InternalClose(); Index: src/libchcore/libchcore.vc140.vcxproj =================================================================== diff -u -N -rc719644bb4360fcf7ccf6f1139bcae852bd6effd -r71bfd29bfef00738456ab96f336feeb8a02c4df6 --- src/libchcore/libchcore.vc140.vcxproj (.../libchcore.vc140.vcxproj) (revision c719644bb4360fcf7ccf6f1139bcae852bd6effd) +++ src/libchcore/libchcore.vc140.vcxproj (.../libchcore.vc140.vcxproj) (revision 71bfd29bfef00738456ab96f336feeb8a02c4df6) @@ -91,34 +91,42 @@ + + + + + + + +