[BACK]Return to grid.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/grid.c between version 1.75 and 1.76

version 1.75, 2017/08/30 18:13:47 version 1.76, 2017/09/10 14:36:12
Line 94 
Line 94 
         return (0);          return (0);
 }  }
   
   /* Free up unused extended cells. */
   static void
   grid_compact_line(struct grid_line *gl)
   {
           int                      new_extdsize = 0;
           struct grid_cell        *new_extddata;
           struct grid_cell_entry  *gce;
           struct grid_cell        *gc;
           u_int                    px, idx;
   
           if (gl->extdsize == 0)
                   return;
   
           for (px = 0; px < gl->cellsize; px++) {
                   gce = &gl->celldata[px];
                   if (gce->flags & GRID_FLAG_EXTENDED)
                           new_extdsize++;
           }
   
           if (new_extdsize == 0) {
                   free(gl->extddata);
                   gl->extddata = NULL;
                   gl->extdsize = 0;
                   return;
           }
           new_extddata = xreallocarray(NULL, new_extdsize, sizeof *gl->extddata);
   
           idx = 0;
           for (px = 0; px < gl->cellsize; px++) {
                   gce = &gl->celldata[px];
                   if (gce->flags & GRID_FLAG_EXTENDED) {
                           gc = &gl->extddata[gce->offset];
                           memcpy(&new_extddata[idx], gc, sizeof *gc);
                           gce->offset = idx++;
                   }
           }
   
           free(gl->extddata);
           gl->extddata = new_extddata;
           gl->extdsize = new_extdsize;
   }
   
 /* Set cell as extended. */  /* Set cell as extended. */
 static struct grid_cell *  static struct grid_cell *
 grid_extended_cell(struct grid_line *gl, struct grid_cell_entry *gce,  grid_extended_cell(struct grid_line *gl, struct grid_cell_entry *gce,
Line 285 
Line 327 
         grid_empty_line(gd, yy, bg);          grid_empty_line(gd, yy, bg);
   
         gd->hscrolled++;          gd->hscrolled++;
           grid_compact_line(&gd->linedata[gd->hsize]);
         gd->hsize++;          gd->hsize++;
 }  }
   

Legend:
Removed from v.1.75  
changed lines
  Added in v.1.76