Merge branch 'kconfig-trivial' of git://github.com/lacombar/linux-2.6 into kbuild/kconfig

This commit is contained in:
Michal Marek 2011-07-04 11:24:10 +02:00
commit 5c74cd4cc7
3 changed files with 39 additions and 22 deletions

View file

@ -18,6 +18,7 @@
static void conf(struct menu *menu); static void conf(struct menu *menu);
static void check_conf(struct menu *menu); static void check_conf(struct menu *menu);
static void xfgets(char *str, int size, FILE *in);
enum input_mode { enum input_mode {
oldaskconfig, oldaskconfig,
@ -34,8 +35,6 @@ enum input_mode {
oldnoconfig, oldnoconfig,
} input_mode = oldaskconfig; } input_mode = oldaskconfig;
char *defconfig_file;
static int indent = 1; static int indent = 1;
static int valid_stdin = 1; static int valid_stdin = 1;
static int sync_kconfig; static int sync_kconfig;
@ -459,10 +458,30 @@ static struct option long_opts[] = {
{NULL, 0, NULL, 0} {NULL, 0, NULL, 0}
}; };
static void conf_usage(const char *progname)
{
printf("Usage: %s [option] <kconfig-file>\n", progname);
printf("[option] is _one_ of the following:\n");
printf(" --listnewconfig List new options\n");
printf(" --oldaskconfig Start a new configuration using a line-oriented program\n");
printf(" --oldconfig Update a configuration using a provided .config as base\n");
printf(" --silentoldconfig Same as oldconfig, but quietly, additionally update deps\n");
printf(" --oldnoconfig Same as silentoldconfig but set new symbols to no\n");
printf(" --defconfig <file> New config with default defined in <file>\n");
printf(" --savedefconfig <file> Save the minimal current configuration to <file>\n");
printf(" --allnoconfig New config where all options are answered with no\n");
printf(" --allyesconfig New config where all options are answered with yes\n");
printf(" --allmodconfig New config where all options are answered with mod\n");
printf(" --alldefconfig New config with all symbols set to default\n");
printf(" --randconfig New config with random answer to all options\n");
}
int main(int ac, char **av) int main(int ac, char **av)
{ {
const char *progname = av[0];
int opt; int opt;
const char *name; const char *name, *defconfig_file = NULL /* gcc uninit */;
struct stat tmpstat; struct stat tmpstat;
setlocale(LC_ALL, ""); setlocale(LC_ALL, "");
@ -494,14 +513,24 @@ int main(int ac, char **av)
srand(seed); srand(seed);
break; break;
} }
case oldaskconfig:
case oldconfig:
case allnoconfig:
case allyesconfig:
case allmodconfig:
case alldefconfig:
case listnewconfig:
case oldnoconfig:
break;
case '?': case '?':
fprintf(stderr, _("See README for usage info\n")); conf_usage(progname);
exit(1); exit(1);
break; break;
} }
} }
if (ac == optind) { if (ac == optind) {
printf(_("%s: Kconfig file missing\n"), av[0]); printf(_("%s: Kconfig file missing\n"), av[0]);
conf_usage(progname);
exit(1); exit(1);
} }
name = av[optind]; name = av[optind];
@ -644,13 +673,11 @@ int main(int ac, char **av)
} }
return 0; return 0;
} }
/* /*
* Helper function to facilitate fgets() by Jean Sacren. * Helper function to facilitate fgets() by Jean Sacren.
*/ */
void xfgets(str, size, in) void xfgets(char *str, int size, FILE *in)
char *str;
int size;
FILE *in;
{ {
if (fgets(str, size, in) == NULL) if (fgets(str, size, in) == NULL)
fprintf(stderr, "\nError in reading or end of file.\n"); fprintf(stderr, "\nError in reading or end of file.\n");

View file

@ -13,8 +13,7 @@
struct expr *expr_alloc_symbol(struct symbol *sym) struct expr *expr_alloc_symbol(struct symbol *sym)
{ {
struct expr *e = malloc(sizeof(*e)); struct expr *e = calloc(1, sizeof(*e));
memset(e, 0, sizeof(*e));
e->type = E_SYMBOL; e->type = E_SYMBOL;
e->left.sym = sym; e->left.sym = sym;
return e; return e;
@ -22,8 +21,7 @@ struct expr *expr_alloc_symbol(struct symbol *sym)
struct expr *expr_alloc_one(enum expr_type type, struct expr *ce) struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
{ {
struct expr *e = malloc(sizeof(*e)); struct expr *e = calloc(1, sizeof(*e));
memset(e, 0, sizeof(*e));
e->type = type; e->type = type;
e->left.expr = ce; e->left.expr = ce;
return e; return e;
@ -31,8 +29,7 @@ struct expr *expr_alloc_one(enum expr_type type, struct expr *ce)
struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2) struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e2)
{ {
struct expr *e = malloc(sizeof(*e)); struct expr *e = calloc(1, sizeof(*e));
memset(e, 0, sizeof(*e));
e->type = type; e->type = type;
e->left.expr = e1; e->left.expr = e1;
e->right.expr = e2; e->right.expr = e2;
@ -41,8 +38,7 @@ struct expr *expr_alloc_two(enum expr_type type, struct expr *e1, struct expr *e
struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2) struct expr *expr_alloc_comp(enum expr_type type, struct symbol *s1, struct symbol *s2)
{ {
struct expr *e = malloc(sizeof(*e)); struct expr *e = calloc(1, sizeof(*e));
memset(e, 0, sizeof(*e));
e->type = type; e->type = type;
e->left.sym = s1; e->left.sym = s1;
e->right.sym = s2; e->right.sym = s2;

View file

@ -76,9 +76,6 @@ void zconf_nextfile(const char *name);
int zconf_lineno(void); int zconf_lineno(void);
const char *zconf_curname(void); const char *zconf_curname(void);
/* conf.c */
void xfgets(char *str, int size, FILE *in);
/* confdata.c */ /* confdata.c */
const char *conf_get_configname(void); const char *conf_get_configname(void);
const char *conf_get_autoconfig_name(void); const char *conf_get_autoconfig_name(void);
@ -99,9 +96,6 @@ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out)
fprintf(stderr, "\nError in writing or end of file.\n"); fprintf(stderr, "\nError in writing or end of file.\n");
} }
/* kconfig_load.c */
void kconfig_load(void);
/* menu.c */ /* menu.c */
void _menu_init(void); void _menu_init(void);
void menu_warn(struct menu *menu, const char *fmt, ...); void menu_warn(struct menu *menu, const char *fmt, ...);