Skip to content

Commit 23f3197

Browse files
committed
Fix review comments
1 parent 09efcdd commit 23f3197

File tree

1 file changed

+25
-33
lines changed

1 file changed

+25
-33
lines changed

ext/uri/php_uriparser.c

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -28,31 +28,24 @@ static inline size_t get_text_range_length(const UriTextRangeA *range)
2828
return range->afterLast - range->first;
2929
}
3030

31-
static void uriparser_copy_uri(UriUriA *new_uriparser_uri, UriUriA *uriparser_uri)
31+
ZEND_ATTRIBUTE_NONNULL static void uriparser_copy_uri(UriUriA *new_uriparser_uri, UriUriA *uriparser_uri)
3232
{
33-
ZEND_ASSERT(new_uriparser_uri != NULL && uriparser_uri != NULL);
34-
3533
int result = uriCopyUriA(new_uriparser_uri, uriparser_uri);
36-
ZEND_ASSERT(result == URI_SUCCESS && new_uriparser_uri != NULL);
37-
}
38-
39-
static void uriparser_normalize_uri(UriUriA *uriparser_uri)
40-
{
41-
int result = uriNormalizeSyntaxExA(uriparser_uri, (unsigned int)-1);
4234
ZEND_ASSERT(result == URI_SUCCESS);
4335
}
4436

45-
static UriUriA *get_normalized_uri(uriparser_uris_t *uriparser_uris) {
37+
ZEND_ATTRIBUTE_NONNULL static UriUriA *get_normalized_uri(uriparser_uris_t *uriparser_uris) {
4638
if (!uriparser_uris->normalized_uri_initialized) {
4739
uriparser_copy_uri(&uriparser_uris->normalized_uri, &uriparser_uris->uri);
48-
uriparser_normalize_uri(&uriparser_uris->normalized_uri);
40+
int result = uriNormalizeSyntaxExA(&uriparser_uris->normalized_uri, (unsigned int)-1);
41+
ZEND_ASSERT(result == URI_SUCCESS);
4942
uriparser_uris->normalized_uri_initialized = true;
5043
}
5144

5245
return &uriparser_uris->normalized_uri;
5346
}
5447

55-
static UriUriA *uriparser_read_uri(uriparser_uris_t *uriparser_uris, uri_component_read_mode_t read_mode)
48+
ZEND_ATTRIBUTE_NONNULL static UriUriA *uriparser_read_uri(uriparser_uris_t *uriparser_uris, uri_component_read_mode_t read_mode)
5649
{
5750
switch (read_mode) {
5851
case URI_COMPONENT_READ_RAW:
@@ -65,7 +58,7 @@ static UriUriA *uriparser_read_uri(uriparser_uris_t *uriparser_uris, uri_compone
6558
}
6659
}
6760

68-
static zend_result uriparser_read_scheme(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
61+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_scheme(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
6962
{
7063
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
7164
ZEND_ASSERT(uriparser_uri != NULL);
@@ -80,7 +73,7 @@ static zend_result uriparser_read_scheme(const uri_internal_t *internal_uri, uri
8073
return SUCCESS;
8174
}
8275

83-
zend_result uriparser_read_userinfo(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
76+
ZEND_ATTRIBUTE_NONNULL zend_result uriparser_read_userinfo(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
8477
{
8578
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
8679
ZEND_ASSERT(uriparser_uri != NULL);
@@ -94,7 +87,7 @@ zend_result uriparser_read_userinfo(const uri_internal_t *internal_uri, uri_comp
9487
return SUCCESS;
9588
}
9689

97-
static zend_result uriparser_read_username(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
90+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_username(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
9891
{
9992
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
10093
ZEND_ASSERT(uriparser_uri != NULL);
@@ -117,7 +110,7 @@ static zend_result uriparser_read_username(const uri_internal_t *internal_uri, u
117110
return SUCCESS;
118111
}
119112

120-
static zend_result uriparser_read_password(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
113+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_password(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
121114
{
122115
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
123116
ZEND_ASSERT(uriparser_uri != NULL);
@@ -137,7 +130,7 @@ static zend_result uriparser_read_password(const uri_internal_t *internal_uri, u
137130
return SUCCESS;
138131
}
139132

140-
static zend_result uriparser_read_host(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
133+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_host(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
141134
{
142135
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
143136
ZEND_ASSERT(uriparser_uri != NULL);
@@ -162,18 +155,18 @@ static zend_result uriparser_read_host(const uri_internal_t *internal_uri, uri_c
162155
return SUCCESS;
163156
}
164157

165-
static size_t str_to_int(const char *str, size_t len)
158+
ZEND_ATTRIBUTE_NONNULL static size_t str_to_int(const char *str, size_t len)
166159
{
167160
int result = 0;
168161

169-
for (int i = 0; i < len; ++i) {
162+
for (size_t i = 0; i < len; ++i) {
170163
result = result * 10 + (str[i] - '0');
171164
}
172165

173166
return result;
174167
}
175168

176-
static zend_result uriparser_read_port(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
169+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_port(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
177170
{
178171
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
179172
ZEND_ASSERT(uriparser_uri != NULL);
@@ -187,24 +180,23 @@ static zend_result uriparser_read_port(const uri_internal_t *internal_uri, uri_c
187180
return SUCCESS;
188181
}
189182

190-
static zend_result uriparser_read_path(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
183+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_path(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
191184
{
192185
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
193186
ZEND_ASSERT(uriparser_uri != NULL);
194187

195188
if (uriparser_uri->pathHead != NULL) {
196-
const UriPathSegmentA *p;
197189
smart_str str = {0};
198190

199191
if (uriparser_uri->absolutePath || uriHasHostA(uriparser_uri)) {
200192
smart_str_appendc(&str, '/');
201193
}
202194

203-
smart_str_appendl(&str, uriparser_uri->pathHead->text.first, get_text_range_length(&uriparser_uri->pathHead->text));
204-
205-
for (p = uriparser_uri->pathHead->next; p != NULL; p = p->next) {
206-
smart_str_appendc(&str, '/');
195+
for (const UriPathSegmentA *p = uriparser_uri->pathHead; p; p = p->next) {
207196
smart_str_appendl(&str, p->text.first, get_text_range_length(&p->text));
197+
if (p->next) {
198+
smart_str_appendc(&str, '/');
199+
}
208200
}
209201

210202
ZVAL_NEW_STR(retval, smart_str_extract(&str));
@@ -217,7 +209,7 @@ static zend_result uriparser_read_path(const uri_internal_t *internal_uri, uri_c
217209
return SUCCESS;
218210
}
219211

220-
static zend_result uriparser_read_query(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
212+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_query(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
221213
{
222214
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
223215
ZEND_ASSERT(uriparser_uri != NULL);
@@ -231,7 +223,7 @@ static zend_result uriparser_read_query(const uri_internal_t *internal_uri, uri_
231223
return SUCCESS;
232224
}
233225

234-
static zend_result uriparser_read_fragment(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
226+
ZEND_ATTRIBUTE_NONNULL static zend_result uriparser_read_fragment(const uri_internal_t *internal_uri, uri_component_read_mode_t read_mode, zval *retval)
235227
{
236228
UriUriA *uriparser_uri = uriparser_read_uri(internal_uri->uri, read_mode);
237229
ZEND_ASSERT(uriparser_uri != NULL);
@@ -345,11 +337,11 @@ void *uriparser_parse_uri(const zend_string *uri_str, const void *base_url, zval
345337
return uriparser_parse_uri_ex(uri_str, base_url, silent);
346338
}
347339

348-
/* TODO make the clone handler accept a flag to distingish between clone() calls and withers.
340+
/* TODO make the clone handler accept a flag to distinguish between clone() calls and withers.
349341
* When calling a wither successfully, the normalized URI is surely invalidated, therefore
350-
* it doesn't make sense to copy it. In case of failure, an exeption is thrown, and the URI object
342+
* it doesn't make sense to copy it. In case of failure, an exception is thrown, and the URI object
351343
* is discarded altogether. */
352-
static void *uriparser_clone_uri(void *uri)
344+
ZEND_ATTRIBUTE_NONNULL static void *uriparser_clone_uri(void *uri)
353345
{
354346
uriparser_uris_t *uriparser_uris = uri;
355347

@@ -363,7 +355,7 @@ static void *uriparser_clone_uri(void *uri)
363355
return new_uriparser_uris;
364356
}
365357

366-
static zend_string *uriparser_uri_to_string(void *uri, uri_recomposition_mode_t recomposition_mode, bool exclude_fragment)
358+
ZEND_ATTRIBUTE_NONNULL static zend_string *uriparser_uri_to_string(void *uri, uri_recomposition_mode_t recomposition_mode, bool exclude_fragment)
367359
{
368360
uriparser_uris_t *uriparser_uris = uri;
369361
UriUriA *uriparser_uri;
@@ -394,7 +386,7 @@ static zend_string *uriparser_uri_to_string(void *uri, uri_recomposition_mode_t
394386
return uri_string;
395387
}
396388

397-
static void uriparser_free_uri(void *uri)
389+
ZEND_ATTRIBUTE_NONNULL static void uriparser_free_uri(void *uri)
398390
{
399391
uriparser_uris_t *uriparser_uris = uri;
400392

0 commit comments

Comments
 (0)