URI parsing example.
URI parsing example
if (argc < 3) {
fprintf(stderr, "Missing arguments\n");
return EXIT_FAILURE;
}
fprintf(stderr,
"%s", status.
message);
goto err_exit;
}
if (strcmp(uri.
scheme, argv[2]) != 0) {
fprintf(stderr,
"Expected scheme '%s' does not match returned one '%s'\n", argv[2], uri.
scheme);
goto err_exit;
}
if (strcmp(uri.
host, argv[3]) != 0) {
fprintf(
stderr,
"Expected host '%s' does not match returned one '%s'\n", argv[3], uri.
host);
goto err_exit;
}
if (uri.
port != atoi(argv[4])) {
fprintf(
stderr,
"Expected port '%s' does not match returned one '%d'\n", argv[2], uri.
port);
goto err_exit;
}
if (strcmp(uri.
path, argv[5]) != 0) {
fprintf(
stderr,
"Expected path '%s' does not match returned one '%s'\n", argv[5], uri.
path);
goto err_exit;
}
return EXIT_SUCCESS;
err_exit:
return EXIT_FAILURE;
}
int main(
int argc,
char **argv) {
}
int main(int argc, char **argv)
Definition: gru_list_test.c:198
gru_export gru_status_t gru_status_new()
Copyright 2016 Otavio Rodolfo Piske.
Definition: gru_status.c:18
bool gru_status_error(const gru_status_t *status)
Checks for error status.
Definition: gru_status.c:83
gru_export gru_uri_t gru_uri_parse_ex(const char *gru_restrict url, gru_uri_parse_opt_t parseopt, gru_status_t *gru_restrict status)
URI parser with additional options.
Definition: gru_uri.c:183
void gru_uri_cleanup(gru_uri_t *uri)
Cleans up a URI object.
Definition: gru_uri.c:380
@ GRU_URI_PARSE_STRIP
Definition: gru_uri.h:49
int test_with_strip(int argc, char **argv)
Copyright 2016 Otavio Rodolfo Piske.
Definition: gru_uri_test_opt.c:23
Status type.
Definition: gru_status.h:47
char * message
Definition: gru_status.h:48
char * host
Definition: gru_uri.h:62
uint16_t port
Definition: gru_uri.h:64
char * path
Definition: gru_uri.h:63
char * scheme
Definition: gru_uri.h:61