[PATCH] Some code cleanup in hdp

From: Jose Antonio Santos Cadenas
Date: Wed Oct 13 2010 - 08:05:11 EST


---
health/hdp.c | 38 ++++++++++++++++++++++----------------
health/hdp_util.c | 29 ++++++++++++++++++-----------
2 files changed, 40 insertions(+), 27 deletions(-)

diff --git a/health/hdp.c b/health/hdp.c
index 4a6da78..954b6d6 100644
--- a/health/hdp.c
+++ b/health/hdp.c
@@ -305,11 +305,12 @@ static DBusMessage *manager_create_application(DBusConnection *conn,
const char *name;
DBusMessageIter iter;
GError *err = NULL;
- DBusMessage *reply;

dbus_message_iter_init(msg, &iter);
app = hdp_get_app_config(&iter, &err);
if (err) {
+ DBusMessage *reply;
+
reply = g_dbus_create_error(msg,
ERROR_INTERFACE ".InvalidArguments",
"Invalid arguments: %s", err->message);
@@ -439,12 +440,13 @@ static void abort_mdl_cb(GError *err, gpointer data)
static void hdp_mdl_reconn_cb(struct mcap_mdl *mdl, GError *err, gpointer data)
{
struct hdp_tmp_dc_data *dc_data = data;
- struct hdp_channel *chan = dc_data->hdp_chann;
- GError *gerr = NULL;
DBusMessage *reply;
int fd;

if (err) {
+ struct hdp_channel *chan = dc_data->hdp_chann;
+ GError *gerr = NULL;
+
error("%s", err->message);
reply = g_dbus_create_error(dc_data->msg,
ERROR_INTERFACE ".HealthError",
@@ -633,12 +635,13 @@ static void health_channel_destroy(void *data)
{
struct hdp_channel *hdp_chan = data;
struct hdp_device *dev = hdp_chan->dev;
- char *empty_path;

DBG("Destroy Health Channel %s", hdp_chan->path);
dev->channels = g_slist_remove(dev->channels, hdp_chan);

if (hdp_chan == dev->fr) {
+ char *empty_path;
+
dev->fr = NULL;
empty_path = "";
emit_property_changed(dev->conn, device_get_path(dev->dev),
@@ -754,8 +757,6 @@ static void hdp_mcap_mdl_connected_cb(struct mcap_mdl *mdl, void *data)
{
struct hdp_device *dev = data;
struct hdp_channel *chan;
- GIOChannel *io_chan;
- int fd;

DBG("hdp_mcap_mdl_connected_cb");
if (!dev->ndc)
@@ -769,16 +770,19 @@ static void hdp_mcap_mdl_connected_cb(struct mcap_mdl *mdl, void *data)
dev->channels = g_slist_prepend(dev->channels, chan);

if (chan->mdep == HDP_MDEP_ECHO) {
+ GIOChannel *io;
+ int fd;
+
fd = mcap_mdl_get_fd(chan->mdl);
if (fd < 0)
return;

chan->echo_done = FALSE;
- io_chan = g_io_channel_unix_new(fd);
- chan->wid = g_io_add_watch(io_chan,
+ io = g_io_channel_unix_new(fd);
+ chan->wid = g_io_add_watch(io,
G_IO_ERR | G_IO_HUP | G_IO_NVAL | G_IO_IN,
serve_echo, chan);
- g_io_channel_unref(io_chan);
+ g_io_channel_unref(io);
return;
}

@@ -859,8 +863,6 @@ static uint8_t hdp_mcap_mdl_conn_req_cb(struct mcap_mcl *mcl, uint8_t mdepid,
{
struct hdp_device *dev = data;
struct hdp_application *app;
- struct hdp_channel *chan;
- char *path;
GSList *l;

DBG("Data channel request");
@@ -922,7 +924,9 @@ static uint8_t hdp_mcap_mdl_conn_req_cb(struct mcap_mcl *mcl, uint8_t mdepid,

l = g_slist_find_custom(dev->channels, &mdlid, cmp_chan_mdlid);
if (l) {
- chan = l->data;
+ struct hdp_channel *chan = l->data;
+ char *path;
+
path = g_strdup(chan->path);
g_dbus_unregister_interface(dev->conn, path, HEALTH_CHANNEL);
g_free(path);
@@ -981,16 +985,17 @@ gboolean hdp_set_mcl_cb(struct hdp_device *device, GError **err)

static void mcl_connected(struct mcap_mcl *mcl, gpointer data)
{
- struct hdp_adapter *hdp_adapter = data;
struct hdp_device *hdp_device;
- struct btd_device *device;
bdaddr_t addr;
- char str[18];
GSList *l;

mcap_mcl_get_addr(mcl, &addr);
l = g_slist_find_custom(devices, &addr, cmp_dev_addr);
if (!l) {
+ struct hdp_adapter *hdp_adapter = data;
+ struct btd_device *device;
+ char str[18];
+
ba2str(&addr, str);
device = adapter_get_device(connection,
hdp_adapter->btd_adapter, str);
@@ -1088,7 +1093,6 @@ static void check_devices_mcl()
{
struct hdp_device *dev;
GSList *l, *to_delete = NULL;
- const char *path;

for (l = devices; l; l = l->next) {
dev = l->data;
@@ -1101,6 +1105,8 @@ static void check_devices_mcl()
}

for (l = to_delete; l; l = l->next) {
+ const char *path;
+
path = device_get_path(dev->dev);
g_dbus_unregister_interface(dev->conn, path, HEALTH_DEVICE);
}
diff --git a/health/hdp_util.c b/health/hdp_util.c
index ef76b15..c5dfb01 100644
--- a/health/hdp_util.c
+++ b/health/hdp_util.c
@@ -141,12 +141,14 @@ static gboolean parse_data_type(DBusMessageIter *iter, gpointer data,
GError **err)
{
struct hdp_application *app = data;
- DBusMessageIter *value, variant;
+ DBusMessageIter *value;
int ctype;

ctype = dbus_message_iter_get_arg_type(iter);
value = iter;
if (ctype == DBUS_TYPE_VARIANT) {
+ DBusMessageIter variant;
+
/* Get value inside the variable */
dbus_message_iter_recurse(iter, &variant);
ctype = dbus_message_iter_get_arg_type(&variant);
@@ -167,13 +169,14 @@ static gboolean parse_data_type(DBusMessageIter *iter, gpointer data,
static gboolean parse_role(DBusMessageIter *iter, gpointer data, GError **err)
{
struct hdp_application *app = data;
- DBusMessageIter value;
DBusMessageIter *string;
int ctype;
const char *role;

ctype = dbus_message_iter_get_arg_type(iter);
if (ctype == DBUS_TYPE_VARIANT) {
+ DBusMessageIter value;
+
/* Get value inside the variable */
dbus_message_iter_recurse(iter, &value);
ctype = dbus_message_iter_get_arg_type(&value);
@@ -206,12 +209,14 @@ static gboolean parse_role(DBusMessageIter *iter, gpointer data, GError **err)
static gboolean parse_desc(DBusMessageIter *iter, gpointer data, GError **err)
{
struct hdp_application *app = data;
- DBusMessageIter *string, variant;
+ DBusMessageIter *string;
int ctype;
const char *desc;

ctype = dbus_message_iter_get_arg_type(iter);
if (ctype == DBUS_TYPE_VARIANT) {
+ DBusMessageIter variant;
+
/* Get value inside the variable */
dbus_message_iter_recurse(iter, &variant);
ctype = dbus_message_iter_get_arg_type(&variant);
@@ -234,12 +239,14 @@ static gboolean parse_chan_type(DBusMessageIter *iter, gpointer data,
GError **err)
{
struct hdp_application *app = data;
- DBusMessageIter *value, variant;
+ DBusMessageIter *value;
int ctype;

ctype = dbus_message_iter_get_arg_type(iter);
value = iter;
if (ctype == DBUS_TYPE_VARIANT) {
+ DBusMessageIter variant;
+
/* Get value inside the variable */
dbus_message_iter_recurse(iter, &variant);
ctype = dbus_message_iter_get_arg_type(&variant);
@@ -294,11 +301,11 @@ fail:

static gboolean is_app_role(GSList *app_list, HdpRole role)
{
- struct hdp_application *app;
GSList *l;

for (l = app_list; l; l = l->next) {
- app = l->data;
+ struct hdp_application *app = l->data;
+
if (app->role == role)
return TRUE;
}
@@ -732,7 +739,7 @@ static gboolean check_role(uint8_t rec_role, uint8_t app_role)
static gboolean get_mdep_from_rec(const sdp_record_t *rec, uint8_t role,
uint16_t d_type, uint8_t *mdep, char **desc)
{
- sdp_data_t *list, *feat, *data_type, *mdepid, *role_t, *desc_t;
+ sdp_data_t *list, *feat;

if (!desc && !mdep)
return TRUE;
@@ -744,6 +751,8 @@ static gboolean get_mdep_from_rec(const sdp_record_t *rec, uint8_t role,
return FALSE;

for (feat = list->val.dataseq; feat; feat = feat->next) {
+ sdp_data_t *data_type, *mdepid, *role_t, *desc_t;
+
if (feat->dtd != SDP_SEQ8 && feat->dtd != SDP_SEQ16 &&
feat->dtd != SDP_SEQ32)
continue;
@@ -931,10 +940,9 @@ static gboolean hdp_get_add_prot_desc_list(const sdp_record_t *rec,
static gboolean get_ccpsm(sdp_list_t *recs, uint16_t *ccpsm)
{
sdp_list_t *l;
- sdp_record_t *rec;

for (l = recs; l; l = l->next) {
- rec = l->data;
+ sdp_record_t *rec = l->data;

if (hdp_get_prot_desc_list(rec, ccpsm, NULL))
return TRUE;
@@ -946,10 +954,9 @@ static gboolean get_ccpsm(sdp_list_t *recs, uint16_t *ccpsm)
static gboolean get_dcpsm(sdp_list_t *recs, uint16_t *dcpsm)
{
sdp_list_t *l;
- sdp_record_t *rec;

for (l = recs; l; l = l->next) {
- rec = l->data;
+ sdp_record_t *rec = l->data;

if (hdp_get_add_prot_desc_list(rec, dcpsm))
return TRUE;
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/