/*MAIN.C*/#include "MAIN.H";extern char *malloc();extern int postad();extern int browsex();extern int clearfl();extern int dodir();extern int menud();extern int pconf();extern int front();extern int lfile();extern int getconfn();extern int messages();extern int save();extern int read();main()$(  DISK rr, *pm, p;  int rt, ret;  init();  while(1)  $(    menua();    if(db->lhead != NULL)    $(      rt = menub();      while(rt == 0)      $(        rt = getconfn();        if(rt >= 0)          postad(rt,NULL);        rt = menub();      $)      if(db->mhead != NULL)      $(        rt = menuc();        while(rt > 0)        $(          rt = menud(&rr,&p);          while(rt >= 0)          $(            ret = (int)rr;            pm = p;            browsex(ret,rt,pm);            rt = menud(&rr,&p);          $)          rt = menuc();        $)      $)    $)  $)$)init()$(  front();  dofirst();  columns = 40;$)char mes0[] = "         ัืหธ  ฯๆๆ์้๎ๅ  าๅแไๅ๒          ";char mes1[] = "  า Read CONTROL.DAT file";char mes2[] = "  ั Quit to DOS  ฤ Disk directory";char mes9[] = "  Select:\n";char mesz[] = "           Free bytes:";menua()$(  char choice;  while(1)  $(    poke(82,0);    poke(752,1);    printf("\f%s\n",mes0);    printf("%s %d\n",mesz,tot);    printf("\n%s",mes1);    printf("\n\n%s",mes2);    printf("\n\n%s",mes9);    choice = toupper(getkey());    switch(choice)    $(      case 'Q':        exit();      break;      case 'R':      $(        if(db->lhead != NULL)          clearfl();        lfile();        if(db->lhead != NULL)          return;      $)      break;      case 'D':        dodir();      break;      default: ; break;    $)  $)$)char mes3[] = "  า Read QWK8.DAT";char mes4[] = "  or  ำ Scan MESSAGES.DAT file";char mesH[] = "  ะ Post a message  ล Exit menu";char mesI[] = "  ึ View conference data ";menub()$(  char choice;  while(1)  $(    poke(82,0);    poke(752,1);    printf("\f%s\n",mes0);    printf("%s %d\n",mesz,tot);    printf("\n%s",mes3);    printf("\n\n%s",mes4);    printf("\n\n%s",mesH);    printf("\n\n%s",mesI);    printf("\n\n%s",mes2);    printf("\n\n%s",mes9);    choice = toupper(getkey());    switch(choice)    $(      case 'E':        return -1;      break;      case 'P':        return 0;      break;      case 'Q':        exit();      break;      case 'V':        pconf();      break;      case 'D':        dodir();      break;      case 'R':      $(        read();        if(db->mhead != NULL)          return 1;      $)      break;      case 'S':      $(        messages();        if(db->mhead != NULL)          return 1;      $)      break;      default: ; break;    $)  $)$)char mes7[] = "  า Read messages  ล Exit menu";char mes8[] = "  ำ Save index in QWK8.DAT";menuc()$(  char choice;  while(1)  $(    poke(82,0);    poke(752,1);    printf("\f%s\n",mes0);    printf("%s %d\n",mesz,tot);    printf("\n%s",mes7);    printf("\n\n%s",mes8);    printf("\n\n%s",mes2);    printf("\n\n%s",mes9);    choice = toupper(getkey());    switch(choice)    $(      case 'E':        return 0;      break;      case 'Q':        exit();      break;      case 'D':        dodir();      break;      case 'R':        return 1;      break;      case 'S':        save();      break;      default: ; break;    $)  $)$)dofirst()$(  int s;  s = sizeof(FILEDAT);  db = (FILEDAT *) malloc(s);  db->lhead = NULL;  db->mhead  = NULL;  db->BBSID  = NULL;  db->usern  = NULL;  db->numc   = 0;  s = sizeof(FILELX);  dbl = (FILELX *) malloc(s);  dby = (FILELX *) malloc(s);  dbx = (FILELX *) malloc(s);  dbz = (FILELX *) malloc(s);  dbl->lnhead = NULL;  dby->lnhead = NULL;  dbx->lnhead = NULL;  dbz->lnhead = NULL;  dbl->endln = NULL;  dby->endln = NULL;  dbx->endln = NULL;  dbz->endln = NULL;$)