From 0eb83f6ee6324c9f1cabfb15816a4ebe0b745816 Mon Sep 17 00:00:00 2001 From: Mark Lakata Date: Fri, 12 Oct 2012 20:17:40 +0200 Subject: [PATCH] PPP, IAR EWARM won't compile ppp-new due to keyword clash The word "class" is reserved in IAR's EWARM compiler since it looks like c++. This causes a failure to compile in the lcp code. Arguably it is a bug in the compiler, but it is easy to work around with a name change in the lcp.[ch] code. I fixed it by changing "class" to "class_". --- src/include/netif/ppp/lcp.h | 2 +- src/netif/ppp/lcp.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/include/netif/ppp/lcp.h b/src/include/netif/ppp/lcp.h index ec5e9a69..00a0f576 100644 --- a/src/include/netif/ppp/lcp.h +++ b/src/include/netif/ppp/lcp.h @@ -97,7 +97,7 @@ /* An endpoint discriminator, used with multilink. */ #define MAX_ENDP_LEN 20 /* maximum length of discriminator value */ struct epdisc { - unsigned char class; + unsigned char class_; /* -- The word "class" is reserved in C++. */ unsigned char length; unsigned char value[MAX_ENDP_LEN]; }; diff --git a/src/netif/ppp/lcp.c b/src/netif/ppp/lcp.c index cb44e687..2d01831f 100644 --- a/src/netif/ppp/lcp.c +++ b/src/netif/ppp/lcp.c @@ -866,7 +866,7 @@ static void lcp_addci(fsm *f, u_char *ucp, int *lenp) { ADDCISHORT(CI_MRRU, go->neg_mrru, go->mrru); #endif ADDCIVOID(CI_SSNHF, go->neg_ssnhf); - ADDCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class, + ADDCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class_, go->endpoint.value, go->endpoint.length); if (ucp - start_ucp != *lenp) { @@ -1040,7 +1040,7 @@ static int lcp_ackci(fsm *f, u_char *p, int len) { ACKCISHORT(CI_MRRU, go->neg_mrru, go->mrru); #endif /* HAVE_MULTILINK */ ACKCIVOID(CI_SSNHF, go->neg_ssnhf); - ACKCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class, + ACKCIENDP(CI_EPDISC, go->neg_endpoint, go->endpoint.class_, go->endpoint.value, go->endpoint.length); /* @@ -1722,7 +1722,7 @@ static int lcp_rejci(fsm *f, u_char *p, int len) { REJCISHORT(CI_MRRU, neg_mrru, go->mrru); #endif /* HAVE_MULTILINK */ REJCIVOID(CI_SSNHF, neg_ssnhf); - REJCIENDP(CI_EPDISC, neg_endpoint, go->endpoint.class, + REJCIENDP(CI_EPDISC, neg_endpoint, go->endpoint.class_, go->endpoint.value, go->endpoint.length); /* @@ -2154,7 +2154,7 @@ static int lcp_reqci(fsm *f, u_char *inp, int *lenp, int reject_if_disagree) { GETCHAR(cichar, p); cilen -= CILEN_CHAR; ho->neg_endpoint = 1; - ho->endpoint.class = cichar; + ho->endpoint.class_ = cichar; ho->endpoint.length = cilen; MEMCPY(ho->endpoint.value, p, cilen); INCPTR(cilen, p);