projects
/
openwrt.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix brctl on linux 2.4
[openwrt.git]
/
scripts
/
config
/
mconf.c
diff --git
a/scripts/config/mconf.c
b/scripts/config/mconf.c
index
69cd56f
..
8c58b62
100644
(file)
--- a/
scripts/config/mconf.c
+++ b/
scripts/config/mconf.c
@@
-22,6
+22,7
@@
#include <unistd.h>
#include <locale.h>
#include <unistd.h>
#include <locale.h>
+#define BUFSIZE 524288
#define LKC_DIRECT_LINK
#include "lkc.h"
#define LKC_DIRECT_LINK
#include "lkc.h"
@@
-34,12
+35,12
@@
static const char mconf_readme[] = N_(
"may be completely removed altogether.\n"
"\n"
"Menu items beginning with [*], <M> or [ ] represent features\n"
"may be completely removed altogether.\n"
"\n"
"Menu items beginning with [*], <M> or [ ] represent features\n"
-"configured to be
built in, modularized
or removed respectively.\n"
-"Pointed brackets <> represent
module
capable features.\n"
+"configured to be
included, built as package
or removed respectively.\n"
+"Pointed brackets <> represent
packaging
capable features.\n"
"\n"
"To change any of these features, highlight it with the cursor\n"
"\n"
"To change any of these features, highlight it with the cursor\n"
-"keys and press <Y> to
build it in, <M> to make it a modul
e or\n"
-"<N> to remove
d
it. You may also press the <Space Bar> to cycle\n"
+"keys and press <Y> to
include it, <M> to make it a packag
e or\n"
+"<N> to remove it. You may also press the <Space Bar> to cycle\n"
"through the available options (ie. Y->N->M->Y).\n"
"\n"
"Some additional keyboard hints:\n"
"through the available options (ie. Y->N->M->Y).\n"
"\n"
"Some additional keyboard hints:\n"
@@
-162,9
+163,9
@@
menu_instructions[] = N_(
"Arrow keys navigate the menu. "
"<Enter> selects submenus --->. "
"Highlighted letters are hotkeys. "
"Arrow keys navigate the menu. "
"<Enter> selects submenus --->. "
"Highlighted letters are hotkeys. "
- "Pressing <Y> includes, <N> excludes, <M>
modularizes features
. "
+ "Pressing <Y> includes, <N> excludes, <M>
builds as package
. "
"Press <Esc><Esc> to exit, <?> for Help, </> for Search. "
"Press <Esc><Esc> to exit, <?> for Help, </> for Search. "
- "Legend: [*] built-in [ ] excluded <M>
module < > modul
e capable"),
+ "Legend: [*] built-in [ ] excluded <M>
package < > packag
e capable"),
radiolist_instructions[] = N_(
"Use the arrow keys to navigate this window or "
"press the hotkey of the item you wish to select "
radiolist_instructions[] = N_(
"Use the arrow keys to navigate this window or "
"press the hotkey of the item you wish to select "
@@
-181,8
+182,8
@@
inputbox_instructions_string[] = N_(
"Please enter a string value. "
"Use the <TAB> key to move from the input field to the buttons below it."),
setmod_text[] = N_(
"Please enter a string value. "
"Use the <TAB> key to move from the input field to the buttons below it."),
setmod_text[] = N_(
- "This feature depends on another which has been configured as a
modul
e.\n"
- "As a result, this feature will be built as a
modul
e."),
+ "This feature depends on another which has been configured as a
packag
e.\n"
+ "As a result, this feature will be built as a
packag
e."),
nohelp_text[] = N_(
"There is no help available for this config option.\n"),
load_config_text[] = N_(
nohelp_text[] = N_(
"There is no help available for this config option.\n"),
load_config_text[] = N_(
@@
-254,10
+255,10
@@
search_help[] = N_(
" USB$ => find all CONFIG_ symbols ending with USB\n"
"\n");
" USB$ => find all CONFIG_ symbols ending with USB\n"
"\n");
-static char buf[
4096
], *bufptr = buf;
-static char input_buf[
4096
];
+static char buf[
BUFSIZE
], *bufptr = buf;
+static char input_buf[
BUFSIZE
];
static char filename[PATH_MAX+1] = ".config";
static char filename[PATH_MAX+1] = ".config";
-static char *args[
1024
], **argptr = args;
+static char *args[
BUFSIZE
], **argptr = args;
static int indent;
static struct termios ios_org;
static int rows = 0, cols = 0;
static int indent;
static struct termios ios_org;
static int rows = 0, cols = 0;
@@
-404,6
+405,7
@@
static void get_symbol_str(struct gstr *r, struct symbol *sym)
sym_get_string_value(sym));
for_all_prompts(sym, prop)
get_prompt_str(r, prop);
sym_get_string_value(sym));
for_all_prompts(sym, prop)
get_prompt_str(r, prop);
+
hit = false;
for_all_properties(sym, prop, P_SELECT) {
if (!hit) {
hit = false;
for_all_properties(sym, prop, P_SELECT) {
if (!hit) {
@@
-415,11
+417,29
@@
static void get_symbol_str(struct gstr *r, struct symbol *sym)
}
if (hit)
str_append(r, "\n");
}
if (hit)
str_append(r, "\n");
+
+ hit = false;
+ for_all_properties(sym, prop, P_DESELECT) {
+ if (!hit) {
+ str_append(r, " Deselects: ");
+ hit = true;
+ } else
+ str_printf(r, " && ");
+ expr_gstr_print(prop->expr, r);
+ }
+ if (hit)
+ str_append(r, "\n");
+
if (sym->rev_dep.expr) {
str_append(r, " Selected by: ");
expr_gstr_print(sym->rev_dep.expr, r);
str_append(r, "\n");
}
if (sym->rev_dep.expr) {
str_append(r, " Selected by: ");
expr_gstr_print(sym->rev_dep.expr, r);
str_append(r, "\n");
}
+ if (sym->rev_dep_inv.expr) {
+ str_append(r, " Deselected by: ");
+ expr_gstr_print(sym->rev_dep_inv.expr, r);
+ str_append(r, "\n");
+ }
str_append(r, "\n\n");
}
str_append(r, "\n\n");
}
@@
-737,6
+757,8
@@
static void conf(struct menu *menu)
if (menu == &rootmenu) {
cprint(":");
cprint("--- ");
if (menu == &rootmenu) {
cprint(":");
cprint("--- ");
+ cprint("D");
+ cprint(_(" Reset to defaults"));
cprint("L");
cprint(_(" Load an Alternate Configuration File"));
cprint("S");
cprint("L");
cprint(_(" Load an Alternate Configuration File"));
cprint("S");
@@
-783,6
+805,9
@@
static void conf(struct menu *menu)
case 's':
conf_string(submenu);
break;
case 's':
conf_string(submenu);
break;
+ case 'D':
+ conf_reset();
+ break;
case 'L':
conf_load();
break;
case 'L':
conf_load();
break;
@@
-882,6
+907,7
@@
static void conf_choice(struct menu *menu)
const char *prompt = menu_get_prompt(menu);
struct menu *child;
struct symbol *active;
const char *prompt = menu_get_prompt(menu);
struct menu *child;
struct symbol *active;
+ struct property *prop;
int stat;
active = sym_get_choice_value(menu->sym);
int stat;
active = sym_get_choice_value(menu->sym);
@@
-914,6
+940,13
@@
static void conf_choice(struct menu *menu)
case 0:
if (sscanf(input_buf, "%p", &child) != 1)
break;
case 0:
if (sscanf(input_buf, "%p", &child) != 1)
break;
+
+ if (sym_get_tristate_value(child->sym) != yes) {
+ for_all_properties(menu->sym, prop, P_RESET) {
+ if (expr_calc_value(prop->visible.expr) != no)
+ conf_reset();
+ }
+ }
sym_set_tristate_value(child->sym, yes);
return;
case 1:
sym_set_tristate_value(child->sym, yes);
return;
case 1:
This page took
0.029669 seconds
and
4
git commands to generate.