home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / OSK / APPS / macutils.lzh / MACUTILS / HEXBIN / crc.c < prev    next >
Text File  |  1996-02-01  |  780b  |  46 lines

  1. /* crc.c; do crc calculation. */
  2. #ifndef OSK
  3. #include <stdio.h>
  4. #endif
  5. #include "hexbin.h"
  6. #include "crc.h"
  7. #include "../util/masks.h"
  8. #include "globals.h"
  9.  
  10. extern void exit();
  11.  
  12. unsigned long _crc;
  13.  
  14. #ifdef HQX
  15. void comp_q_crc(c)
  16. register unsigned int c;
  17. {
  18.     unsigned char cc = c;
  19.  
  20.     _crc = binhex_updcrc(_crc, &cc, 1);
  21. }
  22.  
  23. void comp_q_crc_n(s, e)
  24. register unsigned char *s, *e;
  25. {
  26.     _crc = binhex_updcrc(_crc, s, e - s);
  27. }
  28. #endif /* HQX */
  29.  
  30. void verify_crc(calc_crc, file_crc)
  31. unsigned long calc_crc, file_crc;
  32. {
  33.     calc_crc &= WORDMASK;
  34.     file_crc &= WORDMASK;
  35.  
  36.     if(calc_crc != file_crc) {
  37.         (void)fprintf(stderr, "CRC mismatch: got 0x%04lx, need 0x%04lx\n",
  38.         file_crc, calc_crc);
  39. #ifdef SCAN
  40.     do_error("hexbin: CRC error");
  41. #endif /* SCAN */
  42.     exit(1);
  43.     }
  44. }
  45.  
  46.