diff options
Diffstat (limited to 'sqwebmail/testhtml.c')
| -rw-r--r-- | sqwebmail/testhtml.c | 46 | 
1 files changed, 46 insertions, 0 deletions
| diff --git a/sqwebmail/testhtml.c b/sqwebmail/testhtml.c new file mode 100644 index 0000000..aa7572f --- /dev/null +++ b/sqwebmail/testhtml.c @@ -0,0 +1,46 @@ +#include "html.h" + +#include <stdio.h> +#include <string.h> + +static void write_stdout(const unicode_char *uc, size_t n, void *dummy) +{ +	while (n) +	{ +		putchar(*uc++); +		--n; +	} +} + +static char *cid_func(const char *cid, void *dummy) +{ +	return strdup(cid); +} + +int main(int argc, char **argv) +{ +	struct htmlfilter_info *p; +	char buf[1024]; +	unicode_char ubuf[1024]; +	size_t n; + +	p=htmlfilter_alloc(write_stdout, NULL); + +	htmlfilter_set_http_prefix(p, "http://redirect?"); +	htmlfilter_set_mailto_prefix(p, "http://mailto?"); +	htmlfilter_set_convertcid(p, cid_func, NULL); + +	while (fgets(buf, sizeof(buf), stdin) != NULL) +	{ +		size_t i; + +		n=strlen(buf); + +		for (i=0; i<n; i++) +			ubuf[i]=buf[i]; + +		htmlfilter(p, ubuf, i); +	} +	htmlfilter_free(p); +	return 0; +} | 
