diff options
Diffstat (limited to 'gatchat')
-rw-r--r-- | gatchat/ppp_lcp.c | 8 |
1 files changed, 8 insertions, 0 deletions
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); } |