commit 1cbd9b61a25311d671cbb048d9683f2c5beb49fa from: Omar Polo date: Tue Jan 16 16:25:08 2024 UTC iri: add iri_setport() takes a string because the internals of telescope makes it easier to use if a string. commit - 2db496790ac019028dbd48b34bbd3f6cfce2a2f8 commit + 1cbd9b61a25311d671cbb048d9683f2c5beb49fa blob - 5dd1d612d44d6e1c0a3231ca8610e59090ade425 blob + 327d5ecad35fd917342d01f1144d4a17bf674620 --- iri.c +++ iri.c @@ -711,6 +711,21 @@ iri_human(const struct iri *iri, char *buf, size_t buf } int +iri_setport(struct iri *iri, const char *portstr) +{ + const char *errstr; + int port; + + port = strtonum(portstr, 1, UINT16_MAX, &errstr); + if (errstr) + return (-1); + + snprintf(iri->iri_portstr, sizeof(iri->iri_portstr), "%d", port); + iri->iri_port = port; + return (0); +} + +int iri_setquery(struct iri *iri, const char *p) { ptrdiff_t bufsize; blob - dcb6c2151e2bbfe69ffb5925c192635f8033696b blob + 03ea7a8b0a497bc4ec9b9924db76cda1c03af23c --- iri.h +++ iri.h @@ -41,6 +41,7 @@ struct iri { int iri_parse(const char *, const char *, struct iri *); int iri_unparse(const struct iri *, char *, size_t); int iri_human(const struct iri *, char *, size_t); +int iri_setport(struct iri *, const char *); int iri_setquery(struct iri *, const char *); #endif /* IRI_H */