mirror of https://git.cro.wtf/kip.git
41 lines
852 B
C
41 lines
852 B
C
#include"../u.h"
|
|
#define AEQ(a,b)Q((a)!=(b),die("assertion failed at line %d\n",__LINE__))
|
|
|
|
V tsl(V){
|
|
AEQ(4,Sl("meow").l);}
|
|
V tseql(V){
|
|
AEQ(0,seql(Sl("meow"),Sl("rewr")));
|
|
AEQ(1,seql(Sl("meow"),Sl("meow")));}
|
|
V tsnxt(V){
|
|
S n=Sl("meow/rewr/:3");
|
|
AEQ(1,seql(Sl("meow"),snxt(n,'/')))
|
|
AEQ(1,seql(Sl("rewr"),snxt(S0,'/')))
|
|
AEQ(1,seql(Sl(":3"),snxt(S0,'/')))
|
|
AEQ(0,snxt(S0,'/').l)}
|
|
|
|
V thputgetgrw(V){Ht h;
|
|
hini(&h,1,SZ(W));
|
|
*(W*)hput(&h,Sl("meow"))=1;
|
|
*(W*)hput(&h,Sl("rewr"))=2;
|
|
AEQ(1,*Hget(W,h,Sl("meow")));
|
|
AEQ(2,*Hget(W,h,Sl("rewr")));}
|
|
V thgetnul(V){Ht h;
|
|
hini(&h,4,SZ(W));
|
|
AEQ(0,Hget(W,h,Sl("meow")));}
|
|
V thgrw(V){Ht h;
|
|
hini(&h,2,SZ(W));
|
|
*(W*)hput(&h,Sl("meow"))=1;
|
|
hgrw(&h,8);
|
|
AEQ(1,*Hget(W,h,Sl("meow"))); }
|
|
|
|
I main(V){
|
|
/*S*/
|
|
tsl();
|
|
tseql();
|
|
tsnxt();
|
|
/*Ht*/
|
|
thputgetgrw();
|
|
thgetnul();
|
|
thgrw();
|
|
}
|