PCS_API char *pcs_http_build_url(PcsHttp handle, const char *url, ...) { char *res; va_list args; va_start(args, url); res = pcs_http_build_url_v(handle, url, args); va_end(args); return res; }
/*pcs_build_pan_api_url()的矢量模式*/ static char *pcs_build_pan_api_url_v(Pcs handle, const char *action, va_list args) { struct pcs *pcs = (struct pcs *)handle; char *baseurl, *url, *tt; tt = pcs_utils_sprintf("%d", (int)time(0)); baseurl = (char *)alloca(strlen(URL_PAN_API) + strlen(action) + 1); strcpy(baseurl, URL_PAN_API); strcat(baseurl, action); baseurl = pcs_http_build_url(pcs->http, baseurl, "channel", "chunlei", "clienttype", "0", "web","1", "t", tt, "bdstoken", pcs->bdstoken, NULL); pcs_free(tt); if (!baseurl) return NULL; url = pcs_http_build_url_v(pcs->http, baseurl, args); pcs_free(baseurl); return url; }