summaryrefslogtreecommitdiffabout
path: root/include/opkele/tidy.h
authorMichael Krelin <hacker@klever.net>2008-06-25 21:24:53 (UTC)
committer Michael Krelin <hacker@klever.net>2008-06-25 21:24:53 (UTC)
commit2744ea9808c3a6c50f8be78a9a71f6d3b2ba7e00 (patch) (side-by-side diff)
treea9c124efee2b4edbeaeb646f1b94928bdc4e8c4c /include/opkele/tidy.h
parent04aac0e097992df01e17fbbb62a5a7d9682bcea9 (diff)
downloadlibopkele-2744ea9808c3a6c50f8be78a9a71f6d3b2ba7e00.zip
libopkele-2744ea9808c3a6c50f8be78a9a71f6d3b2ba7e00.tar.gz
libopkele-2744ea9808c3a6c50f8be78a9a71f6d3b2ba7e00.tar.bz2
improved detection of htmltidy for debian and co.
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (limited to 'include/opkele/tidy.h') (more/less context) (show whitespace changes)
-rw-r--r--include/opkele/tidy.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/opkele/tidy.h b/include/opkele/tidy.h
index 888e7d4..059656d 100644
--- a/include/opkele/tidy.h
+++ b/include/opkele/tidy.h
@@ -1,54 +1,61 @@
#ifndef __OPKELE_TIDY_H
#define __OPKELE_TIDY_H
#include <cassert>
+#ifdef HAVE_TIDY_H
#include <tidy.h>
#include <buffio.h>
+#elif HAVE_TIDY_TIDY_H
+# include <tidy/tidy.h>
+# include <tidy/buffio.h>
+#else
+# error "Don't know where to look for htmltidy headers"
+#endif
namespace opkele {
namespace util {
class tidy_buf_t {
public:
TidyBuffer _x;
tidy_buf_t() { tidyBufInit(&_x); }
virtual ~tidy_buf_t() throw() {
tidyBufFree(&_x); }
inline operator const TidyBuffer&(void) const { return _x; }
inline operator TidyBuffer&(void) { return _x; }
inline operator const char*(void) const { return (const char*)_x.bp; }
inline operator char*(void) { return (char*)_x.bp; }
inline const char *c_str() const {
return (const char*)_x.bp; }
inline size_t size() const {
return _x.size; }
};
class tidy_doc_t {
public:
TidyDoc _x;
tidy_doc_t() : _x(0) { }
tidy_doc_t(TidyDoc x) : _x(x) { }
virtual ~tidy_doc_t() throw() {
if(_x) tidyRelease(_x); }
tidy_doc_t& operator=(TidyDoc x) {
if(_x) tidyRelease(_x);
_x = x;
return *this;
}
operator const TidyDoc(void) const { return _x; }
operator TidyDoc(void) { return _x; }
inline bool opt_set(TidyOptionId o,bool v) {
assert(_x);
return tidyOptSetBool(_x,o,v?yes:no); }
inline bool opt_set(TidyOptionId o,int v) {
assert(_x);
return tidyOptSetInt(_x,o,v); }