Newer
Older
/*
** opt_shopt.c for 42sh
**
** Made by Seblu
** Login <seblu@epita.fr>
**
** Started on Tue Mar 21 19:00:38 2006 Seblu
*/
/*
** ============
** DECLARATIONS
** ============
static const char *opts_table[OPTION_COUNT] = {
"xpg_echo",
"dotglob",
"extglob",
"nocaseglob",
"nullglob",
"expand_aliases",
"ast_print",
"readline",
};
/*
** ===========
** DEFINITIONS
** ===========
void option_set_default(s_option *shopt)
{
//unset all
for (int i = 0; i < OPTION_COUNT; ++i)
shopt->item[i] = 0;
//set those which are on by default
option_set(shopt, "readline");
}
int option_set(s_option *shopt, const char *name)
{
register int i;
for (i = 0; opts_table[i]; ++i)
shopt->item[i] = 1;
return 1;
}
return 0;
}
{
register int i;
for (i = 0; opts_table[i]; ++i)
if (!strcmp(name, opts_table[i]))
{
shopt->item[i] = 0;
return 1;
}
return 0;
}