void CCBuffer::moveRight(unsigned int u_len) { BEGIN_IF(LE(_u_content_size, 0)) DO_RETURN; END_IF _reallocBufferSizeInChanged(u_len); BEGIN_FOR(DO_ASSIGN(int i, CS(_u_content_size, 1)), LDE(i, 0), SSI(i)) DO_ASSIGN(QV(CA(CA(_p_buffer, i), TO_INT(u_len))), QV(CA(_p_buffer, i))); DO_ASSIGN(QV(CA(_p_buffer, i)), 0); END_FOR AA(_u_write_pos, u_len); AA(_u_read_pos, u_len); AA(_u_mark_pos, u_len); AA(_u_content_size, u_len); }
A getSymKstack(void) { I n=K-MY;I *zp,i,s; C **ns=get_primlist(1,1); A z=gv(Et,n);zp=z->p; i=1; while(i<=n) { s=MY[i++]; if(0==s){*zp++=(I)aplus_nl;} else if(s>-9999&&s<6) { if(0>s)*zp++=(I)gi(-s); else *zp++=(I)gvi(Et,1,MS(si(ns[s]))); } else if(QV(s)) { *zp++=(I)gvi(Et,2,gsv(0,"file"),gsv(0,(C *)(s&~aplusMask))); *zp++=(I)gi(-MY[i++]); } else if(QS(s)) { *zp++=(I)gvi(Et,2,gsv(0,"expr"),gsv(0,(C *)(s&~aplusMask))); } else { A f=(A)s; sprintf((C *)ks_buf,"%s.%s",((CX)f->p[f->n+2])->s->n,XS(*f->d)->n); *zp++=(I)gvi(Et,2,gsv(0,"func"),gsv(0,(C *)ks_buf)); } } R z; }
void CCBuffer::writeChar(char data) { _reallocBufferSizeInChanged(sizeof(char)); DO_ASSIGN(QV(CA(_p_buffer, _u_write_pos)), data); AAI(_u_write_pos); MAXA(_u_content_size, _u_write_pos); }
void CCBuffer::moveLeft(unsigned int u_len) { BEGIN_IF(LE(_u_content_size, 0)) DO_RETURN; END_IF DO_ASSERT(LNE(u_len, 0), "LNE(u_len, 0)"); BEGIN_IF(LDE(u_len, _u_content_size)) clear(); BEGIN_ELSE BEGIN_FOR(DO_ASSIGN(unsigned int i, u_len), LX(i, _u_content_size), AAI(i)) DO_ASSIGN(QV(CA(_p_buffer, CS(i, u_len))), QV(CA(_p_buffer, i))); DO_ASSIGN(QV(CA(_p_buffer, i)), 0); END_FOR DO_ASSIGN(_u_write_pos, TO_UINT(MAX(0, CS(TO_INT(_u_write_pos), TO_INT(u_len))))); DO_ASSIGN(_u_read_pos, TO_UINT(MAX(0, CS(TO_INT(_u_read_pos), TO_INT(u_len))))); DO_ASSIGN(_u_mark_pos, TO_UINT(MAX(0, CS(TO_INT(_u_mark_pos), TO_INT(u_len))))); DO_ASSIGN(_u_content_size, CS(_u_content_size, u_len)); END_IF }