Skip to content

Commit d3cd844

Browse files
committed
update ada to main branch
1 parent 7ade8dd commit d3cd844

File tree

3 files changed

+70
-42
lines changed

3 files changed

+70
-42
lines changed

deps/ada.cpp

Lines changed: 48 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* auto-generated on 2023-05-08 12:41:03 -0400. Do not edit! */
1+
/* auto-generated on 2023-05-09 17:25:59 -0400. Do not edit! */
22
/* begin file src/ada.cpp */
33
#include "ada.h"
44
/* begin file src/checkers.cpp */
@@ -14807,17 +14807,32 @@ struct ada_url_components {
1480714807
uint32_t hash_start;
1480814808
};
1480914809

14810-
ada_url ada_parse(const char* input) noexcept {
14810+
ada_url ada_parse(const char* input, size_t length) noexcept {
1481114811
return new ada::result<ada::url_aggregator>(
14812-
ada::parse<ada::url_aggregator>(input));
14812+
ada::parse<ada::url_aggregator>(std::string_view(input, length)));
1481314813
}
1481414814

14815-
bool ada_can_parse(const char* input, const char* base) noexcept {
14816-
if (base == nullptr) {
14817-
return ada::can_parse(input);
14815+
ada_url ada_parse_with_base(const char* input, size_t input_length,
14816+
const char* base, size_t base_length) noexcept {
14817+
auto base_out =
14818+
ada::parse<ada::url_aggregator>(std::string_view(base, base_length));
14819+
14820+
if (!base_out) {
14821+
return new ada::result<ada::url_aggregator>(base_out);
1481814822
}
14819-
std::string_view sv(base);
14820-
return ada::can_parse(input, &sv);
14823+
14824+
return new ada::result<ada::url_aggregator>(ada::parse<ada::url_aggregator>(
14825+
std::string_view(input, input_length), &base_out.value()));
14826+
}
14827+
14828+
bool ada_can_parse(const char* input, size_t length) noexcept {
14829+
return ada::can_parse(std::string_view(input, length));
14830+
}
14831+
14832+
bool ada_can_parse_with_base(const char* input, size_t input_length,
14833+
const char* base, size_t base_length) noexcept {
14834+
auto base_view = std::string_view(base, base_length);
14835+
return ada::can_parse(std::string_view(input, input_length), &base_view);
1482114836
}
1482214837

1482314838
void ada_free(ada_url result) noexcept {
@@ -14943,81 +14958,86 @@ ada_string ada_get_protocol(ada_url result) noexcept {
1494314958
return ada_string_create(out.data(), out.length());
1494414959
}
1494514960

14946-
bool ada_set_href(ada_url result, const char* input) noexcept {
14961+
bool ada_set_href(ada_url result, const char* input, size_t length) noexcept {
1494714962
ada::result<ada::url_aggregator>& r = get_instance(result);
1494814963
if (!r) {
1494914964
return false;
1495014965
}
14951-
return r->set_href(input);
14966+
return r->set_href(std::string_view(input, length));
1495214967
}
1495314968

14954-
bool ada_set_host(ada_url result, const char* input) noexcept {
14969+
bool ada_set_host(ada_url result, const char* input, size_t length) noexcept {
1495514970
ada::result<ada::url_aggregator>& r = get_instance(result);
1495614971
if (!r) {
1495714972
return false;
1495814973
}
14959-
return r->set_host(input);
14974+
return r->set_host(std::string_view(input, length));
1496014975
}
1496114976

14962-
bool ada_set_hostname(ada_url result, const char* input) noexcept {
14977+
bool ada_set_hostname(ada_url result, const char* input,
14978+
size_t length) noexcept {
1496314979
ada::result<ada::url_aggregator>& r = get_instance(result);
1496414980
if (!r) {
1496514981
return false;
1496614982
}
14967-
return r->set_hostname(input);
14983+
return r->set_hostname(std::string_view(input, length));
1496814984
}
1496914985

14970-
bool ada_set_protocol(ada_url result, const char* input) noexcept {
14986+
bool ada_set_protocol(ada_url result, const char* input,
14987+
size_t length) noexcept {
1497114988
ada::result<ada::url_aggregator>& r = get_instance(result);
1497214989
if (!r) {
1497314990
return false;
1497414991
}
14975-
return r->set_protocol(input);
14992+
return r->set_protocol(std::string_view(input, length));
1497614993
}
1497714994

14978-
bool ada_set_username(ada_url result, const char* input) noexcept {
14995+
bool ada_set_username(ada_url result, const char* input,
14996+
size_t length) noexcept {
1497914997
ada::result<ada::url_aggregator>& r = get_instance(result);
1498014998
if (!r) {
1498114999
return false;
1498215000
}
14983-
return r->set_username(input);
15001+
return r->set_username(std::string_view(input, length));
1498415002
}
1498515003

14986-
bool ada_set_password(ada_url result, const char* input) noexcept {
15004+
bool ada_set_password(ada_url result, const char* input,
15005+
size_t length) noexcept {
1498715006
ada::result<ada::url_aggregator>& r = get_instance(result);
1498815007
if (!r) {
1498915008
return false;
1499015009
}
14991-
return r->set_password(input);
15010+
return r->set_password(std::string_view(input, length));
1499215011
}
1499315012

14994-
bool ada_set_port(ada_url result, const char* input) noexcept {
15013+
bool ada_set_port(ada_url result, const char* input, size_t length) noexcept {
1499515014
ada::result<ada::url_aggregator>& r = get_instance(result);
1499615015
if (!r) {
1499715016
return false;
1499815017
}
14999-
return r->set_port(input);
15018+
return r->set_port(std::string_view(input, length));
1500015019
}
1500115020

15002-
bool ada_set_pathname(ada_url result, const char* input) noexcept {
15021+
bool ada_set_pathname(ada_url result, const char* input,
15022+
size_t length) noexcept {
1500315023
ada::result<ada::url_aggregator>& r = get_instance(result);
1500415024
if (!r) {
1500515025
return false;
1500615026
}
15007-
return r->set_pathname(input);
15027+
return r->set_pathname(std::string_view(input, length));
1500815028
}
1500915029

15010-
void ada_set_search(ada_url result, const char* input) noexcept {
15030+
void ada_set_search(ada_url result, const char* input, size_t length) noexcept {
1501115031
ada::result<ada::url_aggregator>& r = get_instance(result);
1501215032
if (r) {
15013-
r->set_search(input);
15033+
r->set_search(std::string_view(input, length));
1501415034
}
1501515035
}
1501615036

15017-
void ada_set_hash(ada_url result, const char* input) noexcept {
15037+
void ada_set_hash(ada_url result, const char* input, size_t length) noexcept {
1501815038
ada::result<ada::url_aggregator>& r = get_instance(result);
1501915039
if (r) {
15020-
r->set_hash(input);
15040+
r->set_hash(std::string_view(input, length));
1502115041
}
1502215042
}
1502315043

deps/ada.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/* auto-generated on 2023-05-08 12:41:03 -0400. Do not edit! */
1+
/* auto-generated on 2023-05-09 17:25:59 -0400. Do not edit! */
22
/* begin file include/ada.h */
33
/**
44
* @file ada.h

deps/ada_c.h

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@
99
#include <stdint.h>
1010
#include <stddef.h>
1111

12+
// This is a reference to ada::url_components::omitted
13+
// It represents "uint32_t(-1)"
14+
#define ada_url_omitted 0xffffffff
15+
1216
// string that is owned by the ada_url instance
1317
typedef struct {
1418
const char* data;
@@ -36,19 +40,23 @@ typedef void* ada_url;
3640

3741
// input should be a null terminated C string
3842
// you must call ada_free on the returned pointer
39-
ada_url ada_parse(const char* string);
43+
ada_url ada_parse(const char* input, size_t length);
44+
ada_url ada_parse_with_base(const char* input, size_t input_length,
45+
const char* base, size_t base_length);
4046

4147
// input and base should be a null terminated C strings
42-
bool ada_can_parse(const char* input, const char* base);
48+
bool ada_can_parse(const char* input, size_t length);
49+
bool ada_can_parse_with_base(const char* input, size_t input_length,
50+
const char* base, size_t base_length);
4351

4452
void ada_free(ada_url result);
53+
void ada_free_owned_string(ada_owned_string owned);
4554

4655
bool ada_is_valid(ada_url result);
4756

4857
// url_aggregator getters
4958
// if ada_is_valid(result)) is false, an empty string is returned
5059
ada_owned_string ada_get_origin(ada_url result);
51-
void ada_free_owned_string(ada_owned_string owned);
5260
ada_string ada_get_href(ada_url result);
5361
ada_string ada_get_username(ada_url result);
5462
ada_string ada_get_password(ada_url result);
@@ -63,16 +71,16 @@ ada_string ada_get_protocol(ada_url result);
6371
// url_aggregator setters
6472
// if ada_is_valid(result)) is false, the setters have no effect
6573
// input should be a null terminated C string
66-
bool ada_set_href(ada_url result, const char* input);
67-
bool ada_set_host(ada_url result, const char* input);
68-
bool ada_set_hostname(ada_url result, const char* input);
69-
bool ada_set_protocol(ada_url result, const char* input);
70-
bool ada_set_username(ada_url result, const char* input);
71-
bool ada_set_password(ada_url result, const char* input);
72-
bool ada_set_port(ada_url result, const char* input);
73-
bool ada_set_pathname(ada_url result, const char* input);
74-
void ada_set_search(ada_url result, const char* input);
75-
void ada_set_hash(ada_url result, const char* input);
74+
bool ada_set_href(ada_url result, const char* input, size_t length);
75+
bool ada_set_host(ada_url result, const char* input, size_t length);
76+
bool ada_set_hostname(ada_url result, const char* input, size_t length);
77+
bool ada_set_protocol(ada_url result, const char* input, size_t length);
78+
bool ada_set_username(ada_url result, const char* input, size_t length);
79+
bool ada_set_password(ada_url result, const char* input, size_t length);
80+
bool ada_set_port(ada_url result, const char* input, size_t length);
81+
bool ada_set_pathname(ada_url result, const char* input, size_t length);
82+
void ada_set_search(ada_url result, const char* input, size_t length);
83+
void ada_set_hash(ada_url result, const char* input, size_t length);
7684

7785
// url_aggregator functions
7886
// if ada_is_valid(result) is false, functions below will return false

0 commit comments

Comments
 (0)