From 078d621033d5007b21e75d0c0f73d778c3934c3c Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 29 Jun 2011 04:03:25 -0500 Subject: [PATCH] ppp: Don't regenerate options when unchanged --- gatchat/ppp_lcp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gatchat/ppp_lcp.c b/gatchat/ppp_lcp.c index 01b36bff..d396e518 100644 --- a/gatchat/ppp_lcp.c +++ b/gatchat/ppp_lcp.c @@ -374,12 +374,16 @@ struct pppcp_data *lcp_new(GAtPPP *ppp, gboolean is_server) void lcp_set_acfc_enabled(struct pppcp_data *pppcp, gboolean enabled) { struct lcp_data *lcp = pppcp_get_data(pppcp); + guint8 old = lcp->req_options; if (enabled == TRUE) lcp->req_options |= REQ_OPTION_ACFC; else lcp->req_options &= ~REQ_OPTION_ACFC; + if (lcp->req_options == old) + return; + lcp_generate_config_options(lcp); pppcp_set_local_options(pppcp, lcp->options, lcp->options_len); } @@ -387,12 +391,16 @@ void lcp_set_acfc_enabled(struct pppcp_data *pppcp, gboolean enabled) void lcp_set_pfc_enabled(struct pppcp_data *pppcp, gboolean enabled) { struct lcp_data *lcp = pppcp_get_data(pppcp); + guint8 old = lcp->req_options; if (enabled == TRUE) lcp->req_options |= REQ_OPTION_PFC; else lcp->req_options &= ~REQ_OPTION_PFC; + if (lcp->req_options == old) + return; + lcp_generate_config_options(lcp); pppcp_set_local_options(pppcp, lcp->options, lcp->options_len); }