home *** CD-ROM | disk | FTP | other *** search
/ ftp.update.uu.se / ftp.update.uu.se.2014.03.zip / ftp.update.uu.se / pub / rainbow / cpm / emacs / emacssrc.lzh / lowreg.c < prev    next >
C/C++ Source or Header  |  1992-03-11  |  843b  |  39 lines

  1. #include    "stdio.h"
  2. #include    "ed.h"
  3.  
  4. /* lowreg.c
  5.  * Lower case region. Zap all of the upper
  6.  * case characters in the region to lower case. Use
  7.  * the region code to set the limits. Scan the buffer,
  8.  * doing the changes. Call "lchange" to ensure that
  9.  * redisplay is done in all buffers. Bound to 
  10.  * "C-X C-L".
  11.  */
  12. ovmain(x, f, n)
  13. {
  14.     register LINE    *linep;
  15.     register int    loffs;
  16.     register int    c;
  17.     register int    s;
  18.     REGION        region;
  19.  
  20.     if ((s=getregion(®ion)) != TRUE)
  21.         return (s);
  22.     lchange(WFHARD);
  23.     linep = region.r_linep;
  24.     loffs = region.r_offset;
  25.     while (region.r_size--) {
  26.         if (loffs == llength(linep)) {
  27.             linep = lforw(linep);
  28.             loffs = 0;
  29.         } else {
  30.             c = lgetc(linep, loffs);
  31.             if (c>='A' && c<='Z')
  32.                 lputc(linep, loffs, c+'a'-'A');
  33.             ++loffs;
  34.         }
  35.     }
  36.     return (TRUE);
  37. }
  38. #include "getreg.c"
  39.