diff options
author | Denis Kenzior <denkenz@gmail.com> | 2010-10-14 01:21:10 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2010-10-14 01:38:52 -0500 |
commit | 52fade93ac130fef7f37fe5f81f81c5914862388 (patch) | |
tree | ded530ac5e24e1657e0c3e015b97b194d3eb0021 /src/stk.c | |
parent | 5b1f4d12166ca09340d2fce0f5d9307307f31757 (diff) | |
download | ofono-52fade93ac130fef7f37fe5f81f81c5914862388.tar.bz2 |
stk: Reflow stk_menu_create slightly
Diffstat (limited to 'src/stk.c')
-rw-r--r-- | src/stk.c | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -262,18 +262,22 @@ static struct stk_menu *stk_menu_create(const char *title, const struct stk_item_icon_id_list *item_icon_ids, int default_id, gboolean soft_key, gboolean has_help) { - struct stk_menu *ret = g_new(struct stk_menu, 1); unsigned int len = g_slist_length(items); + struct stk_menu *ret; GSList *l; int i; DBG(""); if (item_attrs && item_attrs->len && item_attrs->len != len * 4) - goto error; + return NULL; if (item_icon_ids && item_icon_ids->len && item_icon_ids->len != len) - goto error; + return NULL; + + ret = g_try_new(struct stk_menu, 1); + if (ret == NULL) + return NULL; ret->title = g_strdup(title ? title : ""); memcpy(&ret->icon, icon, sizeof(ret->icon)); @@ -287,6 +291,7 @@ static struct stk_menu *stk_menu_create(const char *title, ret->items[i].text = g_strdup(item->text); ret->items[i].item_id = item->id; + if (item_icon_ids && item_icon_ids->len) ret->items[i].icon_id = item_icon_ids->list[i]; @@ -295,10 +300,6 @@ static struct stk_menu *stk_menu_create(const char *title, } return ret; - -error: - g_free(ret); - return NULL; } static struct stk_menu *stk_menu_create_from_set_up_menu( |