home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume8 / travesty / patch1 / patches01
Text File  |  1990-01-11  |  7KB  |  258 lines

  1. *** ../../travesty/CHANGES    Wed Dec 20 10:05:45 1989
  2. --- CHANGES    Thu Jan  4 16:09:38 1990
  3. ***************
  4. *** 1 ****
  5. --- 1,5 ----
  6. + travesty version 1.1, 12/23/89.
  7. + Changed cmp() to a slow, portable, inline version. Is ctoi() guaranteed?
  8.   travesty version 1.0, 12/17/89.
  9. *** ../../travesty/README    Wed Dec 20 10:05:46 1989
  10. --- README    Thu Jan  4 16:09:39 1990
  11. ***************
  12. *** 1,10 ****
  13.   travesty - make a travesty of the input
  14.   
  15. ! travesty version 1.0, 12/17/89.
  16.   Copyright (c) 1989, Daniel J. Bernstein.
  17.   All rights reserved.
  18.   
  19. ! This distribution packaged 12/17/89.
  20.   
  21.   Files:
  22.   CHANGES         Description of changes since first distributed version
  23. --- 1,10 ----
  24.   travesty - make a travesty of the input
  25.   
  26. ! travesty version 1.1, 12/23/89.
  27.   Copyright (c) 1989, Daniel J. Bernstein.
  28.   All rights reserved.
  29.   
  30. ! This distribution packaged 12/23/89.
  31.   
  32.   Files:
  33.   CHANGES         Description of changes since first distributed version
  34. *** ../../travesty/travesty.c    Wed Dec 20 10:05:49 1989
  35. --- travesty.c    Thu Jan  4 16:09:41 1990
  36. ***************
  37. *** 7,22 ****
  38.   Internet address: brnstnd@acf10.nyu.edu.\n";
  39.   
  40.   static char travestyversion[] = 
  41. ! "travesty version 1.0, 12/17/89.\n\
  42.   Copyright (c) 1989, Daniel J. Bernstein.\n\
  43.   All rights reserved.\n";
  44.   
  45.   static char travestycopyright[] =
  46. ! "travesty version 1.0, 12/17/89.\n\
  47.   Copyright (c) 1989, Daniel J. Bernstein.\n\
  48.   All rights reserved.\n\
  49.   \n\
  50. ! Until January 1, 1993, you are granted the following rights: A. To make\n\
  51.   copies of this work in original form, so long as (1) the copies are exact\n\
  52.   and complete; (2) the copies include the copyright notice, this paragraph,\n\
  53.   and the disclaimer of warranty in their entirety. B. To distribute this\n\
  54. --- 7,22 ----
  55.   Internet address: brnstnd@acf10.nyu.edu.\n";
  56.   
  57.   static char travestyversion[] = 
  58. ! "travesty version 1.1, 12/23/89.\n\
  59.   Copyright (c) 1989, Daniel J. Bernstein.\n\
  60.   All rights reserved.\n";
  61.   
  62.   static char travestycopyright[] =
  63. ! "travesty version 1.1, 12/23/89.\n\
  64.   Copyright (c) 1989, Daniel J. Bernstein.\n\
  65.   All rights reserved.\n\
  66.   \n\
  67. ! Until January 1, 1994, you are granted the following rights: A. To make\n\
  68.   copies of this work in original form, so long as (1) the copies are exact\n\
  69.   and complete; (2) the copies include the copyright notice, this paragraph,\n\
  70.   and the disclaimer of warranty in their entirety. B. To distribute this\n\
  71. ***************
  72. *** 26,32 ****
  73.   includes the copyright notice, this paragraph, and the disclaimer of\n\
  74.   warranty in their entirety. These rights are temporary and revocable upon\n\
  75.   written, oral, or other notice by Daniel J. Bernstein. These rights are\n\
  76. ! automatically revoked on January 1, 1993. This copyright notice shall be\n\
  77.   governed by the laws of the state of New York.\n\
  78.   \n\
  79.   If you have questions about travesty or about this copyright notice,\n\
  80. --- 26,32 ----
  81.   includes the copyright notice, this paragraph, and the disclaimer of\n\
  82.   warranty in their entirety. These rights are temporary and revocable upon\n\
  83.   written, oral, or other notice by Daniel J. Bernstein. These rights are\n\
  84. ! automatically revoked on January 1, 1994. This copyright notice shall be\n\
  85.   governed by the laws of the state of New York.\n\
  86.   \n\
  87.   If you have questions about travesty or about this copyright notice,\n\
  88. ***************
  89. *** 89,99 ****
  90.   #include "djbatoi.h"
  91.   
  92.   /* The following macro had better make chars into ints from 0 thru 255. */
  93.   #define ctoi(x) ((unsigned int) (x))
  94.   #define copy(s,t,len) bcopy(s,t,len)
  95. - #define cmp(s,t,len) bcmp(s,t,len) /* had better return signed value! */
  96.   
  97.   #define ran(n) (((random() % n) + n) % n) /* idiotic % can be negative */
  98.   
  99.   #define MAXORD 20
  100. --- 89,111 ----
  101.   #include "djbatoi.h"
  102.   
  103.   /* The following macro had better make chars into ints from 0 thru 255. */
  104.   #define ctoi(x) ((unsigned int) (x))
  105.   #define copy(s,t,len) bcopy(s,t,len)
  106.   
  107. + int cmp(s,t,len) /* needs to return a signed value; bcmp() not portable */
  108. + register char *s;
  109. + register char *t;
  110. + register int len;
  111. + {
  112. +  while (len--)
  113. +    if (*s != *t)
  114. +      return((ctoi(*s) > ctoi(*t)) * 2 - 1);
  115. +    else
  116. +      s++,t++;
  117. +  return(0);
  118. + }
  119.   #define ran(n) (((random() % n) + n) % n) /* idiotic % can be negative */
  120.   
  121.   #define MAXORD 20
  122. ***************
  123. *** 104,110 ****
  124.   int ord1;
  125.   int seed;
  126.   
  127. ! int s[MAXORD + 1][257];
  128.   char *c;
  129.   int curc;
  130.   int *p;
  131. --- 116,122 ----
  132.   int ord1;
  133.   int seed;
  134.   
  135. ! int s[MAXORD + 1][257]; /* dynamic? not worth it */
  136.   char *c;
  137.   int curc;
  138.   int *p;
  139. ***************
  140. *** 143,178 ****
  141.       }
  142.   }
  143.   
  144. ! sort(l,u,m)
  145.   register int l,u; /* we are useless if l == u; we crash if l > u */
  146.   register int m;
  147.   {
  148.    register int i;
  149.    register int ch;
  150.   
  151.    if (m > ord)
  152.      return;
  153.   
  154.    for (ch = 0; ch < 256; ch++)
  155. !    s[m][ch] = 0;
  156.   
  157.    for (i = l; i <= u; i++)
  158. !    s[m][ctoi(c[p[i] * ord1 + m])]++;
  159.   
  160. !  s[m][0] += l - 1;
  161.    for (ch = 1; ch < 256; ch++)
  162. !    s[m][ch] += s[m][ch - 1];
  163.   
  164.    for (i = u; i >= l; i--)
  165. !    q[s[m][ctoi(c[p[i] * ord1 + m])]--] = p[i]; /* trust me. */
  166.   
  167.    for (i = l; i <= u; i++)
  168.      p[i] = q[i];
  169.   
  170. !  s[m][256] = u;
  171.    for (ch = 0; ch < 256; ch++)
  172. !    if (s[m][ch] + 1 < s[m][ch + 1]) /* anything to save a procedure call */
  173. !      sort(s[m][ch] + 1,s[m][ch + 1],m + 1);
  174.   }
  175.   
  176.   zeroq()
  177. --- 155,191 ----
  178.       }
  179.   }
  180.   
  181. ! sort(l,u,m) /* recursive */
  182.   register int l,u; /* we are useless if l == u; we crash if l > u */
  183.   register int m;
  184.   {
  185.    register int i;
  186.    register int ch;
  187. +  register int *sm = s[m];
  188.   
  189.    if (m > ord)
  190.      return;
  191.   
  192.    for (ch = 0; ch < 256; ch++)
  193. !    sm[ch] = 0;
  194.   
  195.    for (i = l; i <= u; i++)
  196. !    sm[ctoi(c[p[i] * ord1 + m])]++;
  197.   
  198. !  sm[0] += l - 1;
  199.    for (ch = 1; ch < 256; ch++)
  200. !    sm[ch] += sm[ch - 1];
  201.   
  202.    for (i = u; i >= l; i--)
  203. !    q[sm[ctoi(c[p[i] * ord1 + m])]--] = p[i]; /* trust me. */
  204.   
  205.    for (i = l; i <= u; i++)
  206.      p[i] = q[i];
  207.   
  208. !  sm[256] = u;
  209.    for (ch = 0; ch < 256; ch++)
  210. !    if (sm[ch] + 1 < sm[ch + 1]) /* anything to save a procedure call */
  211. !      sort(sm[ch] + 1,sm[ch + 1],m + 1);
  212.   }
  213.   
  214.   zeroq()
  215. ***************
  216. *** 185,192 ****
  217.   
  218.   sigalrm()
  219.   {
  220. !  fprintf(stderr,"Seed: %d\n",seed);
  221. !  fflush(stderr);
  222.   }
  223.   
  224.   main(argc,argv,envp)
  225. --- 198,205 ----
  226.   
  227.   sigalrm()
  228.   {
  229. !  (void) fprintf(stderr,"Seed: %d\n",seed);
  230. !  (void) fflush(stderr);
  231.   }
  232.   
  233.   main(argc,argv,envp)
  234. *** ../../travesty/travesty.man    Wed Dec 20 10:05:48 1989
  235. --- travesty.man    Thu Jan  4 16:09:40 1990
  236. ***************
  237. *** 109,115 ****
  238.   has been tested
  239.   on an Astronautics ZS-2 running ZSUnix.
  240.   .SH VERSION
  241. ! travesty version 1.0, dated 12/17/89.
  242.   .SH AUTHOR
  243.   Copyright 1989, Daniel J. Bernstein.
  244.   .SH "SEE ALSO"
  245. --- 109,115 ----
  246.   has been tested
  247.   on an Astronautics ZS-2 running ZSUnix.
  248.   .SH VERSION
  249. ! travesty version 1.1, dated 12/23/89.
  250.   .SH AUTHOR
  251.   Copyright 1989, Daniel J. Bernstein.
  252.   .SH "SEE ALSO"
  253.