Commit Graph

73 Commits

Author SHA1 Message Date
Vadim Zeitlin
4dd77dabe8 Check for WXREGEX_CONVERT_TO_MB when calling regcomp() too
Make code more consistent by using the same approach as in the other
places where conversion is necessary in some builds and define temporary
variables for clarity.

Also use wx_str() when the conversion is not necessary rather than
c_str() as this is more efficient and allows to address an existing
FIXME comment.
2021-07-16 11:23:17 +02:00
Vadim Zeitlin
fb21f556a7 Use wxCharBuffer instead of manual allocations in GetErrorMsg()
Replace new[]/delete[] with a wxCharBuffer object.

Also check for conversion failure when converting the error message to
wide char string.
2021-07-16 11:17:32 +02:00
Vadim Zeitlin
d83368664c Remove unnecessary call to clear() in Replace()
There doesn't seem to be any need to clear the string in
WXREGEX_CONVERT_TO_MB case.
2021-07-16 11:02:48 +02:00
Vadim Zeitlin
838b693b46 Fix wxRegEx::GetMatch() to work in WXREGEX_CONVERT_TO_MB case
Using the offset into the wide string doesn't work for non-ASCII
characters, it must be converted to UTF-8 first.
2021-07-16 00:06:31 +02:00
Vadim Zeitlin
3a52523f96 Simplify code in wxRegExImpl::Replace()
Check for WXREGEX_CONVERT_TO_MB once and define textstr variable
pointing to the string data instead of using it several times.

No real changes.
2021-07-16 00:06:31 +02:00
Vadim Zeitlin
10dce93921 Remove handling of conversion errors that can't happen any more
Since we always convert to UTF-8, there can be no conversion errors and
we don't need to worry about them.
2021-07-16 00:06:31 +02:00
Vadim Zeitlin
78546007af Get rid of WXREGEX_IF_NEED_LEN() in wxRegEx code
Define wx_regexec() wrapper so that we can just drop the length if it's
not supported in one place, instead of having to use this ugly macro in
several places.

No real changes.
2021-07-16 00:06:31 +02:00
Vadim Zeitlin
8b812a92ae Always convert to UTF-8 if conversion is necessary
When using system regex functions in Unicode build, convert to UTF-8 and
not the current locale encoding, as this should work just as well if the
conversion doesn't fail and even better if it would fail when converting
to the current locale encoding because conversion to UTF-8 never does.
2021-07-16 00:06:31 +02:00
Vadim Zeitlin
f41564a3e2 Add wxRegEx::ConvertFromBasic() helper
This will be used to implement support for BREs using PCRE which doesn't
support them directly in the upcoming commits.
2021-07-15 22:45:29 +02:00
Vadim Zeitlin
862c051e9e Remove unnecessary calls to c_str() for wxLogError() arguments
Just pass strings to wxLogError() directly.

No real changes.
2021-07-15 21:44:28 +02:00
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Tomay
050ca4ce3a Add wxRegEx::QuoteMeta() helper
Quote all characters special for wxRegEx in the given string: this can
be useful when searching for a literal string using wxRegEx.

Closes https://github.com/wxWidgets/wxWidgets/pull/1489
2019-08-25 12:32:51 +02:00
Vadim Zeitlin
5488a1438f Globally replace vadim@wxwindows.org with vadim@wxwidgets.org
The old email address is invalid since many years and shouldn't be used
any longer.

No real changes.
2019-04-22 14:12:05 +02:00
Vadim Zeitlin
15f255cebb Remove support for Digital Mars compiler.
This compilers is not being developed any longer since many years, drop
support for it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:23 +00:00
Vadim Zeitlin
49b8d79c87 Remove (Open)Watcom support.
This compiler is not being developed since several years and almost certainly
can't be used to build the current wxWidgets sources anyhow, so remove all
support for it, including a lot of extremely ugly workarounds for its bugs
with template functions.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-16 13:01:06 +00: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
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
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +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
Paul Cornett
9d77a075c0 fix header dependancy
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 17:29:32 +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
Vadim Zeitlin
0d79a67919 no changes, just match the number of opening/closing braces to avoid upsetting Vim (and probably other editors) syntax highlighting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-27 23:03:55 +00:00
Paul Cornett
2a23042680 fix some warnings from GCC -Wextra
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-15 17:24:48 +00:00
Vadim Zeitlin
9d55bfef2c don't use 8 bit characters in sources, this results in level 1 warning with VC8 (patch 1841741)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-03 22:09:26 +00:00
Václav Slavík
7e1df0e638 compilation fixes for --with-regex=sys
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-26 10:57:49 +00:00
Václav Slavík
bcbb02480b compilation fixes for some cases
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46954 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-26 10:24:09 +00:00
Václav Slavík
0bf751e7e9 compilation fixes for PCH-less build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46396 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-11 06:10:37 +00:00
Václav Slavík
52de37c78f 1. made CRT wrappers definitions indepenent of wxUSE_UNICODE: both ANSI and Unicode variants are now defined
2. split wxcrt.h into wxcrtbase.h with lowlevel compiler-specific definitions and wxcrt.h with ANSI- and Unicode-compatible wx wrappers


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46390 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-10 17:14:14 +00:00
Vadim Zeitlin
6346588525 removed Matches(const wxChar *, int=0) overload: it creates ambiguity with Matches(const wxString&, int=0) one when re.Matches(s.c_str()) is called now that c_str() returns wxCStrData which can be converted to both const wxChar * and wxString
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-22 15:20:50 +00:00
Vadim Zeitlin
6d50049a5c use wxConvLibc, not wxConvCurrent, with regerror()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-11 23:15:17 +00:00
Michael Wetherell
9630cac5fc Take out wxASSERTs since they give a warning with gcc.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-27 18:12:37 +00:00
Vadim Zeitlin
2cdf244521 fix warnings about casting regmatch_t struct fields to size_t
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-25 21:49:00 +00:00
Michael Wetherell
7553e636a2 Add 'wx_' prefix to builtin regfree and regerror
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-23 13:56:08 +00:00
Michael Wetherell
ab0f0eddc4 Use re_search directly instead of regexec when using the GNU regex lib
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-20 17:25:33 +00:00
Michael Wetherell
c9eee7f035 Add a length parameter for wxRegEx::Matches
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-15 15:51:10 +00:00
Michael Wetherell
db9db9cd18 Change the name of a symbol to make it more descriptive
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36160 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-11 19:33:47 +00:00
Michael Wetherell
f302b6a445 Make wxRegEx::Replace run in linear time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36159 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-11-11 17:22:13 +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
c781c31638 added wx_truncate_cast and use it (sometimes instead of wx_static_cast) to explicitely show int truncation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35539 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-17 21:03:45 +00:00
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +00:00
Vadim Zeitlin
2af7511ea7 a better fix for using builtin regex under BSD (also fixes compilation for Mac OS X) (patch 1089445)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31747 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-04 09:37:55 +00:00
Włodzimierz Skiba
701a0b4766 Source cleaning: whitespaces, tabs, -1/wxNOT_FOUND, TRUE/true, FALSE/false.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-21 18:15:59 +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
86b79b93fb added wxRegEx::GetMatchCount (patch 938995)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@26904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-04-21 20:14:14 +00:00
Václav Slavík
e3f9e20cb1 applied patch 890642: wxRE_ADVANCED flag and docs
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-19 17:28:56 +00:00
Julian Smart
8cc4850c2d Patch from "Viktor Voroshylo" <viktor@voroshylo.com>
src/.cvsignore : changes to ignore temorary project files
src/regex/.cvsignore : changes to ignore temorary project files for CE compiler
src/regex/regguts.h : assert will be ignored under WinCE
src/msw/button.cpp : BS_FLAT is not available under winCE
src/msw/clipbrd.cpp : changed CLIPFORMAT to wxDataFormat::NativeFormat so it will compile when ole is not included (under winCE)
src/msw/menu.cpp : GetMenuItemCount is not available under winCE. Using wxMenu::GetMenuCount in this case
src/common/regex.cpp : regex will be included under wince
include/wx/msw/wince/setup.h : wxUSE_THREADS & wxUSE_REGEX is enabled by default (as in standard windows configuration)
src/msw/wince/wxWindowsCE.vcp: fixed problem with all configurations (except emu once) do not have procompiled headers setup correctly. Changes for compiling with regex.
src/msw/wince/wxWindowsCE.vcw : added regex in workspace file


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25401 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-27 17:47:37 +00:00
Ryan Norton
122c9be085 removed wxUSE_BUILTIN_REGEX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25049 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-12-30 23:41:47 +00:00
Ryan Norton
c5feba0ea3 Cleaned up regex.cpp
fixed strlen problem in regex
many other things related to cleanup of regex.cpp


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25047 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-12-30 22:21:00 +00:00