mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +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;
|
||||
http_request_get_header_string(request, &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);
|
||||
if (is_plist) {
|
||||
if (data_is_plist) {
|
||||
int request_datalen;
|
||||
const char *request_data = http_request_get_data(request, &request_datalen);
|
||||
plist_t req_root_node = NULL;
|
||||
plist_from_bin(request_data, request_datalen, &req_root_node);
|
||||
char * plist_xml;
|
||||
uint32_t plist_len;
|
||||
char *plist_xml = NULL;
|
||||
char *stripped_xml = NULL;
|
||||
uint32_t plist_len = 0;
|
||||
plist_to_xml(req_root_node, &plist_xml, &plist_len);
|
||||
plist_xml = utils_strip_data_from_plist_xml(plist_xml);
|
||||
printf("%s", plist_xml);
|
||||
free(plist_xml);
|
||||
printf("plist_len = %u\n", plist_len);
|
||||
stripped_xml = utils_strip_data_from_plist_xml(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);
|
||||
}
|
||||
assert(0);
|
||||
|
||||
Reference in New Issue
Block a user