home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / bbbsr2.zip / scripts / script.bz < prev    next >
Text File  |  1997-06-26  |  14KB  |  677 lines

  1. #include <stdlib.bzh>
  2.  
  3. int globtest_1=1;
  4.  
  5. int globtest_0;
  6.  
  7. int already_voted(char username, char votename) {
  8.   int f;
  9.   char s;
  10.  
  11.   if ((f=fopen(votename,"rt"))==-1) return(0);
  12.   while (1) {
  13.     s=fgets(f);
  14.     if (feof(f)) {
  15.       fclose(f);
  16.       return(0);
  17.     }
  18.     if (s==username) {
  19.       fclose(f);
  20.       return(1);
  21.     }
  22.     fgets(f);
  23.   }
  24. }
  25.  
  26. int add_to_vote(char username, char votename, char voteletters) {
  27.   int f;
  28.  
  29.   f=fopen(votename,"at");
  30.   fprintf(f,"%s\n%s\n",username,voteletters);
  31.   fclose(f);
  32. }
  33.  
  34. int summary_votes(char votename, char voteletter) {
  35.   int f, sum;
  36.  
  37.   if ((f=fopen(votename,"rt"))==-1) return(0);
  38.   sum=0;
  39.   while (1) {
  40.     fgets(f);
  41.     if (feof(f)) {
  42.       fclose(f);
  43.       return(sum);
  44.     }
  45.     if (pos(voteletter,fgets(1))) sum=sum+1;
  46.   }
  47. }
  48.  
  49. int testit2(int foo) {
  50.   printf("$foo2=%s\n",foo);
  51.   return(foo+1);
  52. }
  53.  
  54. int testit(int foo) {
  55.   printf("$foo=%04u\n",foo);
  56.   return(testit2(foo+1));
  57. }
  58.  
  59. char testi(char ugh) {
  60.   return(ugh);
  61. }
  62.  
  63. int testrev(int a, int b, int c) {
  64.   printf("yksi=%u, kaksi=%u, kolme=%u\n",a,b,c);
  65. }
  66.  
  67. int paratest() {
  68.   int s=4+5;
  69.   return(s+1);
  70. }
  71.  
  72. int exp_bzc() {
  73.   for (int i=0; i<4; i++) printf("%u\n",i);
  74.   if ((int a=3)==3) printf("ok\n");
  75.   else printf("error\n");
  76.   switch (int b=3) {
  77.     case int c=b-2: { printf("error\n"); break; }
  78.     case ++c:       { printf("error\n"); break; }
  79.     case c++:       { printf("error\n"); break; }
  80.     case --b:       { printf("error\n"); break; }
  81.     case c:         { printf("ok\n"); break; }
  82.     default:        { printf("error\n"); break; }
  83.   }
  84.   printf("over\n");
  85. }
  86.  
  87. int globtest_2=2;
  88.  
  89. int math_bzc() {
  90.   int i;
  91.  
  92.   i=42; i[1]=24; i+=2; i[1]+=2; printf("i=%u, []=%u\n",i,i[1]);
  93.   i=42; i[1]=24; i-=2; i[1]-=2; printf("i=%u, []=%u\n",i,i[1]);
  94.   i=42; i[1]=24; i*=2; i[1]*=2; printf("i=%u, []=%u\n",i,i[1]);
  95.   i=42; i[1]=24; i/=2; i[1]/=2; printf("i=%u, []=%u\n",i,i[1]);
  96.   i=42; i[1]=24; i&=2; i[1]&=2; printf("i=%u, []=%u\n",i,i[1]);
  97.   i=42; i[1]=24; i|=2; i[1]|=2; printf("i=%u, []=%u\n",i,i[1]);
  98.   i=42; i[1]=24; i^=2; i[1]^=2; printf("i=%u, []=%u\n",i,i[1]);
  99.   i=42; i[1]=24; i>>=2; i[1]>>=2; printf("i=%u, []=%u\n",i,i[1]);
  100.   i=42; i[1]=24; i<<=2; i[1]<<=2; printf("i=%u, []=%u\n",i,i[1]);
  101. }
  102.  
  103. int iinit() {
  104.   int i, j;
  105.  
  106.   i[5]=6;
  107.   i={1,2,3,4,5};
  108.   i[6]={3+4,i[1]+6,-1};
  109.   for (j=0; i[j]!=-1 && j<10; ++j)
  110.     printf("%u\n",i[j]);
  111. }
  112.  
  113. int globtest_3[1]={1,2,3};
  114.  
  115. int main() {
  116.   int bar, foo, i, f;
  117.  
  118.   if (stupcase(bu_name)!=stupcase(bg_sysop_name))
  119.     printf("\nSorry, no questionnaire available.\n\n");
  120.   else {
  121.  
  122.     printf("time=%u\n",time());
  123.     printf("idle=%u\n",getnodestatus(bv_nodenumber,GNS_IDLE));
  124.  
  125. exit(1);
  126.  
  127.     printf("%u\n",strlen(bv_groups));
  128.  
  129. exit(1);
  130.  
  131.     printf("1\n*\n2\n4\n\n\e[2A\e[1L3\r\e[2A\e[1M\e[4B");
  132.  
  133. exit(1);
  134.  
  135.     bar=42;
  136.     foo=10;
  137.     printf("bar=%d, foo=%d\n",bar,foo);
  138.     bar+=(foo-30);
  139.     printf("(bar+=(foo-30))=%d\n",bar);
  140.  
  141.     bar=42;
  142.     foo=10;
  143.     printf("bar=%d, foo=%d\n",bar,foo);
  144.     bar+=foo-30;
  145.     printf("(bar+=foo-30)=%d\n",bar);
  146.  
  147.     bar=42;
  148.     foo=10;
  149.     printf("bar=%d, foo=%d\n",bar,foo);
  150.     bar-=(foo-30);
  151.     printf("(bar-=(foo-30))=%d\n",bar);
  152.  
  153.     bar=42;
  154.     foo=10;
  155.     printf("bar=%d, foo=%d\n",bar,foo);
  156.     bar-=foo-30;
  157.     printf("(bar-=foo-30)=%d\n",bar);
  158.  
  159.     math_bzc();
  160.  
  161. exit(1);
  162.  
  163.     fopen("error","error");
  164.  
  165. exit(1);
  166.  
  167.     bv_temptime=3;
  168.  
  169. exit(1);
  170.  
  171.     for (i=0; !loaduser(i); ++i) {
  172.       if ((bu_readmode & 15)==2) printf("%s\n",bu_name);
  173.       freeuser();
  174.     }
  175.  
  176. exit(1);
  177.  
  178.     _delay(1000);
  179.     bbbs("q mg nul");
  180.  
  181. exit(1);
  182.  
  183.     for (i=0; i<30; i++) setenv("\1COLORS","");
  184.  
  185. exit(1);
  186.  
  187.     showfile("testfile");
  188.     printf("printf=%u\n",printf("abc"));
  189.     printf("delay=%u\n",delay(1));
  190.  
  191. exit(1);
  192.  
  193.     printf("?=%u\n",globtest_0);
  194.     printf("1=%u, %u\n",globtest_1,globtest_3[1]);
  195.     printf("2=%u, %u\n",globtest_2,globtest_3[2]);
  196.     printf("3=%u\n",globtest_3[3]);
  197.  
  198. exit(1);
  199.  
  200.     printf("go\n");
  201.     iinit();
  202.     printf("back\n");
  203.  
  204. exit(1);
  205.  
  206.     printf("cr=%u\n",'\r');
  207.     printf("bs=%u\n",'\b');
  208.     printf("b=%u\n",'b');
  209.     printf("'=%u\n",''');
  210.     printf("\"=%u\n",'\"');
  211.     printf("G=%u\n",'G');
  212.  
  213. exit(1);
  214.  
  215.     f=fopen("testfile.tmp","wt");
  216.     fputc(65,f);
  217.     fputc(66,f);
  218.     fputc(67,f);
  219.     printf("fputc\n");
  220.     getch();
  221.  
  222.     fflush(f);
  223.     printf("fflush\n");
  224.     getch();
  225.  
  226.     fclose(f);
  227.     printf("fclose\n");
  228.     getch();
  229.     remove("testfile.tmp");
  230.  
  231. exit(1);
  232.  
  233.     f=fopen("c:/bbbs/bzc.exe","rb");
  234.     i=fopen("c:/bbbs/test","wb");
  235.     while ((bar=fgetc(f))!=-1) fputc(bar,i);
  236.     fclose(i);
  237.     fclose(f);
  238.  
  239. exit(1);
  240.  
  241.     do {
  242.       bar=_getch(1);
  243.       if (bar!=" ") printf("%c",bar);  // ascii 255, not space
  244.       else _delay(50);
  245.     } while (bar!="Q");
  246.  
  247. exit(1);
  248.  
  249.     do {
  250.       bar=getch();
  251.       printf("key=%s, %u\n",bar,bar);
  252.     } while (bar!="q" && bv_carrier);
  253.  
  254. exit(1);
  255.  
  256.     math_bzc();
  257.  
  258. exit(1);
  259.  
  260.     bu_language=0;
  261.  
  262. exit(1);
  263.  
  264.     exp_bzc();
  265.  
  266. #define NIXON 0x30
  267.  
  268.     switch(0x30) {
  269.       case NIXON:{ printf("nixon\n"); break; }
  270.       default: { printf("dunno\n"); break; }
  271.     }
  272.  
  273. exit(1);
  274.  
  275.     foo=bf_sec;
  276.     while (bf_sec==foo);
  277.     foo=1;
  278.     printf("sec=%u\n",bf_sec);
  279.     for (bar=0; bar<100000; bar++);
  280.     printf("sec=%u, foo=%u, bar=%u\n",bf_sec,foo,bar);
  281.  
  282.     foo=bf_sec;
  283.     while (bf_sec==foo);
  284.     foo=1;
  285.     printf("sec=%u\n",bf_sec);
  286.     for (bar=0; bar<100000; ++bar);
  287.     printf("sec=%u, foo=%u, bar=%u\n",bf_sec,foo,bar);
  288.  
  289.     foo=bf_sec;
  290.     while (bf_sec==foo);
  291.     printf("sec=%u\n",bf_sec);
  292.     for (bar=0; bar<100000; ++bar) {
  293.       foo="abc";
  294.       foo="bcd";
  295.       foo="cde";
  296.     }
  297.     printf("sec=%u, foo=%s, bar=%u\n",bf_sec,foo,bar);
  298.  
  299. exit(1);
  300.  
  301.     printf("3=%u\n",0?2:3);
  302.     printf("2=%u\n",1?2:3);
  303.     printf("2=%u\n",1?0?4:2:3);
  304.     printf("2=%u\n",0?0?4:3:1?1+1:5);
  305.  
  306. exit(1);
  307.  
  308.     if (opendir("./*.exe")) {
  309.       for (f=0; f<3; f++) {
  310.         rewinddir();
  311.         printf("\n");
  312.         while ((bar=readdir())!="") {
  313.           foo=copy(bar,pos("\2",bar)+1,255);
  314.           i=copy(foo,pos("\2",foo)+1,255);
  315.           i=copy(i,1,pos("\2",i)-1);
  316.           printf("%-22s %9u %02u.%02u.%02u\n",
  317.                  copy(bar,1,pos("\2",bar)-1),
  318.                  copy(foo,1,pos("\2",foo)-1),
  319.                  ((i>>25) & 127)+80,
  320.                  (i>>21) & 15,
  321.                  (i>>16) & 31);
  322.         }
  323.       }
  324.       closedir();
  325.     }
  326.  
  327. exit(1);
  328.  
  329.     if (opendir("./*.exe")) {
  330.       bar=readdir();
  331.       printf("%s\n",copy(bar,1,pos("\2",bar)-1));
  332.       closedir();
  333.     }
  334.     if (opendir("./*.exe")) {
  335.       bar=readdir();
  336.       printf("%s\n",copy(bar,1,pos("\2",bar)-1));
  337.       closedir();
  338.     }
  339.  
  340. exit(1);
  341.  
  342.     i=opendir("./does_not_exist");
  343.     printf("opendir returned %u\n",i);
  344.  
  345. exit(1);
  346.  
  347.     bv_outputstopp=0;
  348.     for (i=0; i<10; i++) {
  349.       printf("%u - %u\n",bv_outputstopp,i);
  350.       delay(10);
  351.     }
  352.  
  353.     bv_outputstopp=16;
  354.     for (i=0; i<10; i++) {
  355.       printf("%u - %u\n",bv_outputstopp,i);
  356.       delay(10);
  357.     }
  358.     bv_outputstopp=32;
  359.     for (i=0; i<10; i++) {
  360.       printf("%u - %u\n",bv_outputstopp,i);
  361.       delay(10);
  362.     }
  363.  
  364.     bv_outputstopp=64;
  365.     for (i=0; i<10; i++) {
  366.       printf("%u - %u\n",bv_outputstopp,i);
  367.       delay(10);
  368.     }
  369.  
  370.     bv_outputstopp=128;
  371.     for (i=0; i<10; i++) {
  372.       printf("%u - %u\n",bv_outputstopp,i);
  373.       delay(10);
  374.     }
  375.     bv_outputstopp=0;
  376.  
  377. exit(1);
  378.  
  379.     sendnode(bv_nodenumber,bv_nodenumber,"uTest?",16,bn_nick);
  380.     sendnode(bv_nodenumber,bv_nodenumber,"cTest?",16,sprintf("#chat:%s",bn_nick));
  381.     sendnode(11,bv_nodenumber,"bTest?",16,"BRoboCop");
  382.  
  383. exit(1);
  384.  
  385.     bar=bg_updir;
  386.     printf("up=%s$\n",bg_updir);
  387.     bg_updir="c:/bbbs/";
  388.     printf("up=%s$\n",bg_updir);
  389.     bg_updir=bar;
  390.     printf("up=%s$\n",bg_updir);
  391.  
  392. exit(1);
  393.  
  394.     printf("receive\n");
  395.     breceive(bl_newdir);
  396.     printf("send\n");
  397.     printf("%d\n",bsend("c:/bbbs/transfer.lst"));
  398.  
  399. exit(1);
  400.  
  401.     printf("%u,",0);
  402.     printf("%u,",00);
  403.     printf("%u,",0x0);
  404.     printf("%u,",1);
  405.     printf("%u,",01);
  406.     printf("%u,",0x1);
  407.     printf("%u,",32);
  408.     printf("%u,",040);
  409.     printf("%u,",0x20);
  410.     printf("%u,",999);
  411.     printf("%u,",0777);
  412.     printf("%u\n",0xff);
  413.  
  414. exit(1);
  415.  
  416.     printf("Hi! I'm line %u in %s%s!\n",__LINE__,bg_scriptdir,__FILE__);
  417.  
  418. exit(1);
  419.  
  420.     printf("groups=%s$\n",bv_groups);
  421.     bar=bv_groups;
  422.     bv_groups="foo,bar";
  423.     printf("groups=%s$\n",bv_groups);
  424.     bv_groups=bar;
  425.     printf("groups=%s$\n",bv_groups);
  426.  
  427. exit(1);
  428.  
  429.     for (i=0; i<=bc_count_of_co; i++) {
  430.       printf("%s: %s\n",bc_confname[i],bc_description[i]);
  431.       printf("  Automatic scan=%u, status=",bc_lastread[i]);
  432.       if (bc_status[i] & 1) printf("must, ");
  433.       if (bc_status[i] & 4) printf("invite newu, ");
  434.       if (bc_status[i] & 8) printf("fido");
  435.       printf("...\n");
  436.  
  437.       printf("  Lastread=%u, ",bc_ulastread[i]);
  438.       if (bc_uaccess[i] & 1) printf("read-acc, ");
  439.       if (bc_uaccess[i] & 2) printf("write-acc, ");
  440.       if (bc_ustatus[i] & 2) printf("member, ");
  441.       printf("...\n");
  442.     }
  443.  
  444. exit(1);
  445.  
  446.     printf("bar=%s$\n",bar);
  447.     int bar2=2, bar5=2+3, buz="buz", buz2=sprintf("%s2",buz), bar7=bar2+bar5;
  448.     printf("bar2=%u$\n",bar2);
  449.     printf("bar5=%u$\n",bar5);
  450.     printf("bar7=%u$\n",bar7);
  451.     printf("buz=%s$\n",buz);
  452.     printf("buz2=%s$\n",buz2);
  453.     printf("paratest=%s$\n",paratest());
  454.  
  455. exit(1);
  456.  
  457.     for (i=0; ; i++) {
  458.       if (loaduser(i)) break;
  459.       if (bu_timelimit!=60)
  460.         printf("%-35s %d\n",bu_name,bu_timelimit);
  461.       freeuser();
  462.     }
  463.  
  464. exit(1);
  465.  
  466.     bar="1234K567";
  467.     f=0;
  468.     for (i=1; i<=strlen(bar); i++) {
  469.       foo=copy(bar,i,1);
  470.       if (foo<0 || foo>9) break;
  471.       f=f*10+foo;
  472.     }
  473.     printf("atoi(%s)=%u\n",bar,f);
  474.  
  475. exit(1);
  476.  
  477.     bar="12K4";
  478.     for (i=0; i<4; i++) {
  479.       foo=copy(bar,i+1,1);
  480.       if (foo<"0") printf("<0: %s\n",foo);
  481.       if (foo>"9") printf(">9: %s\n",foo);
  482.       if (foo<0) printf("<0# %s\n",foo);
  483.       if (foo>9) printf(">9# %s\n",foo);
  484.       if ((foo<"0") || (foo>"9")) printf("!#: %s\n",foo);
  485.       if ((foo<0) || (foo>9)) printf("!## %s\n",foo);
  486.       if (foo<"0" || foo>"9") printf("!#& %s\n",foo);
  487.       if (foo<0 || foo>9) printf("!#& %s\n",foo);
  488.     }
  489.  
  490. exit(1);
  491.  
  492.     for (i=0; ; i++) {
  493.       if (loaduser(i)) break;
  494.       printf("%u\n",bu_kbup);
  495.       freeuser();
  496.     }
  497.  
  498. exit(1);
  499.  
  500.     bar[0]=5;
  501.     bar[1]=9;
  502.  
  503.     printf("%u\n",bar--);
  504.     printf("%u\n",bar++);
  505.     printf("%u\n",--bar);
  506.     printf("%u\n",++bar);
  507.     printf("%u\n",bar[1]--);
  508.     printf("%u\n",bar[1]++);
  509.     printf("%u\n",--bar[1]);
  510.     printf("%u\n",++bar[1]);
  511.  
  512. exit(1);
  513.  
  514.     if (bv_tomenu==2) printf("main menu\n");
  515.     bv_tomenu=3;
  516.  
  517. exit(1);
  518.  
  519.     printf("%s\n",copy(bv_vername,6,2));
  520.     printf("%s v%s\n",bv_vername,bv_ver);
  521.  
  522.     printf("groups=%s\n",bv_groups);
  523.  
  524. exit(1);
  525.  
  526.  
  527.     if (-1<1) printf("ok\n");
  528.     else printf("error\n");
  529.     if (-2<-1) printf("ok\n");
  530.     else printf("error\n");
  531.     if (1>-1) printf("ok\n");
  532.     else printf("error\n");
  533.     if (-1>-2) printf("ok\n");
  534.     else printf("error\n");
  535.  
  536.     printf("%u\n",-1);
  537.     printf("%d\n",-1);
  538.  
  539.     bar=0;
  540.     --bar;
  541.  
  542.     printf("%u\n",bar);
  543.     printf("%d\n",bar);
  544.  
  545. exit(1);
  546.  
  547.     printf("restarting\n");
  548.     sendnode(bv_nodenumber,8,"HELP",16,bn_nick);
  549.     printf("Back here\n");
  550.  
  551. exit(1);
  552.  
  553.     printf("%s\n","49");
  554.     printf("%c\n",49);
  555.     printf("%c\n","a");
  556.     printf("%d\n",49);
  557.     printf("%d\n",-1);
  558.     printf("%d\n","a");
  559.     printf("%u\n","a");
  560.  
  561. exit(1);
  562.  
  563.     for (i=f=0; f!=-1; i++) {
  564.       f=fopen("c:/config.sys","rt");
  565.       printf("open #%u returned %d\n",i,f);
  566.       if (i==5) fclose(2);              // dirty!
  567.     }
  568.  
  569.     //fcloseall();
  570.  
  571. exit(1);
  572.  
  573.     printf("%d","foo">"bar");
  574.     printf("%d","foo">="bar");
  575.     printf("%d","bar">"foo");
  576.     printf("%d","bar">="foo");
  577.     printf("%d","foo">="foo");
  578.     printf("%d",1>2);
  579.     printf("%d",1>=2);
  580.     printf("%d",1>=1);
  581.     printf("%d",2>1);
  582.     printf("%d",2>=1);
  583.     printf("%d","foo"<"bar");
  584.     printf("%d","foo"<="bar");
  585.     printf("%d","bar"<"foo");
  586.     printf("%d","bar"<="foo");
  587.     printf("%d","foo"<="foo");
  588.     printf("%d",1<2);
  589.     printf("%d",1<=2);
  590.     printf("%d",1<=1);
  591.     printf("%d",2<1);
  592.     printf("%d",1<=-1);
  593.     printf("%d",1==-1);
  594.     printf("%d",1>=-1);
  595.     printf("%d",1>-1);
  596.     printf("%d",1<-1);
  597.  
  598. exit(1);
  599.  
  600.     for (i=1; i<=bg_max_nodes; i++)
  601.       printf("%s\n",getnodestatus(i,6));
  602.  
  603. exit(1);
  604.  
  605.     for (i=0; i<44; i++) // num_of_akas = 44
  606.       printf("#%u = %u:%u/%u.%u\n",i,bg_zone[i],bg_net[i],bg_node[i],bg_point[i]);
  607.  
  608. exit(1);
  609.  
  610.     printf("Name=%s\n",bu_name);
  611.     for (i=0; ; i++) {
  612.       if (loaduser(i)) break;
  613.       printf("Name=%s\n",bu_name);
  614.       freeuser();
  615.     }
  616.     printf("Name=%s\n",bu_name);
  617.  
  618. exit(1);
  619.  
  620.     bar="Testiksi joku merkkijono.  ";
  621.     foo=sprintf("%s%s",bar,copy(bar,1,10));
  622.     i=1;
  623.     while (!kbhit()) {
  624.       printf("\e[2;2H%s",copy(foo,i,10));
  625.       i=i+1;
  626.       if (i>strlen(bar)) i=1;
  627.       delay(1);
  628.     }
  629.  
  630. exit(1);
  631.  
  632.     foo=bf_sec;
  633.     while (bf_sec==foo);
  634.     foo=1;
  635.     printf("sec=%u\n",bf_sec);
  636.     for (bar=0; bar<30000; bar++) foo=1+foo;
  637.     printf("sec=%u, foo=%u, bar=%u\n",bf_sec,foo,bar);
  638.  
  639. exit(1);
  640.  
  641.     printf("yksi=%u, kaksi=%u, kolme=%u\n",1,2,3);
  642.     testrev(1,2,3);
  643.  
  644. exit(1);
  645.  
  646.     printf("My groups=%s\n",bv_groups);
  647.  
  648.     printf("voted?=%u\n",already_voted(bu_name,"testvote"));
  649.     add_to_vote(bu_name,"testvote","BCG");
  650.     printf("vote B=%u\n",summary_votes("testvote","B"));
  651.     printf("vote C=%u\n",summary_votes("testvote","C"));
  652.     printf("vote G=%u\n",summary_votes("testvote","G"));
  653.     printf("vote F=%u\n",summary_votes("testvote","F"));
  654.  
  655.     foo=3;
  656.     bar=testit(foo);
  657.     printf("3+1+1=%u, 3*(3+3)=%u, 3*(5/1)=%u\n",bar,3*(3+3),3*(5/1));
  658.     printf("\n");
  659.     printf("This is just a test file for BBBS's scripts.\n");
  660.     printf("You have nothing to do here...\n");
  661.     printf("\nPress enter to the next question.\n\n");
  662.     printf("Your name is %s.\n",bu_name);
  663.     foo=input("Foo: ",60,0);
  664.     if (bu_name=="KIM HEINO") bbbs("q compu");
  665.     if (foo!="") {
  666.       if (foo=="foo") printf("Foobar!\n");
  667.       else printf("You entered \"%s\" which is wrong answer!\n",foo);
  668.       if ((bar=fopen(strcat(bg_menudir,"bull69"),"at"))!=-1) {
  669.         fprintf(bar,"%s\n",bu_name);
  670.         fclose(bar);
  671.       } else printf("Error opening bulletin file!\n");
  672.     }
  673.   }
  674. }
  675.  
  676.  
  677.