summaryrefslogtreecommitdiffstats
path: root/gatchat/ppp_ipcp.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2010-04-05 14:16:00 -0500
committerDenis Kenzior <denkenz@gmail.com>2010-04-05 14:16:00 -0500
commit60d96505dce4f11da7c307b03557a6f2ee8c139d (patch)
tree6f9222ca136b81afc0a1a2ee3b51b4228557eb1c /gatchat/ppp_ipcp.c
parent331fcaea32627b58882e36752068cb25987a22fe (diff)
downloadofono-60d96505dce4f11da7c307b03557a6f2ee8c139d.tar.bz2
Refactor: Add pppcp_set_data & pppcp_get_data
Using these functions makes the code much cleaner than trying to pass the priv pointer everywhere
Diffstat (limited to 'gatchat/ppp_ipcp.c')
-rw-r--r--gatchat/ppp_ipcp.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/gatchat/ppp_ipcp.c b/gatchat/ppp_ipcp.c
index c3e781c7..922681bd 100644
--- a/gatchat/ppp_ipcp.c
+++ b/gatchat/ppp_ipcp.c
@@ -57,7 +57,7 @@ enum ipcp_option_types {
static void ipcp_up(struct pppcp_data *pppcp)
{
- struct ipcp_data *data = pppcp->priv;
+ struct ipcp_data *data = pppcp_get_data(pppcp);
char ip[INET_ADDRSTRLEN];
char dns1[INET_ADDRSTRLEN];
char dns2[INET_ADDRSTRLEN];
@@ -125,7 +125,8 @@ static guint ipcp_option_scan(struct ppp_option *option, gpointer user)
static void ipcp_option_process(gpointer data, gpointer user)
{
struct ppp_option *option = data;
- struct ipcp_data *ipcp = user;
+ struct pppcp_data *pppcp = user;
+ struct ipcp_data *ipcp = pppcp_get_data(pppcp);
switch (option->type) {
case IP_ADDRESS:
@@ -188,7 +189,8 @@ struct pppcp_data *ipcp_new(GAtPPP *ppp)
pppcp->option_strings = ipcp_option_strings;
pppcp->prefix = "ipcp";
- pppcp->priv = data;
+
+ pppcp_set_data(pppcp, data);
/* set the actions */
pppcp->action = &ipcp_action;
@@ -209,11 +211,8 @@ struct pppcp_data *ipcp_new(GAtPPP *ppp)
void ipcp_free(struct pppcp_data *data)
{
- struct ipcp_data *ipcp = data->priv;
+ struct ipcp_data *ipcp = pppcp_get_data(data);
- /* free ipcp */
g_free(ipcp);
-
- /* free pppcp */
pppcp_free(data);
}