diff options
author | Alejandro Colomar <alx@nginx.com> | 2023-01-10 22:03:40 +0100 |
---|---|---|
committer | Alejandro Colomar <alx@nginx.com> | 2023-03-21 13:02:38 +0100 |
commit | 773c341d70d45a501e6ed4adb0fc6d385423a920 (patch) | |
tree | 5a69edf44d2f0730a33f6229d71daaba733c1a66 /src/nxt_http_route.c | |
parent | c18dd1f65b9eba988bb621a4b540fb6c7bda36c8 (diff) | |
download | unit-773c341d70d45a501e6ed4adb0fc6d385423a920.tar.gz unit-773c341d70d45a501e6ed4adb0fc6d385423a920.tar.bz2 |
HTTP: rewrote while loop as for loop.
This considerably simplifies the function, and will also help log the
iteration in which we are, which corresponds to the route array element.
Link: <https://github.com/nginx/unit/pull/824>
Link: <https://github.com/nginx/unit/pull/839>
Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
Tested-by: Liam Crilly <liam@nginx.com>
Reviewed-by: Zhidao Hong <z.hong@f5.com>
Signed-off-by: Alejandro Colomar <alx@nginx.com>
Diffstat (limited to 'src/nxt_http_route.c')
-rw-r--r-- | src/nxt_http_route.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/src/nxt_http_route.c b/src/nxt_http_route.c index 7081ff7e..a4dd8f4a 100644 --- a/src/nxt_http_route.c +++ b/src/nxt_http_route.c @@ -1540,21 +1540,17 @@ static nxt_http_action_t * nxt_http_route_handler(nxt_task_t *task, nxt_http_request_t *r, nxt_http_action_t *start) { + size_t i; nxt_http_route_t *route; nxt_http_action_t *action; - nxt_http_route_match_t **match, **end; route = start->u.route; - match = &route->match[0]; - end = match + route->items; - while (match < end) { - action = nxt_http_route_match(task, r, *match); + for (i = 0; i < route->items; i++) { + action = nxt_http_route_match(task, r, route->match[i]); if (action != NULL) { return action; } - - match++; } nxt_http_request_error(task, r, NXT_HTTP_NOT_FOUND); |