summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@nginx.com>2023-01-10 22:03:40 +0100
committerAlejandro Colomar <alx@nginx.com>2023-03-21 13:02:38 +0100
commit773c341d70d45a501e6ed4adb0fc6d385423a920 (patch)
tree5a69edf44d2f0730a33f6229d71daaba733c1a66
parentc18dd1f65b9eba988bb621a4b540fb6c7bda36c8 (diff)
downloadunit-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>
-rw-r--r--src/nxt_http_route.c10
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);