home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / libc / gen / l3.c < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  605 b   |  53 lines

  1. /*
  2.  * Convert longs to and from 3-byte disk addresses
  3.  */
  4. ltol3(cp, lp, n)
  5. char    *cp;
  6. long    *lp;
  7. int    n;
  8. {
  9.     register i;
  10.     register char *a, *b;
  11.  
  12.     a = cp;
  13.     b = (char *)lp;
  14.     for(i=0;i<n;i++) {
  15. #ifdef interdata
  16.         b++;
  17.         *a++ = *b++;
  18.         *a++ = *b++;
  19.         *a++ = *b++;
  20. #else
  21.         *a++ = *b++;
  22.         b++;
  23.         *a++ = *b++;
  24.         *a++ = *b++;
  25. #endif
  26.     }
  27. }
  28.  
  29. l3tol(lp, cp, n)
  30. long    *lp;
  31. char    *cp;
  32. int    n;
  33. {
  34.     register i;
  35.     register char *a, *b;
  36.  
  37.     a = (char *)lp;
  38.     b = cp;
  39.     for(i=0;i<n;i++) {
  40. #ifdef interdata
  41.         *a++ = 0;
  42.         *a++ = *b++;
  43.         *a++ = *b++;
  44.         *a++ = *b++;
  45. #else
  46.         *a++ = *b++;
  47.         *a++ = 0;
  48.         *a++ = *b++;
  49.         *a++ = *b++;
  50. #endif
  51.     }
  52. }
  53.