char *str;
gchar *value;
+ if (!session->result.last_key)
+ return;
+
str = session->current_header->str;
if (str[0] != ' ' && str[0] != '\t')
session->addr->ai_addrlen) < 0) {
if (errno != EINPROGRESS) {
debug(session->web, "connect() %s", strerror(errno));
- close(sk);
return -EIO;
}
}
addr = NULL;
result = getaddrinfo(host, NULL, &hints, &addr);
- freeaddrinfo(addr);
+ if(!result)
+ freeaddrinfo(addr);
return result == 0;
}
g_free(session->address);
session->address = g_strdup(host);
}
- session->address_action = g_timeout_add(0, already_resolved,
- session);
+ session->address_action = g_idle_add(already_resolved, session);
} else {
session->resolv_action = g_resolv_lookup_hostname(web->resolv,
host, resolv_result, session);
{
GWebParser *parser;
+ if (!begin || !end)
+ return NULL;
+
parser = g_try_new0(GWebParser, 1);
if (!parser)
return NULL;
parser->begin_token = g_strdup(begin);
parser->end_token = g_strdup(end);
-
- if (!parser->begin_token) {
- g_free(parser);
- return NULL;
- }
-
parser->func = func;
parser->user_data = user_data;