Ejemplo n.º 1
0
static char	*
game_line(struct s_grid *grid, char *data, int *pc, int line, coord *select)
{
    int i;

    data[(*pc)++] = '|';
    for (i = 0; i < grid->longer; ++i) {
        if (grid->cases[line][i].display != '?' &&
            grid->cases[line][i].display != ' ')
                data = insert_char_color(data, pc, grid->cases[line][i].display);
        else if (grid->cases[line][i].display == '?')
            data = insert_bold(data, pc);

        data[(*pc)++] = grid->cases[line][i].display;

        if (line == select->y && i == select->x)
            data = insert_background(data, pc, black);

        data = suppr_color(data, pc);
        data[(*pc)++] = '|';
    }

    data[(*pc)++] = '\n';

    return data;
}
Ejemplo n.º 2
0
void dispatch()
{
    PCB *pcb;
	
    if(PTBR->pcb->status == running)
    {   /*insert process in ready queue*/
		insert_ready(PTBR->pcb);
	}
    //pcb = hf; //if pcb = head here, would it ever go to hb?
    
    if(pcb == hf)
       {
            PTBR = pcb->page_tbl;
            prepage(pcb);
            pcb->status = running;
            pcb->last_dispatch = get_clock();
            set_timer(Quantum);
            insert_background(PTBR->pcb);
        }
        else if (pcb == hb)
        {
            PTBR = pcb->page_tbl;
            prepage(pcb);
            pcb->status = running;
            pcb->last_dispatch = get_clock();
            set_timer(Quantum);
        }

        else
        {
            PTBR = NULL;
        }
}