diff --git a/httpp/httpp.c b/httpp/httpp.c index b823046..aeb9346 100644 --- a/httpp/httpp.c +++ b/httpp/httpp.c @@ -268,7 +268,7 @@ char *httpp_getvar(http_parser_t *parser, char *name) return NULL; } -void httpp_destroy(http_parser_t *parser) +void httpp_clear(http_parser_t *parser) { parser->req_type = httpp_req_none; if (parser->uri) @@ -278,6 +278,12 @@ void httpp_destroy(http_parser_t *parser) parser->vars = NULL; } +void httpp_destroy(http_parser_t *parser) +{ + httpp_clear(parser); + free(parser); +} + char *_lowercase(char *str) { long i; diff --git a/httpp/httpp.h b/httpp/httpp.h index a7bddce..7e03f32 100644 --- a/httpp/httpp.h +++ b/httpp/httpp.h @@ -40,6 +40,7 @@ int httpp_parse(http_parser_t *parser, char *http_data, unsigned long len); void httpp_setvar(http_parser_t *parser, char *name, char *value); char *httpp_getvar(http_parser_t *parser, char *name); void httpp_destroy(http_parser_t *parser); +void httpp_clear(http_parser_t *parser); #endif