#ifndef HOUDINI_H__ #define HOUDINI_H__ #include "buffer.h" #ifdef __cplusplus extern "C" { #endif #ifdef HOUDINI_USE_LOCALE # define _isxdigit( c ) isxdigit( c ) # define _isdigit( c ) isdigit( c ) #else /* * Helper _isdigit methods -- do not trust the current locale * */ # define _isxdigit( c ) (strchr( "0123456789ABCDEFabcdef", (c) ) != NULL) # define _isdigit( c ) ( (c) >= '0' && (c) <= '9' ) #endif extern void houdini_escape_html( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_escape_html0( struct buf* ob, const uint8_t* src, size_t size, int secure ); extern void houdini_unescape_html( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_escape_xml( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_escape_uri( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_escape_url( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_escape_href( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_unescape_uri( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_unescape_url( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_escape_js( struct buf* ob, const uint8_t* src, size_t size ); extern void houdini_unescape_js( struct buf* ob, const uint8_t* src, size_t size ); #ifdef __cplusplus } #endif #endif