home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / unix / volume19 / fbm / part01 / idiff.c < prev    next >
C/C++ Source or Header  |  1989-06-08  |  1KB  |  50 lines

  1. /*****************************************************************
  2.  * idiff.c: FBM Library 0.9 (Beta test) 07-Mar-89  Michael Mauldin
  3.  *
  4.  * Copyright (C) 1989 by Michael Mauldin.  Permission is granted to
  5.  * use this file in whole or in part provided that you do not sell it
  6.  * for profit and that this copyright notice is retained unchanged.
  7.  *
  8.  * idiff.c: 
  9.  *
  10.  * USAGE
  11.  *    % idiff [ flags ] arguments
  12.  *
  13.  * EDITLOG
  14.  *    LastEditDate = Tue Mar  7 17:23:58 1989 - Michael Mauldin
  15.  *    LastFileName = /usr2/mlm/src/misc/fbm/idiff.c
  16.  *
  17.  * HISTORY
  18.  * 07-Mar-89  Michael Mauldin (mlm) at Carnegie Mellon University
  19.  *    Beta release (version 0.9) mlm@cs.cmu.edu
  20.  *
  21.  * 18-Aug-88  Michael Mauldin (mlm) at Carnegie-Mellon University
  22.  *    Created.
  23.  *****************************************************************/
  24.  
  25. # include <stdio.h>
  26.  
  27. # define USAGE \
  28. "Usage: idiff < original > delta\n       udiff < delta > original"
  29.  
  30. #ifndef lint
  31. static char *fbmid =
  32.     "$FBM idiff.c <0.9> 07-Mar-89  (C) 1989 by Michael Mauldin$";
  33. #endif
  34.  
  35. main (argc, argv)
  36. char *argv[];
  37. { register int ch, lastch=0;
  38.  
  39.   if (argc > 1 || !strcmp (argv[0] + strlen (argv[0]) - 5, "udiff"))
  40.   { while ((ch = getchar ()) != EOF)
  41.     { putchar (lastch = ((ch+lastch) & 255)); }
  42.   }
  43.   else
  44.   { while ((ch = getchar ()) != EOF)
  45.     { putchar ((ch-lastch) & 255);
  46.       lastch = ch;
  47.     }
  48.   }
  49. }
  50.