From cf22b1adbbe2e1de5073dcf44b7667a9665a20bf Mon Sep 17 00:00:00 2001 From: Aki Date: Sat, 15 Aug 2020 15:50:16 +0200 Subject: Added PROCEED_TO macro --- request.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/request.c b/request.c index 3e67ff8..6039f56 100644 --- a/request.c +++ b/request.c @@ -155,12 +155,17 @@ static int read_rest_of_line(struct request * request) return 0; } +#define PROCEED_TO(_x) \ + request->temp.start = 0; \ + request->temp.length = 0; \ + request->step = _x; \ + return _x(request) + /// Parses method field of the request. /// \param request Request to process /// \return -1 if an error has occured, 0 if too little data available or total number of bytes processed int parse_step_method(struct request * request) { - request->temp.start = 0; // TODO: Consider reworking read_* functions to be more aware of word boundaries. request->temp.length = read_until_char(request, ' '); @@ -171,8 +176,7 @@ int parse_step_method(struct request * request) lua_pushlstring(request->lua, request->data + request->temp.start, request->temp.length); - request->step = parse_step_path; - return parse_step_path(request); + PROCEED_TO(parse_step_path); } /// Parses path field of the request. -- cgit v1.1