- if (_src != NULL) {
- media_pvr_s *_dst = (media_pvr_s*)calloc(1, sizeof(media_pvr_s));
- if (_dst == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
-
- if (STRING_VALID(_src->media_id)) {
- _dst->media_id = strdup(_src->media_id);
- if (_dst->media_id == NULL) {
- media_pvr_destroy((media_pvr_h)_dst);
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->channel_name)) {
- _dst->channel_name = strdup(_src->channel_name);
- if (_dst->channel_name == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->channel_num)) {
- _dst->channel_num = strdup(_src->channel_num);
- if (_dst->channel_num == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->program_title)) {
- _dst->program_title = strdup(_src->program_title);
- if (_dst->program_title == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->program_crid)) {
- _dst->program_crid = strdup(_src->program_crid);
- if (_dst->program_crid == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->guidance)) {
- _dst->guidance = strdup(_src->guidance);
- if (_dst->guidance == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->synopsis)) {
- _dst->synopsis = strdup(_src->synopsis);
- if (_dst->synopsis == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->genre)) {
- _dst->genre = strdup(_src->genre);
- if (_dst->genre == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->language)) {
- _dst->language = strdup(_src->language);
- if (_dst->language == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->path)) {
- _dst->path = strdup(_src->path);
- if (_dst->path == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->storage_id)) {
- _dst->storage_id = strdup(_src->storage_id);
- if (_dst->storage_id == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->modified_month)) {
- _dst->modified_month = strdup(_src->modified_month);
- if (_dst->modified_month == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
-
- if (STRING_VALID(_src->private_data)) {
- _dst->private_data = strdup(_src->private_data);
- if (_dst->private_data == NULL) {
- content_error("OUT_OF_MEMORY(0x%08x)", MEDIA_CONTENT_ERROR_OUT_OF_MEMORY);
- media_pvr_destroy((media_pvr_h)_dst);
- return MEDIA_CONTENT_ERROR_OUT_OF_MEMORY;
- }
- }
- _dst->duration = _src->duration;
- _dst->timezone = _src->timezone;
- _dst->ptc = _src->ptc;
- _dst->major = _src->major;
- _dst->minor = _src->minor;
- _dst->channel_type = _src->channel_type;
- _dst->program_num = _src->program_num;
- _dst->service_profile = _src->service_profile;
- _dst->timer_record = _src->timer_record;
- _dst->series_record = _src->series_record;
- _dst->hd = _src->hd;
- _dst->subtitle = _src->subtitle;
- _dst->ttx = _src->ttx;
- _dst->ad = _src->ad;
- _dst->hard_of_hearing_radio = _src->hard_of_hearing_radio;
- _dst->data_service = _src->data_service;
- _dst->content_lock = _src->content_lock;
- _dst->embargo_time = _src->embargo_time;
- _dst->expiry_time = _src->expiry_time;
- _dst->size = _src->size;
- _dst->parental_rating = _src->parental_rating;
- _dst->start_time = _src->start_time;
- _dst->program_start_time = _src->program_start_time;
- _dst->program_end_time = _src->program_end_time;
- _dst->program_date = _src->program_date;
- _dst->content_watch = _src->content_watch;
- _dst->has_audio_only = _src->has_audio_only;
- _dst->is_local_record = _src->is_local_record;
- _dst->resolution = _src->resolution;
- _dst->aspectratio = _src->aspectratio;
- _dst->sports_type = _src->sports_type;
- _dst->guidance_length = _src->guidance_length;
- _dst->tvmode = _src->tvmode;
- _dst->play_count = _src->play_count;
-
- *dst = (media_pvr_h)_dst;
-
- ret = MEDIA_CONTENT_ERROR_NONE;
- } else {
- content_error("INVALID_PARAMETER(0x%08x)", MEDIA_CONTENT_ERROR_INVALID_PARAMETER);
- ret = MEDIA_CONTENT_ERROR_INVALID_PARAMETER;
- }
-
- return ret;
+ content_retip_if_fail(dst);
+ content_retip_if_fail(src);
+
+ media_pvr_s *_dst = g_new0(media_pvr_s, 1);
+
+ _dst->media_id = g_strdup(_src->media_id);
+ _dst->channel_name = g_strdup(_src->channel_name);
+ _dst->channel_num = g_strdup(_src->channel_num);
+ _dst->program_title = g_strdup(_src->program_title);
+ _dst->program_crid = g_strdup(_src->program_crid);
+ _dst->guidance = g_strdup(_src->guidance);
+ _dst->synopsis = g_strdup(_src->synopsis);
+ _dst->genre = g_strdup(_src->genre);
+ _dst->language = g_strdup(_src->language);
+ _dst->path = g_strdup(_src->path);
+ _dst->storage_id = g_strdup(_src->storage_id);
+ _dst->modified_month = g_strdup(_src->modified_month);
+ _dst->private_data = g_strdup(_src->private_data);
+ _dst->duration = _src->duration;
+ _dst->timezone = _src->timezone;
+ _dst->ptc = _src->ptc;
+ _dst->major = _src->major;
+ _dst->minor = _src->minor;
+ _dst->channel_type = _src->channel_type;
+ _dst->program_num = _src->program_num;
+ _dst->service_profile = _src->service_profile;
+ _dst->timer_record = _src->timer_record;
+ _dst->series_record = _src->series_record;
+ _dst->hd = _src->hd;
+ _dst->subtitle = _src->subtitle;
+ _dst->ttx = _src->ttx;
+ _dst->ad = _src->ad;
+ _dst->hard_of_hearing_radio = _src->hard_of_hearing_radio;
+ _dst->data_service = _src->data_service;
+ _dst->content_lock = _src->content_lock;
+ _dst->embargo_time = _src->embargo_time;
+ _dst->expiry_time = _src->expiry_time;
+ _dst->size = _src->size;
+ _dst->parental_rating = _src->parental_rating;
+ _dst->start_time = _src->start_time;
+ _dst->program_start_time = _src->program_start_time;
+ _dst->program_end_time = _src->program_end_time;
+ _dst->program_date = _src->program_date;
+ _dst->content_watch = _src->content_watch;
+ _dst->has_audio_only = _src->has_audio_only;
+ _dst->is_local_record = _src->is_local_record;
+ _dst->resolution = _src->resolution;
+ _dst->aspectratio = _src->aspectratio;
+ _dst->sports_type = _src->sports_type;
+ _dst->guidance_length = _src->guidance_length;
+ _dst->tvmode = _src->tvmode;
+ _dst->play_count = _src->play_count;
+
+ *dst = (media_pvr_h)_dst;
+
+ return MEDIA_CONTENT_ERROR_NONE;