/*POSTAD.C*/#include "GLOBALS.H";extern FILELX *dbl,*dby;extern char *malloc();extern int getstr();extern int getcnam();extern int itoa();extern int delmess();extern int free();extern int post();extern int lines();extern int clearblk();extern int putsdata();extern int savep();extern char repl[],from[],to[],subj[];char inc[] = "in conference:";char zz0[] = "Subject:\n  -->";char nz[] = "Private? y/[n]";char z10[] = "New name or <Return>\n  -->";char zz1[] = "New subject or <Return>\n  -->";char prom[] = "Enter message, <Esc><Esc> exits\n";postad(cf,buff)int cf;char *buff;$(  FILELX fr;  CONN *rov;  CONF *rec;  char frm[26], too[26], sj[26], mn[8];  char cn[11], *ptr, *rptr, dum[26];  char yy[7], *t, cx;  int n, mnn, k, j;  k = cf;  rec = getcnam(k);  rptr = cn;  itoa(k,rptr);  printf("\n%s",nz);  cx = toupper(getkey());  if(cx == 'Y') cx = '*';  else cx = ' ';  ptr = buff;  if(ptr != NULL)  $(    rptr = mn;    getsdata(rptr,ptr,1,7);    mnn = val(mn);    rptr = too;    getsdata(rptr,ptr,46,25);    rptr = dum;    getsdata(rptr,ptr,71,25);    printf("\n\n\n%s %s",subj,dum);    printf("\n  %s ",zz1);  $)  else  $(    rptr = mn;    rptr[0] = '\0';    printf("\f\n  %s ",zz0);  $)  rptr = sj;  getstr(rptr,25);  if(ptr != NULL)  $(    if(strlen(sj) == 0)      strcpy(sj,dum);  $)  else  $(    printf("\n%s ",to);    rptr = too;    getstr(rptr,25);  $)  n = strlen(db->usern)+1;  rptr = dum;  getsdata(rptr,db->usern,0,n);  printf("\n%s %s",from,dum);  printf("\n  %s ",z10);  rptr = frm;  getstr(rptr,25);  if(strlen(frm) == 0)    strcpy(frm,dum);  putchar('\n');  if(ptr != NULL)    printf("\n%s%d> %s",repl,mnn,inc);  else printf("\nPost %s",inc);    printf("%d\n%s\n",k,rec->cnam);  printf("\n%s %s",from,frm);  printf("\n%s %s",to,too);  printf("\n%s %s",subj,sj);  printf("\n%s",prom);  post(&fr);  if(fr.lnhead != NULL)  $(    dbl->lnhead = fr.lnhead;    dbl->endln  = fr.endln;    j = lines();    if(j)    $(      t = malloc(MAXM);      if(t != NULL)      $(        rptr = t;        clearblk(rptr,MAXM);        rptr[0] = cx;        putsdata(rptr,cn,1,7);        putsdata(rptr,too,21,25);        putsdata(rptr,frm,46,25);        putsdata(rptr,sj,71,25);        putsdata(rptr,mn,108,7);        rptr[122] = 'α';        rptr[123] = '\0';        rptr[124] = '\0';        rov = dby->lnhead;        n = 0;        while(rov != NULL)        $(          k = strlen(rov->dat)+1;          n+=k;          if(rov->typ == 'Q') n+=3;          rov = rov->next;        $)        k = n/128;        if(n != 128*k) k++;        n = k*128 -n;        k++;        ptr = yy;        itoa(k,ptr);        putsdata(rptr,yy,116,6);        savep(n,rptr);        free(t,MAXM);      $)      delmess();    $)  $)$)