diff options
author | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
---|---|---|
committer | tpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2010-03-01 19:17:32 +0000 |
commit | e38d2351b83fa65c66ccde443777647ef5cb6cff (patch) | |
tree | 1897fc20e9f73a81c520a5b9f76f8ed042124883 /src/rtf2html/rtf_tools.h | |
download | tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.tar.gz tellico-e38d2351b83fa65c66ccde443777647ef5cb6cff.zip |
Added KDE3 version of Tellico
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/tellico@1097620 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'src/rtf2html/rtf_tools.h')
-rw-r--r-- | src/rtf2html/rtf_tools.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/rtf2html/rtf_tools.h b/src/rtf2html/rtf_tools.h new file mode 100644 index 0000000..528549e --- /dev/null +++ b/src/rtf2html/rtf_tools.h @@ -0,0 +1,65 @@ +/* This is RTF to HTML converter, implemented as a text filter, generally. + Copyright (C) 2003 Valentin Lavrinenko, [email protected] + + available at http://rtf2html.sf.net + + Original available under the terms of the GNU LGPL2, and according + to those terms, relicensed under the GNU GPL2 for inclusion in Tellico */ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of version 2 of the GNU General Public License as * + * published by the Free Software Foundation; * + * * + ***************************************************************************/ + +#ifndef __RTF_TOOLS_H__ +#define __RTF_TOOLS_H__ + +#include "common.h" +#include "rtf_keyword.h" + +namespace rtf { + +template <class InputIter> +void skip_group(InputIter &iter); + + +/**************************************** +function assumes that file pointer points AFTER the opening brace +and that the group is really closed. cs is caller's curchar. +Returns the character that comes after the enclosing brace. +*****************************************/ + +template <class InputIter> +void skip_group(InputIter &iter) +{ + int cnt=1; + while (cnt) + { + switch (*iter++) + { + case '{': + cnt++; + break; + case '}': + cnt--; + break; + case '\\': + { + rtf_keyword kw(iter); + if (!kw.is_control_char() && kw.keyword()==rtf_keyword::rkw_bin + && kw.parameter()>0) + { + std::advance(iter, kw.parameter()); + } + break; + } + } + } +} + +} + +#endif |