%module "HTML::Tidy"
%{
#include "tidyx.h"
%}
%ignore Source;
%ignore Sink;
%ignore ParseBuffer;
%ignore ParseSource;
%ignore SaveSink;
%rename (SaveString) SaveBuffer;
%typemap(perl5, ignore) Tidy::Buffer& outbuf %{
Tidy::Buffer tmpbuf;
$1 = &tmpbuf;
%}
%typemap(perl5, argout) Tidy::Buffer& outbuf %{
if ( result >= 0 )
{
if ( tmpbuf.Size() == 0 )
{
warn( "Empty Tidy document" );
}
else
{
if ( argvi >= items ) {
EXTEND(sp,1);
}
ST(argvi) = sv_newmortal();
sv_setpvn( ST(argvi), (const char*) tmpbuf.Data(), tmpbuf.Size() );
argvi++;
}
}
%}
%import platform.h
%include tidyenum.h
%include tidyx.h