|
@@ -23,6 +23,7 @@ static bool sysvar_bool_fromstr(sysvar_t *to, const char *from)
|
|
case 's':
|
|
case 's':
|
|
to->v_bool = true;
|
|
to->v_bool = true;
|
|
return true;
|
|
return true;
|
|
|
|
+ case ' ': /* Blank or null */
|
|
case '0':
|
|
case '0':
|
|
case 'f':
|
|
case 'f':
|
|
case 'n':
|
|
case 'n':
|
|
@@ -246,7 +247,7 @@ const struct sysvar_ops sysvar_mac_ops = {
|
|
/* --- Generic getters/setters --- */
|
|
/* --- Generic getters/setters --- */
|
|
|
|
|
|
/* Contains the lowest numbered sysvar changed; or sysvar_count if nothing */
|
|
/* Contains the lowest numbered sysvar changed; or sysvar_count if nothing */
|
|
-enum sysvars_enum sysvar_changed;
|
|
|
|
|
|
+enum sysvar_enum sysvar_changed;
|
|
|
|
|
|
sysvar_t getvar(size_t var)
|
|
sysvar_t getvar(size_t var)
|
|
{
|
|
{
|
|
@@ -276,7 +277,7 @@ static bool do_setvar(size_t var, sysvar_t val, bool is_set)
|
|
free(free_ptr);
|
|
free(free_ptr);
|
|
|
|
|
|
if (var < (size_t)sysvar_changed)
|
|
if (var < (size_t)sysvar_changed)
|
|
- sysvar_changed = (enum sysvars_enum)var;
|
|
|
|
|
|
+ sysvar_changed = (enum sysvar_enum)var;
|
|
|
|
|
|
sysvar_isset[var] = is_set;
|
|
sysvar_isset[var] = is_set;
|
|
if (type->update)
|
|
if (type->update)
|
|
@@ -340,7 +341,7 @@ bool setvar_fromstr(size_t var, const char *str)
|
|
return false;
|
|
return false;
|
|
|
|
|
|
if (var < (size_t)sysvar_changed)
|
|
if (var < (size_t)sysvar_changed)
|
|
- sysvar_changed = (enum sysvars_enum)var;
|
|
|
|
|
|
+ sysvar_changed = (enum sysvar_enum)var;
|
|
|
|
|
|
if (free_ptr)
|
|
if (free_ptr)
|
|
free(free_ptr);
|
|
free(free_ptr);
|
|
@@ -365,9 +366,10 @@ size_t sysvar_find(size_t ns, const char *name)
|
|
|
|
|
|
const sysvar_ns_t *nsi = &sysvar_ns[ns];
|
|
const sysvar_ns_t *nsi = &sysvar_ns[ns];
|
|
const char * const *varname;
|
|
const char * const *varname;
|
|
|
|
+ const size_t count = nsi[1].first - nsi->first;
|
|
|
|
|
|
varname = bsearch(name, sysvar_name + nsi->first,
|
|
varname = bsearch(name, sysvar_name + nsi->first,
|
|
- nsi->count, sizeof(const char *),
|
|
|
|
|
|
+ count, sizeof(const char *),
|
|
string_ptr_compare);
|
|
string_ptr_compare);
|
|
if (!varname)
|
|
if (!varname)
|
|
return 0;
|
|
return 0;
|
|
@@ -379,7 +381,7 @@ size_t sysvar_find(size_t ns, const char *name)
|
|
|
|
|
|
void sysvar_reset(void)
|
|
void sysvar_reset(void)
|
|
{
|
|
{
|
|
- for (size_t i = sysvar_null; i < (size_t)sysvar_count; i++)
|
|
|
|
|
|
+ for (enum sysvar_enum i = sysvar_null; i < sysvar_count; i++)
|
|
unsetvar(i);
|
|
unsetvar(i);
|
|
|
|
|
|
sysvar_changed = sysvar_null;
|
|
sysvar_changed = sysvar_null;
|