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

Diff for /src/usr.bin/mg/region.c between version 1.8 and 1.9

version 1.8, 2002/02/16 21:27:49 version 1.9, 2002/02/20 22:30:54
Line 95 
Line 95 
   
         if ((s = getregion(&region)) != TRUE)          if ((s = getregion(&region)) != TRUE)
                 return s;                  return s;
   
           undo_add_change(region.r_linep, region.r_offset, region.r_size);
   
         lchange(WFHARD);          lchange(WFHARD);
         linep = region.r_linep;          linep = region.r_linep;
         loffs = region.r_offset;          loffs = region.r_offset;
Line 129 
Line 132 
   
         if ((s = getregion(&region)) != TRUE)          if ((s = getregion(&region)) != TRUE)
                 return s;                  return s;
   
           undo_add_change(region.r_linep, region.r_offset, region.r_size);
   
         lchange(WFHARD);          lchange(WFHARD);
         linep = region.r_linep;          linep = region.r_linep;
         loffs = region.r_offset;          loffs = region.r_offset;
Line 305 
Line 311 
         return s;          return s;
 }  }
 #endif /* PREFIXREGION */  #endif /* PREFIXREGION */
   
   
   int
   region_get_data(REGION *reg, char *buf, int len)
   {
           int i, off;
           LINE *lp;
   
           i = 0;
           off = reg->r_offset;
           lp = reg->r_linep;
           while (i < len) {
                   if (off == llength(lp)) {
                           lp = lforw(lp);
                           if (lp == curwp->w_linep)
                                   break;
                           off = 0;
                           buf[i] = '\n';
                   } else {
                           buf[i] = lgetc(lp, off);
                           off++;
                   }
                   i++;
           }
           return i;
   }
   
   int
   region_put_data(const char *buf, int len)
   {
           int i;
   
           for (i = 0; i < len; i++) {
                   if (buf[i] == '\n')
                           lnewline();
                   else
                           linsert(1, buf[i]);
           }
           return 0;
   }
   
   

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9