summaryrefslogtreecommitdiffabout
path: root/include/opkele/tidy.h
Side-by-side diff
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); }