This makes its behavior consistent with other APIs in Dovecot.
struct http_server_connection *conn = req->conn;
i_assert(req->refcount > 0);
+
+ *_req = NULL;
if (--req->refcount > 0)
return TRUE;
if (req->response != NULL)
http_server_response_free(req->response);
pool_unref(&req->pool);
- *_req = NULL;
return FALSE;
}
ret = hsristream->read_status;
- http_server_request_unref(&req);
- if (req == NULL)
+ if (!http_server_request_unref(&req))
hsristream->req = NULL;
http_server_connection_unref(&conn);
}
/* callback may have messed with our pointer,
so unref using local variable */
- http_server_request_unref(&req);
- if (req == NULL)
+ if (!http_server_request_unref(&req))
*_resp = NULL;
http_server_connection_unref(&conn);