diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/ClientPattern.cc | 1 | ||||
-rw-r--r-- | src/ClientPattern.hh | 4 | ||||
-rw-r--r-- | src/FbTk/Makefile.am | 1 | ||||
-rw-r--r-- | src/FbTk/RegExp.cc (renamed from src/RegExp.cc) | 21 | ||||
-rw-r--r-- | src/FbTk/RegExp.hh (renamed from src/RegExp.hh) | 16 | ||||
-rw-r--r-- | src/Makefile.am | 3 |
6 files changed, 16 insertions, 30 deletions
diff --git a/src/ClientPattern.cc b/src/ClientPattern.cc index d094e63..fcc2370 100644 --- a/src/ClientPattern.cc +++ b/src/ClientPattern.cc | |||
@@ -23,7 +23,6 @@ | |||
23 | // $Id$ | 23 | // $Id$ |
24 | 24 | ||
25 | #include "ClientPattern.hh" | 25 | #include "ClientPattern.hh" |
26 | #include "RegExp.hh" | ||
27 | 26 | ||
28 | #include "FocusControl.hh" | 27 | #include "FocusControl.hh" |
29 | #include "Layer.hh" | 28 | #include "Layer.hh" |
diff --git a/src/ClientPattern.hh b/src/ClientPattern.hh index b76aef8..4531c4a 100644 --- a/src/ClientPattern.hh +++ b/src/ClientPattern.hh | |||
@@ -26,7 +26,7 @@ | |||
26 | #ifndef CLIENTPATTERN_HH | 26 | #ifndef CLIENTPATTERN_HH |
27 | #define CLIENTPATTERN_HH | 27 | #define CLIENTPATTERN_HH |
28 | 28 | ||
29 | #include "RegExp.hh" | 29 | #include "FbTk/RegExp.hh" |
30 | #include "NotCopyable.hh" | 30 | #include "NotCopyable.hh" |
31 | 31 | ||
32 | #include <string> | 32 | #include <string> |
@@ -99,7 +99,7 @@ private: | |||
99 | struct Term { | 99 | struct Term { |
100 | Term(const std::string ®str, bool full_match) :regexp(regstr, full_match){}; | 100 | Term(const std::string ®str, bool full_match) :regexp(regstr, full_match){}; |
101 | std::string orig; | 101 | std::string orig; |
102 | RegExp regexp; | 102 | FbTk::RegExp regexp; |
103 | WinProperty prop; | 103 | WinProperty prop; |
104 | bool negate; | 104 | bool negate; |
105 | }; | 105 | }; |
diff --git a/src/FbTk/Makefile.am b/src/FbTk/Makefile.am index 86f8594..5f1c246 100644 --- a/src/FbTk/Makefile.am +++ b/src/FbTk/Makefile.am | |||
@@ -41,6 +41,7 @@ libFbTk_a_SOURCES = App.hh App.cc Color.cc Color.hh Command.hh \ | |||
41 | XLayer.cc XLayer.hh XLayerItem.cc XLayerItem.hh \ | 41 | XLayer.cc XLayer.hh XLayerItem.cc XLayerItem.hh \ |
42 | Resource.hh Resource.cc \ | 42 | Resource.hh Resource.cc \ |
43 | StringUtil.hh StringUtil.cc Parser.hh Parser.cc \ | 43 | StringUtil.hh StringUtil.cc Parser.hh Parser.cc \ |
44 | RegExp.hh RegExp.cc \ | ||
44 | FbString.hh FbString.cc \ | 45 | FbString.hh FbString.cc \ |
45 | Subject.hh Subject.cc Observer.hh Observer.cc \ | 46 | Subject.hh Subject.cc Observer.hh Observer.cc \ |
46 | Transparent.hh Transparent.cc \ | 47 | Transparent.hh Transparent.cc \ |
diff --git a/src/RegExp.cc b/src/FbTk/RegExp.cc index 895cc7b..df98982 100644 --- a/src/RegExp.cc +++ b/src/FbTk/RegExp.cc | |||
@@ -1,4 +1,4 @@ | |||
1 | // RegExp.cc for Fluxbox Window Manager | 1 | // RegExp.cc for FbTk |
2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) | 2 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) |
3 | // and Simon Bowden (rathnor at users.sourceforge.net) | 3 | // and Simon Bowden (rathnor at users.sourceforge.net) |
4 | // | 4 | // |
@@ -20,10 +20,7 @@ | |||
20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 20 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
21 | // DEALINGS IN THE SOFTWARE. | 21 | // DEALINGS IN THE SOFTWARE. |
22 | 22 | ||
23 | // $Id$ | ||
24 | |||
25 | #include "RegExp.hh" | 23 | #include "RegExp.hh" |
26 | #include "FbTk/I18n.hh" | ||
27 | 24 | ||
28 | //use GNU extensions | 25 | //use GNU extensions |
29 | #ifndef _GNU_SOURCE | 26 | #ifndef _GNU_SOURCE |
@@ -40,10 +37,7 @@ using std::cerr; | |||
40 | using std::endl; | 37 | using std::endl; |
41 | #endif // USE_REGEXP | 38 | #endif // USE_REGEXP |
42 | 39 | ||
43 | 40 | namespace FbTk { | |
44 | /******************************************************** | ||
45 | * RegExp * | ||
46 | **********/ | ||
47 | 41 | ||
48 | // full_match is to say if we match on this regexp using the full string | 42 | // full_match is to say if we match on this regexp using the full string |
49 | // or just a substring. Substrings aren't supported if not HAVE_REGEXP | 43 | // or just a substring. Substrings aren't supported if not HAVE_REGEXP |
@@ -62,15 +56,6 @@ m_regex(0) { | |||
62 | m_regex = new regex_t; | 56 | m_regex = new regex_t; |
63 | int ret = regcomp(m_regex, match.c_str(), REG_NOSUB | REG_EXTENDED); | 57 | int ret = regcomp(m_regex, match.c_str(), REG_NOSUB | REG_EXTENDED); |
64 | if (ret != 0) { | 58 | if (ret != 0) { |
65 | char *errstr = 0; | ||
66 | _FB_USES_NLS; | ||
67 | // gives us the length of the string | ||
68 | unsigned int size = regerror(ret, m_regex, errstr, 0); | ||
69 | errstr = new char[size]; | ||
70 | |||
71 | regerror(ret, m_regex, errstr, size); | ||
72 | cerr<<_FB_CONSOLETEXT(Fluxbox, ErrorRegexp, "Error parsing regular expression", "Error parsing regular expression (following)")<<": "<<errstr<<endl; | ||
73 | delete [] errstr; | ||
74 | delete m_regex; // I don't think I regfree a failed compile? | 59 | delete m_regex; // I don't think I regfree a failed compile? |
75 | m_regex = 0; | 60 | m_regex = 0; |
76 | } | 61 | } |
@@ -107,3 +92,5 @@ bool RegExp::error() const { | |||
107 | return m_str == ""; | 92 | return m_str == ""; |
108 | #endif // USE_REGEXP | 93 | #endif // USE_REGEXP |
109 | } | 94 | } |
95 | |||
96 | }; // end namespace FbTk | ||
diff --git a/src/RegExp.hh b/src/FbTk/RegExp.hh index e3d0536..0386670 100644 --- a/src/RegExp.hh +++ b/src/FbTk/RegExp.hh | |||
@@ -1,4 +1,4 @@ | |||
1 | // RegExp.hh for Fluxbox Window Manager | 1 | // RegExp.hh for FbTk |
2 | // Copyright (c) 2002 Xavier Brouckaert | 2 | // Copyright (c) 2002 Xavier Brouckaert |
3 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) | 3 | // Copyright (c) 2003 Henrik Kinnunen (fluxgen at fluxbox dot org) |
4 | // and Simon Bowden (rathnor at users.sourceforge.net) | 4 | // and Simon Bowden (rathnor at users.sourceforge.net) |
@@ -21,10 +21,8 @@ | |||
21 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 21 | // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
22 | // DEALINGS IN THE SOFTWARE. | 22 | // DEALINGS IN THE SOFTWARE. |
23 | 23 | ||
24 | // $Id$ | 24 | #ifndef FBTK_REGEXP_HH |
25 | 25 | #define FBTK_REGEXP_HH | |
26 | #ifndef REGEXP_HH | ||
27 | #define REGEXP_HH | ||
28 | 26 | ||
29 | #include "NotCopyable.hh" | 27 | #include "NotCopyable.hh" |
30 | 28 | ||
@@ -43,9 +41,9 @@ | |||
43 | #include <regex.h> | 41 | #include <regex.h> |
44 | #endif // USE_REGEXP | 42 | #endif // USE_REGEXP |
45 | 43 | ||
46 | class WinClient; | 44 | namespace FbTk { |
47 | 45 | ||
48 | class RegExp:private FbTk::NotCopyable { | 46 | class RegExp: private NotCopyable { |
49 | public: | 47 | public: |
50 | RegExp(const std::string &str, bool full_match = true); | 48 | RegExp(const std::string &str, bool full_match = true); |
51 | ~RegExp(); | 49 | ~RegExp(); |
@@ -63,4 +61,6 @@ private: | |||
63 | 61 | ||
64 | }; | 62 | }; |
65 | 63 | ||
66 | #endif // REGEXP_HH | 64 | }; // end namespace FbTk |
65 | |||
66 | #endif // FBTK_REGEXP_HH | ||
diff --git a/src/Makefile.am b/src/Makefile.am index dfed93b..b40affd 100644 --- a/src/Makefile.am +++ b/src/Makefile.am | |||
@@ -78,9 +78,8 @@ if GNOME | |||
78 | gnome_SOURCE= Gnome.hh Gnome.cc | 78 | gnome_SOURCE= Gnome.hh Gnome.cc |
79 | endif | 79 | endif |
80 | if REMEMBER_SRC | 80 | if REMEMBER_SRC |
81 | # For now we only want regexp if we have remember | ||
82 | REMEMBER_SOURCE= Remember.hh Remember.cc \ | 81 | REMEMBER_SOURCE= Remember.hh Remember.cc \ |
83 | RegExp.hh RegExp.cc ClientPattern.hh ClientPattern.cc | 82 | ClientPattern.hh ClientPattern.cc |
84 | endif | 83 | endif |
85 | if TOOLBAR_SRC | 84 | if TOOLBAR_SRC |
86 | TOOLBAR_SOURCE = Toolbar.hh Toolbar.cc \ | 85 | TOOLBAR_SOURCE = Toolbar.hh Toolbar.cc \ |