PB
f57f214122
Remove BCC-specific hdrstop pragma from everywhere
2020-10-12 21:58:37 +02:00
Paul Cornett
71972a5265
Use pre-increment operator with iterators
2019-02-17 18:48:40 -08:00
Vadim Zeitlin
cc86de1416
Replace file reading code in wxTextFile with wxFile::ReadAll()
...
There is nothing special about wxTextFile justifying having code for
dealing with non-seekable files in it, so put this code into wxFile
itself and just call its ReadAll() method from here.
This is a better fix than 41f6f17d01
originally applied (and which is going to be reverted next) as it
doesn't break wxFile::Length() for these files and also avoids
triggering an assert if the file we're trying to read was truncated by
another process in the meanwhile -- which can happen and doesn't
indicate a programming error and so shouldn't result in an assert.
Also add a unit test checking that this really works.
See #3802 , #8354 , #9965 .
2017-12-15 18:46:22 +01:00
Václav Slavík
2f7adacb9d
Make wxTextFile::Write() much faster
...
Write output text in reasonably-sized chunks instead of line by line.
This is significantly faster because of lack of any caching in wxTempFile.
2017-05-23 15:59:27 +02:00
Vadim Zeitlin
0d7f51098d
Rewrite switch on wxTextBufferOpenMode to be exhaustive
...
Get rid of the default clause to allow the compiler to warn us if ever add new
elements to this enum.
No real changes.
2016-02-13 13:52:13 +01:00
Vadim Zeitlin
fe850fccc5
Fix "open mode" variables naming convention in wxTextFile
...
Start variable name with lower case letters for consistency.
No real changes.
2016-02-13 13:46:25 +01:00
Vadim Zeitlin
d59c6c5add
Remove useless c_str() calls from wxTextFile code
...
There is no need to call wxString::c_str() just to create another wxString
from it.
2016-02-13 13:44:12 +01:00
Stefan Csomor
f18d7097da
adding wxFALLTHROUGH where until now we had comments, allows for code-analysis support
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-26 17:36:32 +00:00
Václav Slavík
8dd971e45b
Rewrite wxTextFile's newlines parsing to fix multiple bugs.
...
Remove the complicated parsing state machine that contained bugs with
unexpected inputs and was very hard to modify correctly. Replace it
with much simpler code that looks ahead, instead of deducing line
endings from past characters.
The new code never looses lines with data and calls AddLine() on the
first newline character it encounters, peeking ahead to determine the
line ending type.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75799 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-05 18:28:57 +00:00
Václav Slavík
e8c5400118
wxTextFile: don't loose data with CRCRLF line endings.
...
Previously, when reading files with completely nonstandard - but
occurring in the wild thanks to broken Notepad - files with CRCRLF, all
content would be replaced with empty lines.
Fix the code to do what many editors do with such files: treat this as
data line followed by an empty one. This is not ideal, but it is better
than discarding data - and arguably, silently cleaning up the endings
wouldn't be great either (and would add extra complications for what is
an obscure and broken case).
See http://stackoverflow.com/questions/6998506/text-file-with-0d-0d-0a-line-breaks
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75387 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-16 18:54:42 +00:00
Vadim Zeitlin
e365d633f0
Simplify the code in wxTextFile::OnRead() slightly.
...
No real changes, just use a self-explanatory "lastWasCR" variable instead of
storing the last character read which wasn't used for anything except
comparing it with '\r'.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-15 13:04:27 +00:00
Vadim Zeitlin
b845aa636a
Fix reading of files with Mac EOLs in wxTextFile.
...
The last CR-terminated line wasn't handled correctly.
Fix this now and add unit tests to ensure that it stays fixed.
Closes #15583 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75009 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-10-15 13:04:23 +00:00
Vadim Zeitlin
3f66f6a5b3
Remove all lines containing cvs/svn "$Id$" keyword.
...
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.
If nothing else, this will make an eventual transition to Git simpler.
Closes #14487 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
9a83f86094
Globally replace _T() with wxT().
...
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660 ).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
2059910d0b
fix bug introduced by the last change: we could overwrite the buffer if the file size changed while we were reading it
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-13 19:40:42 +00:00
Vadim Zeitlin
29a96d3c09
avoid extra reallocations and memcpy for seekable files in OnRead() (slightly modified patch 1935975)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53557 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-11 17:44:32 +00:00
Vadim Zeitlin
646c7e13ea
corrected VC warning about possibly uninitialized variable in the last change
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44250 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 20:37:12 +00:00
Vadim Zeitlin
6594faa98e
make wxTextFile work with unseekable files again (patch 1632613, bug 1629581)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 20:29:12 +00:00
Vadim Zeitlin
abc912df18
give the file name in the error message about failed Unicode conversion
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43802 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-12-04 16:50:51 +00:00
Václav Slavík
82bf96f548
don't crash on weird line endings like \r\r\n
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 19:28:46 +00:00
Vadim Zeitlin
830f8f11bc
1. changed all "wxMBConv& conv" parameters to "const wxMBConv&"
...
2. this allows to use wxConvAuto() instead of wxConvUTF8 as default value
for this parameter in the classes which read text from the file: wxConvAuto
automatically recognizes the BOM at the start of file and uses the correct
conversion
3. don't use Windows for UTF-7 conversions as there is no way to make it
fail on invalid UTF-7 strings; use our own wxMBConvUtf7 instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-05 14:37:47 +00:00
Włodzimierz Skiba
47eb93d02d
Warning fix.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38533 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-03 17:38:05 +00:00
Vadim Zeitlin
44327ff375
don't give error when reading empty file in Unicode build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38466 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 14:00:31 +00:00
Vadim Zeitlin
dbcf443c7d
rewrote Read() to slurp all the file at once to avoid problems in Unicode build
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38464 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-31 13:53:20 +00:00
Vadim Zeitlin
c1981a2fa4
don't process previously read characters twice in OnRead()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38449 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-30 14:04:46 +00:00
Vadim Zeitlin
0cc88b4bb4
wxUSE_STL==1 compilation fix
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38431 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-29 14:22:03 +00:00
Włodzimierz Skiba
39987096b3
Warning fix.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-28 10:48:55 +00:00
Vadim Zeitlin
b260e323ea
properly NUL-terminate the buffer before converting it to Unicode: we may need more than one trailing NUL
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-28 00:05:52 +00:00
Vadim Zeitlin
86948c99a6
made wxTextFile work in Unicode; also made it possible to use it with non seekable files
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-27 23:27:29 +00:00
Mart Raudsepp
8907154c1a
Nuke #pragma implementation/interface's
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Vadim Zeitlin
30984deafc
new set of fixes for problems due to huge files support: drop wxFileSize_t, use wxFileOffset only, make wxInvalidOffset an int (main part of the patch 1063498)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-10 21:02:58 +00:00
Vadim Zeitlin
67c20e133e
use wxFileSize_t instead of wxFileOffset or off_t
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-15 00:34:21 +00:00
Włodzimierz Skiba
cb719f2e29
Source cleaning: whitespaces, tabs, -1/wxID_ANY/wxNOT_FOUND/wxDefaultCoord, TRUE/true, FALSE/false, !!/!IsEmpty().
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29285 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-23 18:20:56 +00:00
Julian Smart
655719367a
Use old licence name
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e
Name and version changes
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Václav Slavík
14f355c2b5
added support for gcc precompiled headers
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:46:53 +00:00
Julian Smart
55d99c7a77
Fixed copyrights and licence spelling
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@19595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-03-17 11:28:33 +00:00
Václav Slavík
32a0d013e9
changed wxFileName::Normalize signature to allow or-combination of flags and reverted Julian's hack-fix to wxTextFile
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-02-02 23:14:45 +00:00
Julian Smart
aa21a09f91
Corrected Normalize invocation by casting
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-31 12:29:54 +00:00
Julian Smart
baed107708
Removed wxPATH_NORM_CASE from Normalize or files won't be written
...
back as the same filename.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13934 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-31 12:25:50 +00:00
Václav Slavík
d9ade1df2f
rewrote wxTextFile::OnRead to handle variable-length encodings correctly
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-17 23:41:02 +00:00
Ron Lee
deab45402f
Use GetFullPath not GetFullName in OnWrite else we'll always write the
...
file to the cwd.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2002-01-03 06:22:38 +00:00
Vadim Zeitlin
68c97af3c3
blind fix for temp file creation problem
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-19 21:40:50 +00:00
Vadim Zeitlin
77f859c38e
fixed assert to avoid compilation warnings
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-12-01 12:56:01 +00:00
David Webster
27752aab2a
Can't just wxASSERT(0). Give "constant in conditional expression" errors on some compilers. Also bad control codes on the end of some preprocessor constants.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12771 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-30 22:10:31 +00:00
Mattia Barbon
9298c435cf
Converting uninitialized data is not a Good Idea
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12582 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-22 09:09:17 +00:00
Vadim Zeitlin
a3a584a7a6
added wxTextBuffer and wxMemoryText which allow to use wxTextFile with in-memory data
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-11-14 20:40:20 +00:00
Gilles Depeyrot
a73523797c
added comment concerning native line endings under Mac OS X
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12239 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-10-31 22:41:08 +00:00
Václav Slavík
adfed1ca92
Unicodification of wxTextFile
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2001-08-06 22:40:57 +00:00
Václav Slavík
4d5cd6e05d
fixed wxTextFile::GuessType assertion
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@8972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2000-12-20 23:06:40 +00:00