irom static app_action_t set_unset_flag(application_parameters_t ap, bool_t value) { uint16_t length; if(ap.nargs < 2) { length = snprintf(ap.dst, ap.size, "%s", "flags: "); ap.dst += length; ap.size -= length; length = config_flags_to_string(ap.size, ap.dst, config->flags); ap.dst += length; ap.size -= length; strlcpy(ap.dst, "\n", ap.size); return(app_action_normal); } if(!config_set_flag_by_name((*ap.args)[1], value)) { snprintf(ap.dst, ap.size, "> unknown flag %s\n", (*ap.args)[1]); return(app_action_error); } snprintf(ap.dst, ap.size, "> flag %s %s\n", (*ap.args)[1], onoff(value)); return(app_action_normal); }
irom static app_action_t set_unset_flag(const string_t *src, string_t *dst, bool_t value) { if(parse_string(1, src, dst) == parse_ok) { if(!config_set_flag_by_name(dst, value)) { string_copy(dst, "> unknown flag\n"); return(app_action_error); } } config_flags_to_string(dst, "flags: ", "\n", config.flags); return(app_action_normal); }