Mercurial > ~dholland > hg > tradcpp > index.cgi
comparison macro.c @ 170:2ee7db420643
Fix joerg's expansionitem_eq(). Was wrong previously.
author | David A. Holland |
---|---|
date | Fri, 12 Jun 2015 02:02:38 -0400 |
parents | 80e243f2047d |
children | 5922e6ca6b80 |
comparison
equal
deleted
inserted
replaced
169:80e243f2047d | 170:2ee7db420643 |
---|---|
141 static | 141 static |
142 bool | 142 bool |
143 expansionitem_eq(const struct expansionitem *ei1, | 143 expansionitem_eq(const struct expansionitem *ei1, |
144 const struct expansionitem *ei2) | 144 const struct expansionitem *ei2) |
145 { | 145 { |
146 if ((ei1->itemtype == EI_STRING) != (ei2->itemtype == EI_STRING)) { | 146 if (ei1->itemtype != ei2->itemtype) { |
147 return false; | 147 return false; |
148 } | 148 } |
149 if (ei1->itemtype == EI_STRING) { | 149 switch (ei1->itemtype) { |
150 case EI_STRING: | |
150 if (strcmp(ei1->string, ei2->string) != 0) { | 151 if (strcmp(ei1->string, ei2->string) != 0) { |
151 return false; | 152 return false; |
152 } | 153 } |
153 } else { | 154 break; |
155 case EI_PARAM: | |
154 if (ei1->param != ei2->param) { | 156 if (ei1->param != ei2->param) { |
155 return false; | 157 return false; |
156 } | 158 } |
159 break; | |
160 case EI_FILE: | |
161 case EI_LINE: | |
162 break; | |
157 } | 163 } |
158 return true; | 164 return true; |
159 } | 165 } |
160 | 166 |
161 static | 167 static |