url-parser.c

Git mirror of http://draft.scyphus.co.jp/lang/c/url_parser.html
git clone git://git.finwo.net/lib/url-parser.c
Log | Files | Refs

commit bc4c4716d153dfc31e3ace78cb37a31efa87dd60
parent 1f5033a2f83a21b4a90f310acf0e442995656145
Author: finwo <finwo@pm.me>
Date:   Mon,  7 Aug 2023 22:13:38 +0200

Fixed 2011 rename from http_parsed_url to non-http-specific

Diffstat:
Msrc/url-parser.c | 41+++++++++++++++--------------------------
1 file changed, 15 insertions(+), 26 deletions(-)

diff --git a/src/url-parser.c b/src/url-parser.c @@ -41,7 +41,7 @@ parse_url(const char *url) int bracket_flag; /* Allocate the parsed url storage */ - purl = malloc(sizeof(struct http_parsed_url)); + purl = malloc(sizeof(struct parsed_url)); if ( NULL == purl ) { return NULL; } @@ -65,7 +65,7 @@ parse_url(const char *url) tmpstr = strchr(curstr, ':'); if ( NULL == tmpstr ) { /* Not found the character */ - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } /* Get the scheme length */ @@ -74,14 +74,14 @@ parse_url(const char *url) for ( i = 0; i < len; i++ ) { if ( !_is_scheme_char(curstr[i]) ) { /* Invalid format */ - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } } /* Copy the scheme to the storage */ purl->scheme = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->scheme ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->scheme, curstr, len); @@ -101,7 +101,7 @@ parse_url(const char *url) /* Eat "//" */ for ( i = 0; i < 2; i++ ) { if ( '/' != *curstr ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } curstr++; @@ -133,7 +133,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->username = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->username ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->username, curstr, len); @@ -151,7 +151,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->password = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->password ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->password, curstr, len); @@ -160,7 +160,7 @@ parse_url(const char *url) } /* Skip '@' */ if ( '@' != *curstr ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } curstr++; @@ -187,7 +187,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->host = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->host || len <= 0 ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->host, curstr, len); @@ -205,7 +205,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->port = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->port ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->port, curstr, len); @@ -220,7 +220,7 @@ parse_url(const char *url) /* Skip '/' */ if ( '/' != *curstr ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } curstr++; @@ -233,7 +233,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->path = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->path ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->path, curstr, len); @@ -252,7 +252,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->query = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->query ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->query, curstr, len); @@ -272,7 +272,7 @@ parse_url(const char *url) len = tmpstr - curstr; purl->fragment = malloc(sizeof(char) * (len + 1)); if ( NULL == purl->fragment ) { - http_parsed_url_free(purl); + parsed_url_free(purl); return NULL; } (void)strncpy(purl->fragment, curstr, len); @@ -286,9 +286,7 @@ parse_url(const char *url) /* * Free memory of parsed url */ -void -parsed_url_free(struct parsed_url *purl) -{ +void parsed_url_free(struct parsed_url *purl) { if ( NULL != purl ) { if ( NULL != purl->scheme ) { free(purl->scheme); @@ -317,12 +315,3 @@ parsed_url_free(struct parsed_url *purl) free(purl); } } - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim600: sw=4 ts=4 fdm=marker - * vim<600: sw=4 ts=4 - */