void set_cmd_state(t_param *param, int type, int status) { param->cmd_state = 0; if (type) { param->cmd_state |= STATE_BUILT; param->cmd_state |= status; set_last_state(param, status); } else { if (WIFSIGNALED(status)) { param->cmd_state |= STATE_KILL; param->cmd_state |= WTERMSIG(status); set_last_state(param, WTERMSIG(status) + 128); } if (WIFEXITED(status)) { param->cmd_state |= STATE_EXIT; param->cmd_state |= WEXITSTATUS(status); set_last_state(param, WEXITSTATUS(status)); } } }
void State::set_state(int st) { set_last_state(get_state()); state = st; }