diff options
Diffstat (limited to 'debian/htdig/htdig-3.2.0b6/htlib/HtRegexReplace.h')
-rw-r--r-- | debian/htdig/htdig-3.2.0b6/htlib/HtRegexReplace.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/debian/htdig/htdig-3.2.0b6/htlib/HtRegexReplace.h b/debian/htdig/htdig-3.2.0b6/htlib/HtRegexReplace.h new file mode 100644 index 00000000..6cf4d50f --- /dev/null +++ b/debian/htdig/htdig-3.2.0b6/htlib/HtRegexReplace.h @@ -0,0 +1,58 @@ +// +// HtRegexReplace.h +// +// HtRegexReplace: A subclass of HtRegex that can perform replacements +// +// Part of the ht://Dig package <http://www.htdig.org/> +// Copyright (c) 2000-2004 The ht://Dig Group +// For copyright details, see the file COPYING in your distribution +// or the GNU Library General Public License (LGPL) version 2 or later +// <http://www.gnu.org/copyleft/lgpl.html> +// +// $Id: HtRegexReplace.h,v 1.4 2004/05/28 13:15:21 lha Exp $ +// + +#ifndef _HtRegexReplace_h_ +#define _HtRegexReplace_h_ + +#ifdef HAVE_CONFIG_H +#include "htconfig.h" +#endif /* HAVE_CONFIG_H */ + +#include "HtRegex.h" + +class HtRegexReplace : public HtRegex +{ +public: + // + // Construction/Destruction + // + HtRegexReplace(); + HtRegexReplace(const char *from, const char *to, int case_sensitive = 0); + virtual ~HtRegexReplace(); + + // + // Methods for setting the replacement pattern + // + void setReplace(const String& str) { setReplace(str.get()); } + void setReplace(const char *str); + + // + // Methods for replacing + // + int replace(String &str, int nullpattern = 0, int nullstr = 0); + +protected: + char *repBuf; // Replace text. + size_t segSize, segUsed; + int *segMark; + size_t repLen; + + regmatch_t regs[10]; + + // Various private methods + void putMark(int n); + void empty(); +}; + +#endif |