restore *.orig.c to each entry
Under each yyyy/dir there is a file of the form '*.orig.c' containing the original source code, or as close as we can get to the original source code.
This commit is contained in:
1 parent
cfd253683f
commit
2ba12ecc3c
320 files changed
+21365
No files matched your search
@@ -0,0 +1,14 @@
|
||||
typedef unsigned char B;B*x[]={
|
||||
#include "dict.h"
|
||||
0};typedef struct L{B*s;struct L*n;}L;
|
||||
L*h[128],*l[128],*s[128],Z[sizeof x/sizeof*x],*F=Z;int c[256],m,a=1;
|
||||
int k(B*q){int g=0;B*p=q;while(*p)g|=!c[*p++]--;return g-1&p-q;}
|
||||
void u(B*p){while(*p)c[*p++]++;}
|
||||
void S(int N,int r,int t,L*W){L*w;int i,n;
|
||||
for(n=r<N?r:N;n>0;n--)for(w=n==N?W:h[n];s[t]=w;u(w->s),w=w->n)if(k(w->s))
|
||||
if(n==r){if(t==m-1)for(i=a=0;i<=t;i++)printf("%s%c",s[i]->s,i<t?' ':'\n');}
|
||||
else if(t<m-1)S(n,r-n,t+1,s[t]=w);}
|
||||
int main(int C,B**A){int i=0,g,n=0;B*p;while(--C)for(p=*++A;n<127&&*p;)c[*p++]++,n++;
|
||||
for(;p=x[i++];u(p))if(g=k(p))(l[g]=*(l[g]?&l[g]->n:&h[g])=F++)->s=p;
|
||||
while(++m<128)S(127,n,0,h[127]);
|
||||
return a;}
|
||||
Reference in new issue
Block a user