mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-15 00:34:05 +09:00
possible fix for failure to print a plist
This commit is contained in:
@@ -447,19 +447,30 @@ http_handler_action(raop_conn_t *conn, http_request_t *request, http_response_t
|
|||||||
char *header_str = NULL;
|
char *header_str = NULL;
|
||||||
http_request_get_header_string(request, &header_str);
|
http_request_get_header_string(request, &header_str);
|
||||||
printf("\n\n%s\n", header_str);
|
printf("\n\n%s\n", header_str);
|
||||||
bool is_plist = (bool) strstr(header_str,"apple-binary-plist");
|
bool data_is_plist = (strstr(header_str,"apple-binary-plist") != NULL);
|
||||||
free(header_str);
|
free(header_str);
|
||||||
if (is_plist) {
|
if (data_is_plist) {
|
||||||
int request_datalen;
|
int request_datalen;
|
||||||
const char *request_data = http_request_get_data(request, &request_datalen);
|
const char *request_data = http_request_get_data(request, &request_datalen);
|
||||||
plist_t req_root_node = NULL;
|
plist_t req_root_node = NULL;
|
||||||
plist_from_bin(request_data, request_datalen, &req_root_node);
|
plist_from_bin(request_data, request_datalen, &req_root_node);
|
||||||
char * plist_xml;
|
char *plist_xml = NULL;
|
||||||
uint32_t plist_len;
|
char *stripped_xml = NULL;
|
||||||
|
uint32_t plist_len = 0;
|
||||||
plist_to_xml(req_root_node, &plist_xml, &plist_len);
|
plist_to_xml(req_root_node, &plist_xml, &plist_len);
|
||||||
plist_xml = utils_strip_data_from_plist_xml(plist_xml);
|
printf("plist_len = %u\n", plist_len);
|
||||||
printf("%s", plist_xml);
|
stripped_xml = utils_strip_data_from_plist_xml(plist_xml);
|
||||||
free(plist_xml);
|
printf("%s", stripped_xml ? stripped_xml : plist_xml);
|
||||||
|
if (stripped_xml) {
|
||||||
|
free(stripped_xml);
|
||||||
|
}
|
||||||
|
if (plist_xml) {
|
||||||
|
#ifdef PLIST_230
|
||||||
|
plist_mem_free(plist_xml);
|
||||||
|
#else
|
||||||
|
plist_to_xml_free(plist_xml);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
plist_free(req_root_node);
|
plist_free(req_root_node);
|
||||||
}
|
}
|
||||||
assert(0);
|
assert(0);
|
||||||
|
|||||||
Reference in New Issue
Block a user