Delete unreached code and unused function.
[platform/core/multimedia/libmm-streamrecorder.git] / src / mm_streamrecorder_attribute.c
index 9d8fbe3..ce9a771 100644 (file)
@@ -846,9 +846,13 @@ int _mmstreamrecorder_set_attributes(MMHandleType handle, char **err_attr_name,
 {
        MMHandleType attrs = 0;
        int ret = MM_ERROR_NONE;
+       va_list var_args_copy;
 
        mmf_return_val_if_fail(handle, MM_ERROR_STREAMRECORDER_INVALID_ARGUMENT);
 
+       /* copy var_args to keep original var_args */
+       va_copy(var_args_copy, var_args);
+
        attrs = MMF_STREAMRECORDER_ATTRS(handle);
        if (!attrs) {
                _mmstreamrec_dbg_err("handle 0x%x, attrs is NULL, attr name [%s]", handle, attribute_name);
@@ -859,8 +863,11 @@ int _mmstreamrecorder_set_attributes(MMHandleType handle, char **err_attr_name,
 
        _mmstreamrec_dbg_err("__mmstreamrecorder_check_valid_pair handle 0x%x, attr name [%s] , ret = %d", handle, attribute_name, ret);
 
-       if (ret == MM_ERROR_NONE)
-               ret = mm_attrs_set_valist(attrs, err_attr_name, attribute_name, var_args);
+       if (ret == MM_ERROR_NONE) {
+               /* In 64bit environment, unexpected result is returned if var_args is used again. */
+               ret = mm_attrs_set_valist(attrs, err_attr_name, attribute_name, var_args_copy);
+       }
+       va_end(var_args_copy);
 
        _mmstreamrec_dbg_err("mm_attrs_set_valist handle 0x%x, attr name [%s] , ret = %d", handle, attribute_name, ret);
        return ret;