Esempio n. 1
0
static void     treat_asm(t_cmd *line, char *header[2],
                          t_cmd *asms[3], int *pos)
{
  int           i;

  if (line->cmd_code == T_LABEL)
    {
      list_replace_node(asms, &asms[2], line);
      line->bin_size = *pos;
    }
  else if (line->cmd_code == T_NAME || line->cmd_code == T_COMMENT)
    header[line->cmd_code + 3] = line->arg.argv[0];
  else
    {
      line->bin_size = -1;
      line->bin[++(line->bin_size)] = line->cmd_code;
      if (line->cmd_code != T_REG && line->cmd_code != 9 &&
          line->cmd_code != 12 && line->cmd_code != 15)
        fill_arg_type(line, &(line->bin_size));
      i = -1;
      while (++i < MAX_ARGS_NUMBER && line->arg.type[i] != 0)
        fill_arg(line, &(line->bin_size), my_getnbr(line->arg.argv[i]),
                 get_arg_size(line->cmd_code, i, line->arg.type[i]));
      *pos += line->bin_size + 1;
    }
}
Esempio n. 2
0
void PagerSource::SwapRequest(page_request_t* old, page_request_t* new_req) {
    Guard<fbl::Mutex> guard{&mtx_};
    ASSERT(!closed_);

    if (list_in_list(&old->node)) {
        list_replace_node(&old->node, &new_req->node);
    } else if (old == active_request_) {
        active_request_ = new_req;
    }
}