Ejemplo n.º 1
0
Archivo: curi.c Proyecto: Deanzou/DLNA
void cg_net_uri_rebuild(CgNetURI *uri)
{
	char portStr[32];
	char *path;
	
	cg_log_debug_l4("Entering...\n");

	cg_string_setvalue(uri->uri, cg_net_uri_getprotocol(uri));
	cg_string_addvalue(uri->uri, CG_NET_URI_PROTOCOL_DELIM);
	cg_string_addvalue(uri->uri, cg_net_uri_gethost(uri));
	cg_string_addvalue(uri->uri, CG_NET_URI_COLON_DELIM);
	cg_string_addvalue(uri->uri, cg_int2str(cg_net_uri_getport(uri), portStr, sizeof(portStr)));
	if (0 < cg_strlen(cg_net_uri_getpath(uri))) {
		path = cg_net_uri_getpath(uri);
		if (path[0] != '/')
			cg_string_addvalue(uri->uri, CG_NET_URI_SLASH_DELIM);
		cg_string_addvalue(uri->uri, cg_net_uri_getpath(uri));
		if (cg_strchr(cg_net_uri_getpath(uri), "?", 1) == -1 && 0 < cg_strlen(cg_net_uri_getquery(uri))) {
			cg_string_addvalue(uri->uri, CG_NET_URI_QUESTION_DELIM);
			cg_string_addvalue(uri->uri, cg_net_uri_getquery(uri));
		}
	}
	
	cg_log_debug_l4("Leaving...\n");
}
Ejemplo n.º 2
0
BOOL cg_net_isipv6address(const char *addr)
{
    cg_log_debug_l4("Entering...\n");

    if (addr == NULL)
        return FALSE;
    if (0 < cg_strchr(addr, ":", 1))
        return TRUE;
    return FALSE;

    cg_log_debug_l4("Leaving...\n");
}
Ejemplo n.º 3
0
int cg_upnp_ssdp_getleasetime(char *cacheCnt)
{
	int eqIdx;

	cg_log_debug_l4("Entering...\n");

	if (cacheCnt == NULL)
		return 0;
	eqIdx = cg_strchr(cacheCnt, "=", 1);
	if (eqIdx < 0)
		return 0;
	return atoi((cacheCnt + eqIdx + 1));

	cg_log_debug_l4("Leaving...\n");
}
Ejemplo n.º 4
0
int cg_net_getipv6scopeid(const char *addr)
{
    size_t addrLen;
    ssize_t perIdx;
    char scopeIDBuf[8+1];

    cg_log_debug_l4("Entering...\n");

    if (cg_net_isipv6address(addr) == FALSE)
        return 0;
    addrLen = cg_strlen(addr);
    perIdx = cg_strchr(addr, "%", 1);
    if (perIdx < 0)
        return 0;
    cg_strncpy(scopeIDBuf, (addr+perIdx+1), sizeof(scopeIDBuf)-1);
    scopeIDBuf[sizeof(scopeIDBuf)-1] = '\0';

    cg_log_debug_l4("Leaving...\n");

    return atoi(scopeIDBuf);
}