Commit Graph

80 Commits

Author SHA1 Message Date
Troels Knakkergaard
95fce84cf2 Accept backslashes in ZIP entries paths
Even although ZIP specification mandates (forward) slashes, some broken
programs still use backslashes in the paths, so make an effort to accommodate
them.

Closes #16259.
2016-02-06 01:28:08 +01:00
Artur Wieczorek
231c9c7168 Really parse the extra field seeking for ZIP64 extended data
Extended ZIP64 data are stored in the field with Header ID = 1 and we need to
iterate over all fields to find it because it is not stated in the
documentation the it must be the first record in the collection. wxZipHeader
is designed to process standard 64-byte headers and it is safe to use it to
process data in the field with Header ID = 1 which can have up to 28 bytes.

Closes #17170.
2015-12-19 16:19:37 +01:00
Vadim Zeitlin
7f08dbbf78 Another work around for VC8 compiler bug after ZIP64 changes
Apply the same fix as in ba851346b5 in another
place where the same bug occurs.
2015-09-11 14:59:32 +02:00
Vadim Zeitlin
ba851346b5 Try to work around VC8 compiler bug after ZIP64 changes
Add an explicit cast to ensure that both branches of the ternary operator have
the same type.
2015-09-09 03:39:17 +02:00
Paul Cornett
63615e323a avoid GCC warning "enumeral and non-enumeral type in conditional expression" 2015-08-24 08:18:30 -07:00
Artur Wieczorek
b18f6ed10a Fix reading ZIP extra field content from local file header.
Extract extra data from buffer allocated for the local extra field.

This fixes regression after ZIP-64 additions which resulted in crashes while
running the test suite.

Closes https://github.com/wxWidgets/wxWidgets/pull/78
2015-08-24 14:41:50 +02:00
Vadim Zeitlin
e691cfe83d Fix ZIP64 code compilation under 64 bit Unix platforms.
Calling wxDataOutputStream::Write64() with a wxFileOffset argument is
ambiguous as wxFileOffset is neither wxInt64 nor wxUint64, so cast it to one
of them (it doesn't matter which) explicitly.
2015-08-14 17:15:40 +02:00
Tobias Taschner
b9d46f0719 Add ZIP64 support to wxZipInputStream and wxZipOutputStream.
Zip archives with sizes larger 4GB or containing files larger than 4GB or more
than 65k files are saved in ZIP64 format which adds a few additional footers
and extra fields to allow to exceed these limits.

This implements the PKWARE specification available at:
https://www.pkware.com/support/zip-app-note

It has been tested for compatibility with Windows internal ZIP folders, OSX
Archive Utility and 7-zip.

Closes https://github.com/wxWidgets/wxWidgets/pull/72
2015-08-14 15:39:45 +02:00
Tobias Taschner
0f39ea0963 Add support for UTF8 filenames in wxZipInputstream.
Zip files may mark filenames and comments via bit 11 in the general purpose
flags. If this flag is set use wxConvUTF8 instead of the default wxConv.
2015-08-14 15:38:50 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Dimitri Schoolwerth
0e6af4ac39 No code changes, fix some typos.
Change several occurrences of "it's" where "its" is meant, as well as a few other minor typos.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78497 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-02-15 17:11:44 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Paul Cornett
967a94c91a remove WXWIN_COMPATIBILITY_2_6, add WXWIN_COMPATIBILITY_3_0
closes #15792

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 20:07:33 +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
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +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
43b2d5e7c3 Put braces around all calls to wxLogFunctions() inside an if statement.
This suppresses all the remaining g++ -Wparentheses warnings and uses consistent style everywhere.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61475 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-20 16:47:54 +00:00
Vadim Zeitlin
af58844636 Add information about the log message generation location to wxLog.
This means that wxLog::DoLogRecord() can now retrieve the file name, line
number and the function where the message was logged.

An unfortunate consequence of this change is that now

	if ( condition )
		wxLogError("Whatever");

results in a warning from g++ 4.x with -Wparentehses, so extra parentheses had
to be added in many places.

Finally, also allow storing arbitrary attributes in wxLogRecordInfo. This had
to be added to implement our own overloaded wxLogStatus() and wxLogSysError()
and will probably be useful for the others as well.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61363 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-09 20:26:34 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
664e13143e renamed wx/ptr_shrd.h to wx/sharedptr.h; split wx/ptr_scpd.h in wx/scopedptr.h and wx/scopedarray.h; extracted common parts into new wx/checkeddelete.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-03 12:01:46 +00:00
Francesco Montorsi
7d7b3f69f2 do not export private symbols in wx shared libraries
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-24 13:40:46 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Michael Wetherell
dd0af4bb63 Always write end record unless one has already been written.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51008 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-03 17:09:10 +00:00
Vadim Zeitlin
9d59b50a9f allow creating empty ZIP archives (patch 1861030)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50992 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-01-02 20:31:31 +00:00
Václav Slavík
8650108199 don't use implicit wxString->char*/wchar_t* conversion, it will not be available in wxUSE_STL build in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:42:41 +00:00
Paul Cornett
ca2261d33f restore declaration inline specifier, and make definition match
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-01 22:27:42 +00:00
Paul Cornett
ffdbfc4a76 remove inline from declaration of functions which are not inline
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-01 19:49:10 +00:00
Michael Wetherell
5c80cef4bf wxArchiveFSHandler switches on simulated seeking for compatibility with
previous versions. Still overridden by wxFS_SEEKABLE.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-19 02:11:40 +00:00
Michael Wetherell
489a164c1c Rename wxSTREAM_FILEEXTENSION to wxSTREAM_FILEEXT.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42621 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-29 16:47:20 +00:00
Michael Wetherell
5410f5728d Tidy up includes and #if wxUSE statements.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-27 22:03:29 +00:00
Michael Wetherell
8fc574b40c Implement new features for finding class factories. Put seek inside 2.6 compat ifdef.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-27 09:54:39 +00:00
Michael Wetherell
076e07b60b Improve the error messages slightly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41419 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-24 13:59:57 +00:00
Michael Wetherell
08f30494b0 Fix alignment issue.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-05 19:07:26 +00:00
Włodzimierz Skiba
de6185e212 Include wx/utils.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-02 10:39:23 +00:00
Włodzimierz Skiba
8898456df4 wx/wxprec.h already includes wx/defs.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38787 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-18 07:24:35 +00:00
Vadim Zeitlin
d0914b9d8d build fixes for wxUSE_LOG==0 (modified patch 1450207)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38766 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-16 22:29:47 +00:00
Włodzimierz Skiba
bb2955b339 Warning fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-03-23 09:57:59 +00:00
Michael Wetherell
945bd4747c Remove workaround since the problem should now be fixed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 22:58:32 +00:00
Julian Smart
3f5c62f982 Reverted semicolons patch
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 16:45:41 +00:00
Julian Smart
edef87c827 Applied patch [ 1399013 ] More removals of extraneous semicolons
Wlodek Szafran


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-18 11:46:53 +00:00
Michael Wetherell
abffc1ff5d Changes to cope with parent streams which return an error instead of eof at the
end of the file.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-12-18 13:51:24 +00:00
Vadim Zeitlin
344d0d8821 suppress gcc warnings about class having private dtor and no friends
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36306 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 15:35:04 +00:00
Michael Wetherell
8e50d1add6 Make Eof() consistent with other streams
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36298 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-30 12:41:48 +00:00
Michael Wetherell
f489770c10 Do CloseEntry internally when OpenEntry called on an already open stream.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-27 17:55:00 +00:00
Michael Wetherell
312f1e6e37 Use the new wx_truncate_cast for any narrowing conversions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-27 21:45:48 +00:00
Vadim Zeitlin
6cf2fb76fe added wxFORCE_LINK_MODULE public macro which can now be used outside of wxHTML too; modified it to not provoke icc warnings when used
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-25 18:09:26 +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
Michael Wetherell
2e85922c96 Fix deletes that should be delete[]
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35073 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-08-03 19:25:52 +00:00