Changeset 3bacee1 in mainline for uspace/lib/uri
- Timestamp:
- 2018-04-12T16:27:17Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 3cf22f9
- Parents:
- 76d0981d
- git-author:
- Jiri Svoboda <jiri@…> (2018-04-11 19:25:33)
- git-committer:
- Jiri Svoboda <jiri@…> (2018-04-12 16:27:17)
- Location:
- uspace/lib/uri
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/uri/test/parser.c
r76d0981d r3bacee1 74 74 PCUT_TEST_SUITE(uri_parse); 75 75 76 PCUT_TEST_BEFORE { 76 PCUT_TEST_BEFORE 77 { 77 78 parsed_uri = NULL; 78 79 expected_uri.scheme = NULL; … … 86 87 } 87 88 88 PCUT_TEST_AFTER { 89 PCUT_TEST_AFTER 90 { 89 91 if (parsed_uri != NULL) { 90 92 uri_destroy(parsed_uri); … … 93 95 } 94 96 95 PCUT_TEST(only_hostname) { 97 PCUT_TEST(only_hostname) 98 { 96 99 expected_uri.scheme = "http"; 97 100 expected_uri.host = "localhost"; … … 100 103 } 101 104 102 PCUT_TEST(hostname_with_user) { 105 PCUT_TEST(hostname_with_user) 106 { 103 107 expected_uri.scheme = "http"; 104 108 expected_uri.host = "localhost"; … … 108 112 } 109 113 110 PCUT_TEST(hostname_with_user_and_password) { 114 PCUT_TEST(hostname_with_user_and_password) 115 { 111 116 expected_uri.scheme = "https"; 112 117 expected_uri.host = "localhost"; … … 117 122 } 118 123 119 PCUT_TEST(path_specification) { 124 PCUT_TEST(path_specification) 125 { 120 126 expected_uri.scheme = "http"; 121 127 expected_uri.host = "localhost"; … … 125 131 } 126 132 127 PCUT_TEST(with_fragment) { 133 PCUT_TEST(with_fragment) 134 { 128 135 expected_uri.scheme = "http"; 129 136 expected_uri.host = "localhost"; -
uspace/lib/uri/uri.c
r76d0981d r3bacee1 59 59 /* scheme ":" */ 60 60 const char *scheme = str; 61 while (*str != 0 && *str != ':') str++; 61 while (*str != 0 && *str != ':') 62 str++; 62 63 if (*str == 0) { 63 64 uri_destroy(uri); … … 78 79 char *port_or_user_credential = NULL; 79 80 80 while (*str != 0 && *str != '?' && *str != '#' && *str != '@' 81 &&*str != ':' && *str != '/')81 while (*str != 0 && *str != '?' && *str != '#' && *str != '@' && 82 *str != ':' && *str != '/') 82 83 str++; 83 84 … … 87 88 const char *second_part = str; 88 89 while (*str != 0 && *str != '?' && *str != '#' && 89 *str != '@' && *str != '/') str++; 90 *str != '@' && *str != '/') 91 str++; 90 92 port_or_user_credential = cut_str(second_part, str); 91 93 } … … 97 99 str++; 98 100 const char *host_start = str; 99 while (*str != 0 && *str != '?' && *str != '#' 100 && *str != ':' && *str != '/') str++; 101 while (*str != 0 && *str != '?' && *str != '#' && 102 *str != ':' && *str != '/') 103 str++; 101 104 uri->host = cut_str(host_start, str); 102 105 … … 108 111 uri->port = cut_str(port_start, str); 109 112 } 110 } 111 else { 113 } else { 112 114 uri->host = host_or_user_info; 113 115 uri->port = port_or_user_credential; … … 116 118 117 119 const char *path_start = str; 118 while (*str != 0 && *str != '?' && *str != '#') str++; 120 while (*str != 0 && *str != '?' && *str != '#') 121 str++; 119 122 uri->path = cut_str(path_start, str); 120 123 … … 122 125 str++; 123 126 const char *query_start = str; 124 while (*str != 0 && *str != '#') str++; 127 while (*str != 0 && *str != '#') 128 str++; 125 129 uri->query = cut_str(query_start, str); 126 130 } … … 129 133 str++; 130 134 const char *fragment_start = str; 131 while (*str != 0) str++; 135 while (*str != 0) 136 str++; 132 137 uri->fragment = cut_str(fragment_start, str); 133 138 } … … 198 203 { 199 204 while (*str != 0) { 200 while (is_unreserved(*str) || is_subdelim(*str) || *str == ':') str++; 205 while (is_unreserved(*str) || is_subdelim(*str) || *str == ':') 206 str++; 201 207 if (*str == 0) 202 208 break; … … 226 232 if (!isdigit(*str)) 227 233 return EINVAL; 228 while (isdigit(*str)) str++; 234 while (isdigit(*str)) 235 str++; 229 236 *endptr = str; 230 237 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.