print_titcop() { register int anything, font, i, j; int more, nl, secondoff, secondx, x, y; long fl; register char *lin, *split; i = 0; do { more = FALSE; if (clip_img( liney[i].top, liney[i].size, &fl, &nl, &y )) { gr_clipx1 = 2; gr_clipy1 = (int)fl; gr_clipx2 = bitln - 2; gr_clipy2 = gr_clipy1 + nl - 1; scrbase = (long)s_image + (y? bytln * (long)y: -(bytln * fl)); x = get_stringx( i, &secondoff, &secondx ); font = (i < MAXTITLE)? (pageptr[PGTLRG+i]? MYLFONT: MYSFONT): MYTFONT; lin = &pageptr[(hpgline[i+1])]; if (secondoff) *(split = &lin[secondoff - 1]) = '\0'; gr_text( lin, x, font_info[font].fonth, 1, font ); if (secondoff) { gr_text( ++split, secondx, font_info[font].fonth, 1, font ); *(--split) = SPLITCHAR; } } if (voff + ahite >= liney[i].top + liney[i].size) { if (++i < MAXLIN) more = TRUE; } } while (!abortp && more); }
void post(void) { messagerec m; postrec p; char s[121]; int i,dm,a,flag; time_t time1, time2; flag=0; m.storage_type=subboards[curlsub].storage_type; a=0; time1=time(NULL); // write_inst(INST_LOC_POST,curlsub,INST_FLAGS_NONE); // inmsg(&m,p.title,&a,1,(subboards[curlsub].filename),ALLOW_FULLSCREEN, // subboards[curlsub].name, (subboards[curlsub].anony&anony_no_tag)?1:0); savefile(buffer,length,&m,(subboards[curlsub].filename)); if (m.stored_as!=0xffffffff) { p.anony=a; p.msg=m; p.ownersys=0; p.owneruser=usernum; lock_status(); p.qscan=status.qscanptr++; save_status(); time((long *)(&p.daten)); p.status=0; open_sub(1); if ((xsubs[curlsub].num_nets) && (subboards[curlsub].anony & anony_val_net) && (!lcs() || irt[0])) { p.status |= status_pending_net; dm=1; for (i=nummsgs; (i>=1) && (i>(nummsgs-28)); i--) { if (get_post(i)->status & status_pending_net) { dm=0; break; } } if (dm) { sprintf(s,get_stringx(1,37),subboards[curlsub].name); ssm(1,0,s); } } if (nummsgs>=subboards[curlsub].maxmsgs) { i=1; dm=0; while ((dm==0) && (i<=nummsgs)) { if ((get_post(i)->status & status_no_delete)==0) dm=i; ++i; } if (dm==0) dm=1; delete(dm); } add_post(&p); lock_status(); ++status.msgposttoday; ++status.localposts; save_status(); close_sub(); if (xsubs[curlsub].num_nets) { if (!(p.status & status_pending_net)) send_net_post(&p, subboards[curlsub].filename, curlsub); } } }