projects
/
carl9170fw.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
carl9170: Replace zero-length array of trailing structs with flex-array
[carl9170fw.git]
/
config
/
expr.c
diff --git
a/config/expr.c
b/config/expr.c
index 77ffff3a053ccb844a0f368ae59661a01bc8444c..81ebf8108ca748893d469c77af1eebf8ecbf7df2 100644
(file)
--- a/
config/expr.c
+++ b/
config/expr.c
@@
-13,7
+13,6
@@
#define DEBUG_EXPR 0
#define DEBUG_EXPR 0
-static int expr_eq(struct expr *e1, struct expr *e2);
static struct expr *expr_eliminate_yn(struct expr *e);
struct expr *expr_alloc_symbol(struct symbol *sym)
static struct expr *expr_eliminate_yn(struct expr *e);
struct expr *expr_alloc_symbol(struct symbol *sym)
@@
-250,10
+249,17
@@
void expr_eliminate_eq(struct expr **ep1, struct expr **ep2)
* equals some operand in the other (operands do not need to appear in the same
* order), recursively.
*/
* equals some operand in the other (operands do not need to appear in the same
* order), recursively.
*/
-
static
int expr_eq(struct expr *e1, struct expr *e2)
+int expr_eq(struct expr *e1, struct expr *e2)
{
int res, old_count;
{
int res, old_count;
+ /*
+ * A NULL expr is taken to be yes, but there's also a different way to
+ * represent yes. expr_is_yes() checks for either representation.
+ */
+ if (!e1 || !e2)
+ return expr_is_yes(e1) && expr_is_yes(e2);
+
if (e1->type != e2->type)
return 0;
switch (e1->type) {
if (e1->type != e2->type)
return 0;
switch (e1->type) {