Index: asterisk-1.4.18/Makefile =================================================================== --- asterisk-1.4.18/Makefile.orig 2008-01-29 09:21:33.000000000 -0800 +++ asterisk-1.4.18/Makefile 2008-03-10 18:27:46.000000000 -0700 @@ -315,7 +315,7 @@ @exit 1 menuselect.makeopts: menuselect/menuselect menuselect-tree - menuselect/menuselect --check-deps $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts + menuselect/menuselect --check-deps menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) $(MOD_SUBDIRS_EMBED_LDSCRIPT): @echo "EMBED_LDSCRIPTS+="`$(SUBMAKE) -C $(@:-embed-ldscript=) SUBDIR=$(@:-embed-ldscript=) __embed_ldscript` >> makeopts.embed_rules @@ -738,10 +738,10 @@ gmenuconfig: gmenuselect menuselect: menuselect/menuselect menuselect-tree - -@menuselect/menuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!" + -@menuselect/menuselect menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!" gmenuselect: menuselect/gmenuselect menuselect-tree - -@menuselect/gmenuselect $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) menuselect.makeopts && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!" + -@menuselect/gmenuselect menuselect.makeopts $(GLOBAL_MAKEOPTS) $(USER_MAKEOPTS) && (echo "menuselect changes saved!"; rm -f channels/h323/Makefile.ast main/asterisk) || echo "menuselect changes NOT saved!" menuselect/menuselect: makeopts menuselect/menuselect.c menuselect/menuselect_curses.c menuselect/menuselect_stub.c menuselect/menuselect.h menuselect/linkedlists.h makeopts @CC="$(HOST_CC)" LD="" AR="" RANLIB="" CFLAGS="" $(MAKE) -C menuselect CONFIGURE_SILENT="--silent" Index: asterisk-1.4.18/menuselect/menuselect.c =================================================================== --- asterisk-1.4.18/menuselect/menuselect.c (revision 287) +++ asterisk-1.4.18/menuselect/menuselect.c (working copy) @@ -632,13 +632,23 @@ { struct category *cat; struct member *mem; + char negate = 0; + if (*member == '-') { + member++; + negate = 1; + } + AST_LIST_TRAVERSE(&categories, cat, list) { if (strcmp(category, cat->name)) continue; AST_LIST_TRAVERSE(&cat->members, mem, list) { if (!strcmp(member, mem->name)) { - mem->was_enabled = mem->enabled = cat->positive_output; + if (negate) { + mem->was_enabled = mem->enabled = !cat->positive_output; + } else { + mem->was_enabled = mem->enabled = cat->positive_output; + } break; } }