Skip to content

Commit

Permalink
Fix C/C++ compiler generated warnings
Browse files Browse the repository at this point in the history
 * Remove unused functions: -Wno-unused-function
 * Fix logical operations that are missing parentheses:
   -Wno-logical-not-parentheses, -Wno-parentheses
 * Add missing braces in initializers: -Wno-missing-braces
 * Remove unused variables: -Wno-unused-variable
 * Fix printf()-like formatting issues: -Wno-format
 * Avoid using unitialized variables:
   -Wno-maybe-uninitialized, -Wno-uninitialized
 * Fix a bug inside bta_gattc_get_gatt_db_impl()
   when the processed GATT DB attribute type is unknown.
 * Fix warnings about missing field initializers:
   -Wno-missing-field-initializers
 * Re-implement macro COMPILE_ASSERT(COND) to fix a compilation warning:
   -Wno-non-literal-null-conversion
 * Fix sign mismatch comparison warnings:
   -Wno-sign-compare
 * Fix warnings related to enum conversion:
   -Wno-enum-conversion
 * Fix warnings related to incompatible pointer types:
   -Wno-incompatible-pointer-types
 * Fix warnings related to enum conversion:
   -Wno-enum-conversion

Bug: 26879229
Change-Id: I522931fe156aeab23ae841051a9e25ceab00b1c2
  • Loading branch information
Pavlin Radoslavov authored and Andre Eisenbach committed Feb 18, 2016
1 parent 0bd8fa5 commit 12265e3
Show file tree
Hide file tree
Showing 35 changed files with 148 additions and 325 deletions.
30 changes: 11 additions & 19 deletions Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -22,33 +22,25 @@ bluetooth_CFLAGS += -DEXPORT_SYMBOL="__attribute__((visibility(\"default\")))"
#
# Common C/C++ compiler flags.
#
# - gnu-variable-sized-type-not-at-end is needed for a variable-size header in
# a struct.
# - constant-logical-operand is needed for code in l2c_utils.c that looks
# intentional.
# -Wno-constant-logical-operand is needed for code in l2c_utils.c that is
# intentional.
# -Wno-gnu-variable-sized-type-not-at-end is needed, because struct BT_HDR
# is defined as a variable-size header in a struct.
# -Wno-typedef-redefinition is needed because of the way the struct typedef
# is done in osi/include header files. This issue can be obsoleted by
# switching to C11 or C++.
# -Wno-unused-parameter is needed, because there are too many unused
# parameters in all the code.
#
bluetooth_CFLAGS += \
-fvisibility=hidden \
-Wall \
-Wextra \
-Werror \
-Wno-typedef-redefinition \
-Wno-constant-logical-operand \
-Wno-gnu-variable-sized-type-not-at-end \
-Wno-typedef-redefinition \
-Wno-unused-parameter \
-Wno-maybe-uninitialized \
-Wno-uninitialized \
-Wno-missing-field-initializers \
-Wno-unused-variable \
-Wno-non-literal-null-conversion \
-Wno-sign-compare \
-Wno-incompatible-pointer-types \
-Wno-unused-function \
-Wno-missing-braces \
-Wno-enum-conversion \
-Wno-logical-not-parentheses \
-Wno-parentheses \
-Wno-constant-logical-operand \
-Wno-format \
-UNDEBUG \
-DLOG_NDEBUG=1

Expand Down
2 changes: 2 additions & 0 deletions audio_a2dp_hw/audio_a2dp_hw.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,8 @@ static size_t out_get_buffer_size(const struct audio_stream *stream);
/*****************************************************************************
** Functions
******************************************************************************/
/* Function used only in debug mode */
static const char* dump_a2dp_ctrl_event(char event) __attribute__ ((unused));

/*****************************************************************************
** Miscellaneous helper functions
Expand Down
16 changes: 11 additions & 5 deletions bta/av/bta_av_aact.c
Original file line number Diff line number Diff line change
Expand Up @@ -1063,7 +1063,8 @@ void bta_av_cleanup(tBTA_AV_SCB *p_scb, tBTA_AV_DATA *p_data)
p_scb->num_disc_snks = 0;
alarm_cancel(p_scb->avrc_ct_timer);

vendor_get_interface()->send_command(BT_VND_OP_A2DP_OFFLOAD_STOP, (void*)&p_scb->l2c_cid);
vendor_get_interface()->send_command(
(vendor_opcode_t)BT_VND_OP_A2DP_OFFLOAD_STOP, (void*)&p_scb->l2c_cid);
if (p_scb->offload_start_pending) {
tBTA_AV_STATUS status = BTA_AV_FAIL_STREAM;
(*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV *)&status);
Expand Down Expand Up @@ -2058,7 +2059,9 @@ void bta_av_str_stopped (tBTA_AV_SCB *p_scb, tBTA_AV_DATA *p_data)

if (p_scb->co_started)
{
vendor_get_interface()->send_command(BT_VND_OP_A2DP_OFFLOAD_STOP, (void*)&p_scb->l2c_cid);
vendor_get_interface()->send_command(
(vendor_opcode_t)BT_VND_OP_A2DP_OFFLOAD_STOP,
(void*)&p_scb->l2c_cid);
if (p_scb->offload_start_pending) {
tBTA_AV_STATUS status = BTA_AV_FAIL_STREAM;
(*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV *)&status);
Expand Down Expand Up @@ -2136,7 +2139,6 @@ void bta_av_reconfig (tBTA_AV_SCB *p_scb, tBTA_AV_DATA *p_data)
{
tAVDT_CFG *p_cfg;
tBTA_AV_API_STOP stop;
tBTA_AV_RECONFIG evt;
tBTA_AV_API_RCFG *p_rcfg = &p_data->api_reconfig;

APPL_TRACE_DEBUG("bta_av_reconfig r:%d, s:%d idx: %d (o:%d)",
Expand Down Expand Up @@ -2642,7 +2644,9 @@ void bta_av_suspend_cfm (tBTA_AV_SCB *p_scb, tBTA_AV_DATA *p_data)
/* in case that we received suspend_ind, we may need to call co_stop here */
if(p_scb->co_started)
{
vendor_get_interface()->send_command(BT_VND_OP_A2DP_OFFLOAD_STOP, (void*)&p_scb->l2c_cid);
vendor_get_interface()->send_command(
(vendor_opcode_t)BT_VND_OP_A2DP_OFFLOAD_STOP,
(void*)&p_scb->l2c_cid);
if (p_scb->offload_start_pending) {
tBTA_AV_STATUS status = BTA_AV_FAIL_STREAM;
(*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV *)&status);
Expand Down Expand Up @@ -3143,7 +3147,9 @@ void bta_av_offload_req(tBTA_AV_SCB *p_scb, tBTA_AV_DATA *p_data)
memcpy(a2dp_offload_start.codec_info, p_scb->cfg.codec_info,
sizeof(a2dp_offload_start.codec_info));

if (!vendor_get_interface()->send_command(BT_VND_OP_A2DP_OFFLOAD_START, &a2dp_offload_start)) {
if (!vendor_get_interface()->send_command(
(vendor_opcode_t)BT_VND_OP_A2DP_OFFLOAD_START,
&a2dp_offload_start)) {
status = BTA_AV_SUCCESS;
p_scb->offload_start_pending = TRUE;
}
Expand Down
52 changes: 0 additions & 52 deletions bta/dm/bta_dm_act.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,19 +63,6 @@ static void bta_dm_local_name_cback(BD_ADDR bd_addr);
static BOOLEAN bta_dm_check_av(UINT16 event);
static void bta_dm_bl_change_cback (tBTM_BL_EVENT_DATA *p_data);


#if BLE_INCLUDED == TRUE
static void bta_dm_acl_change_cback(BD_ADDR p_bda, DEV_CLASS p_dc,
BD_NAME p_bdn, UINT8 *features,
BOOLEAN is_new, UINT16 handle,
tBT_TRANSPORT transport);
#else
static void bta_dm_acl_change_cback(BD_ADDR p_bda, DEV_CLASS p_dc,
BD_NAME p_bdn, UINT8 *features,
BOOLEAN is_new);
#endif


static void bta_dm_policy_cback(tBTA_SYS_CONN_STATUS status, UINT8 id, UINT8 app_id, BD_ADDR peer_addr);

/* Extended Inquiry Response */
Expand Down Expand Up @@ -3050,45 +3037,6 @@ static void bta_dm_bl_change_cback (tBTM_BL_EVENT_DATA *p_data)
bta_sys_sendmsg(p_msg);
}

/*******************************************************************************
**
** Function bta_dm_acl_change_cback
**
** Description Callback from btm when acl connection goes up or down
**
**
** Returns void
**
*******************************************************************************/
#if BLE_INCLUDED == TRUE
static void bta_dm_acl_change_cback(BD_ADDR p_bda, DEV_CLASS p_dc,
BD_NAME p_bdn, UINT8 *features,
BOOLEAN is_new, UINT16 handle,
tBT_TRANSPORT transport)
#else
static void bta_dm_acl_change_cback(BD_ADDR p_bda, DEV_CLASS p_dc,
BD_NAME p_bdn, UINT8 *features,
BOOLEAN is_new)
#endif
{
tBTA_DM_ACL_CHANGE *p_msg = (tBTA_DM_ACL_CHANGE *)osi_calloc(sizeof(tBTA_DM_ACL_CHANGE));

bdcpy(p_msg->bd_addr, p_bda);
p_msg->is_new = is_new;
#if BLE_INCLUDED == TRUE
p_msg->handle = handle;
p_msg->transport = transport;
#endif
/* This is collision case */
if (features != NULL) {
if ((features[0] == 0xFF) && !is_new)
p_msg->event = BTM_BL_COLLISION_EVT;
}

p_msg->hdr.event = BTA_DM_ACL_CHANGE_EVT;
bta_sys_sendmsg(p_msg);
}

/*******************************************************************************
**
** Function bta_dm_rs_cback
Expand Down
6 changes: 4 additions & 2 deletions bta/gatt/bta_gattc_act.c
Original file line number Diff line number Diff line change
Expand Up @@ -1189,7 +1189,6 @@ void bta_gattc_read_multi(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
{
UINT16 handle = 0;
tGATT_VALUE attr = {0};
tBTA_GATT_STATUS status = BTA_GATT_OK;

if (bta_gattc_enqueue(p_clcb, p_data))
Expand All @@ -1203,7 +1202,10 @@ void bta_gattc_write(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
}
else
{
attr.handle= handle;
tGATT_VALUE attr;

attr.conn_id = p_clcb->bta_conn_id;
attr.handle = handle;
attr.offset = p_data->api_write.offset;
attr.len = p_data->api_write.len;
attr.auth_req = p_data->api_write.auth_req;
Expand Down
1 change: 1 addition & 0 deletions bta/gatt/bta_gattc_cache.c
Original file line number Diff line number Diff line change
Expand Up @@ -1511,6 +1511,7 @@ static void bta_gattc_get_gatt_db_impl(tBTA_GATTC_SERV *p_srvc_cb,
default:
LOG_ERROR(LOG_TAG, "%s unknown gatt db attribute type: %d",
__func__, p_attr->attr_type);
continue;
}

bta_gattc_fill_gatt_db_el(curr_db_attr,
Expand Down
6 changes: 5 additions & 1 deletion bta/hf_client/bta_hf_client_at.c
Original file line number Diff line number Diff line change
Expand Up @@ -1639,8 +1639,12 @@ void bta_hf_client_send_at_atd(char *number, UINT32 memory)
} else {
at_len = snprintf(buf, sizeof(buf), "ATD>%u;\r", memory);
}
if (at_len < 0) {
APPL_TRACE_ERROR("%s: error preparing ATD command");
return;
}

at_len = MIN(at_len, sizeof(buf));
at_len = MIN((size_t)at_len, sizeof(buf));

bta_hf_client_send_at(BTA_HF_CLIENT_AT_ATD, buf, at_len);
}
Expand Down
7 changes: 5 additions & 2 deletions bta/jv/bta_jv_act.c
Original file line number Diff line number Diff line change
Expand Up @@ -1562,13 +1562,14 @@ void bta_jv_rfcomm_connect(tBTA_JV_MSG *p_data)
tBTA_JV_RFC_CB *p_cb = NULL;
tBTA_JV_PCB *p_pcb;
tBTA_JV_API_RFCOMM_CONNECT *cc = &(p_data->rfcomm_connect);
tBTA_JV_RFCOMM_CL_INIT evt_data = {0};
tBTA_JV_RFCOMM_CL_INIT evt_data;

/* TODO DM role manager
L2CA_SetDesireRole(cc->role);
*/

sec_id = bta_jv_alloc_sec_id();
memset(&evt_data, 0, sizeof(evt_data));
evt_data.sec_id = sec_id;
evt_data.status = BTA_JV_SUCCESS;
if (0 == sec_id ||
Expand Down Expand Up @@ -1898,10 +1899,12 @@ void bta_jv_rfcomm_start_server(tBTA_JV_MSG *p_data)
tBTA_JV_RFC_CB *p_cb = NULL;
tBTA_JV_PCB *p_pcb;
tBTA_JV_API_RFCOMM_SERVER *rs = &(p_data->rfcomm_server);
tBTA_JV_RFCOMM_START evt_data = {0};
tBTA_JV_RFCOMM_START evt_data;

/* TODO DM role manager
L2CA_SetDesireRole(rs->role);
*/
memset(&evt_data, 0, sizeof(evt_data));
evt_data.status = BTA_JV_FAILURE;
APPL_TRACE_DEBUG("bta_jv_rfcomm_start_server: sec id in use:%d, rfc_cb in use:%d",
get_sec_id_used(), get_rfc_cb_used());
Expand Down
12 changes: 6 additions & 6 deletions bta/sdp/bta_sdp_act.c
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ static const uint8_t UUID_MAP_MAS[] = {0x00, 0x00, 0x11, 0x32, 0x00, 0x00, 0x10
0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
static const uint8_t UUID_MAP_MNS[] = {0x00, 0x00, 0x11, 0x33, 0x00, 0x00, 0x10, 0x00,
0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
static const uint8_t UUID_SPP[] = {0x00, 0x00, 0x11, 0x01, 0x00, 0x00, 0x10, 0x00,
0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
static const uint8_t UUID_SAP[] = {0x00, 0x00, 0x11, 0x2D, 0x00, 0x00, 0x10, 0x00,
0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB};
// TODO:
Expand Down Expand Up @@ -314,7 +312,6 @@ static void bta_create_ops_sdp_record(bluetooth_sdp_record *record, tSDP_DISC_RE

static void bta_create_sap_sdp_record(bluetooth_sdp_record *record, tSDP_DISC_REC *p_rec)
{
tSDP_DISCOVERY_DB *db = p_bta_sdp_cfg->p_sdp_db;
tSDP_DISC_ATTR *p_attr;
tSDP_PROTOCOL_ELEM pe;
UINT16 pversion = -1;
Expand Down Expand Up @@ -384,12 +381,13 @@ static void bta_create_raw_sdp_record(bluetooth_sdp_record *record, tSDP_DISC_RE
static void bta_sdp_search_cback(UINT16 result, void * user_data)
{
tSDP_DISC_REC *p_rec = NULL;
tBTA_SDP_SEARCH_COMP evt_data = {0}; // We need to zero-initialize
tBTA_SDP_SEARCH_COMP evt_data;
tBTA_SDP_STATUS status = BTA_SDP_FAILURE;
int count = 0;
tBT_UUID su;
APPL_TRACE_DEBUG("%s() - res: 0x%x", __func__, result);

memset(&evt_data, 0, sizeof(evt_data));
bta_sdp_cb.sdp_active = BTA_SDP_ACTIVE_NONE;

if (bta_sdp_cb.p_dm_cback == NULL) return;
Expand Down Expand Up @@ -488,7 +486,8 @@ void bta_sdp_search(tBTA_SDP_MSG *p_data)
/* SDP is still in progress */
status = BTA_SDP_BUSY;
if(bta_sdp_cb.p_dm_cback) {
tBTA_SDP_SEARCH_COMP result = {0};
tBTA_SDP_SEARCH_COMP result;
memset(&result, 0, sizeof(result));
result.uuid = p_data->get_search.uuid;
bdcpy(result.remote_addr, p_data->get_search.bd_addr);
result.status = status;
Expand Down Expand Up @@ -519,7 +518,8 @@ void bta_sdp_search(tBTA_SDP_MSG *p_data)

/* failed to start SDP. report the failure right away */
if (bta_sdp_cb.p_dm_cback) {
tBTA_SDP_SEARCH_COMP result = {0};
tBTA_SDP_SEARCH_COMP result;
memset(&result, 0, sizeof(result));
result.uuid = p_data->get_search.uuid;
bdcpy(result.remote_addr, p_data->get_search.bd_addr);
result.status = status;
Expand Down
2 changes: 1 addition & 1 deletion btif/src/btif_av.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ typedef struct
******************************************************************************/
static btav_callbacks_t *bt_av_src_callbacks = NULL;
static btav_callbacks_t *bt_av_sink_callbacks = NULL;
static btif_av_cb_t btif_av_cb = {0};
static btif_av_cb_t btif_av_cb = {0, {{0}}, 0, 0, 0, 0};
static alarm_t *av_open_on_rc_timer = NULL;

/* both interface and media task needs to be ready to alloc incoming request */
Expand Down
1 change: 0 additions & 1 deletion btif/src/btif_avrcp_audio_track.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ void *BtifAvrcpAudioTrackCreate(int trackFreq, int channelType)
{
LOG_VERBOSE(LOG_TAG, "%s Track.cpp: btCreateTrack freq %d channel %d ",
__func__, trackFreq, channelType);
int ret = -1;
sp<android::AudioTrack> track =
new android::AudioTrack(AUDIO_STREAM_MUSIC, trackFreq, AUDIO_FORMAT_PCM_16_BIT,
channelType, (int)0, (audio_output_flags_t)AUDIO_OUTPUT_FLAG_FAST,
Expand Down
2 changes: 1 addition & 1 deletion btif/src/btif_debug_btsnoop.c
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ static bool btsnoop_compress(ringbuffer_t *rb_dst, ringbuffer_t *rb_src) {
assert(rb_dst != NULL);
assert(rb_src != NULL);

z_stream zs = {0};
z_stream zs = {.zalloc = Z_NULL, .zfree = Z_NULL, .opaque = Z_NULL};
if (deflateInit(&zs, Z_DEFAULT_COMPRESSION) != Z_OK)
return false;

Expand Down
10 changes: 7 additions & 3 deletions btif/src/btif_dm.c
Original file line number Diff line number Diff line change
Expand Up @@ -1107,9 +1107,13 @@ static void btif_dm_auth_cmpl_evt (tBTA_DM_AUTH_CMPL *p_auth_cmpl)
// We could have received a new link key without going through the pairing flow.
// If so, we don't want to perform SDP or any other operations on the authenticated
// device.
if (!bdaddr_equals(p_auth_cmpl->bd_addr, pairing_cb.bd_addr)) {
if (bdcmp(p_auth_cmpl->bd_addr, pairing_cb.bd_addr) != 0) {
char address[32];
bdaddr_to_string(&p_auth_cmpl->bd_addr, address, sizeof(address));
bt_bdaddr_t bt_bdaddr;

memcpy(bt_bdaddr.address, p_auth_cmpl->bd_addr,
sizeof(bt_bdaddr.address));
bdaddr_to_string(&bt_bdaddr, address, sizeof(address));
LOG_INFO(LOG_TAG, "%s skipping SDP since we did not initiate pairing to %s.", __func__, address);
return;
}
Expand Down Expand Up @@ -2351,7 +2355,7 @@ bt_status_t btif_dm_create_bond(const bt_bdaddr_t *bd_addr, int transport)
*******************************************************************************/
bt_status_t btif_dm_create_bond_out_of_band(const bt_bdaddr_t *bd_addr, int transport, const bt_out_of_band_data_t *oob_data)
{
bdcpy(oob_cb.bdaddr, bd_addr);
bdcpy(oob_cb.bdaddr, bd_addr->address);
memcpy(&oob_cb.oob_data, oob_data, sizeof(bt_out_of_band_data_t));

bdstr_t bdstr;
Expand Down
12 changes: 5 additions & 7 deletions btif/src/btif_rc.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,6 @@ static void handle_avk_rc_metamsg_cmd(tBTA_AV_META_MSG *pmeta_msg);
static void handle_avk_rc_metamsg_rsp(tBTA_AV_META_MSG *pmeta_msg);
static void btif_rc_ctrl_upstreams_rsp_cmd(
UINT8 event, tAVRC_COMMAND *pavrc_cmd, UINT8 label);
static void btif_rc_ctrl_upstreams_rsp_evt(
UINT16 event, tAVRC_RESPONSE *pavrc_resp, UINT8* p_buf, UINT16 buf_len, UINT8 rsp_type);
static void rc_ctrl_procedure_complete();
static void rc_stop_play_status_timer();
static void register_for_event_notification (btif_rc_supported_event_t *p_event);
Expand Down Expand Up @@ -2708,7 +2706,7 @@ static void handle_app_val_response (tBTA_AV_META_MSG *pmeta_msg, tAVRC_LIST_APP
}
get_player_app_setting_cmd (p_app_settings->num_attrs, attrs);
HAL_CBACK (bt_rc_ctrl_callbacks, playerapplicationsetting_cb, &rc_addr,
p_app_settings->num_attrs, &p_app_settings->attrs, 0, NULL);
p_app_settings->num_attrs, p_app_settings->attrs, 0, NULL);
}
}
else if (p_app_settings->ext_attr_index < p_app_settings->num_ext_attrs)
Expand Down Expand Up @@ -2821,7 +2819,7 @@ static void handle_app_attr_txt_response (tBTA_AV_META_MSG *pmeta_msg, tAVRC_GET
attrs[xx] = p_app_settings->attrs[xx].attr_id;
}
HAL_CBACK (bt_rc_ctrl_callbacks, playerapplicationsetting_cb, &rc_addr,
p_app_settings->num_attrs, &p_app_settings->attrs, 0, NULL);
p_app_settings->num_attrs, p_app_settings->attrs, 0, NULL);

get_player_app_setting_cmd (xx, attrs);
return;
Expand Down Expand Up @@ -2901,7 +2899,7 @@ static void handle_app_attr_val_txt_response (tBTA_AV_META_MSG *pmeta_msg, tAVRC
attrs[xx] = p_app_settings->attrs[xx].attr_id;
}
HAL_CBACK (bt_rc_ctrl_callbacks, playerapplicationsetting_cb, &rc_addr,
p_app_settings->num_attrs, &p_app_settings->attrs, 0, NULL);
p_app_settings->num_attrs, p_app_settings->attrs, 0, NULL);

get_player_app_setting_cmd (xx, attrs);
return;
Expand Down Expand Up @@ -2947,8 +2945,8 @@ static void handle_app_attr_val_txt_response (tBTA_AV_META_MSG *pmeta_msg, tAVRC
attrs[xx+x] = p_app_settings->ext_attrs[x].attr_id;
}
HAL_CBACK (bt_rc_ctrl_callbacks, playerapplicationsetting_cb, &rc_addr,
p_app_settings->num_attrs, &p_app_settings->attrs,
p_app_settings->num_ext_attrs, &p_app_settings->ext_attrs);
p_app_settings->num_attrs, p_app_settings->attrs,
p_app_settings->num_ext_attrs, p_app_settings->ext_attrs);
get_player_app_setting_cmd (xx + x, attrs);

/* Free the application settings information after sending to
Expand Down
Loading

0 comments on commit 12265e3

Please sign in to comment.