home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / dos / communic / sercom / crc.c < prev    next >
Encoding:
Text File  |  1986-09-04  |  500 b   |  29 lines

  1. unsigned onecrc(crc, cp)
  2. register unsigned int crc;
  3. char cp;
  4.  
  5. {
  6. register int count;
  7. unsigned c;
  8.  
  9.     c = cp & 255;
  10.  
  11.     for (count = 8; --count >= 0; ) {
  12.         if (crc & 0x8000) {
  13.             crc <<= 1;
  14.             crc += (((c <<= 1) & 0400) != 0);
  15.             crc ^= 0x1021;
  16.         }
  17.  
  18.         else {
  19.             crc <<= 1;
  20.             crc += (((c <<= 1) & 0400) != 0);
  21.         }
  22.     }
  23.  
  24.     return(crc);
  25. }
  26.  
  27.  
  28. /* Figure 16.12: CRC-CCITT calculation for one character */
  29.