rio: move the code for 'send' into a function

Makes the code a bit nicer and allows reusing wsend() in patches.
This commit is contained in:
kvik 2020-10-04 22:45:22 +02:00
parent 2aff96f17c
commit 6f76d00300
3 changed files with 22 additions and 15 deletions

View file

@ -210,6 +210,7 @@ void wresize(Window*, Image*);
void wscrdraw(Window*); void wscrdraw(Window*);
void wscroll(Window*, int); void wscroll(Window*, int);
void wselect(Window*); void wselect(Window*);
void wsend(Window*);
void wsendctlmesg(Window*, int, Rectangle, void*); void wsendctlmesg(Window*, int, Rectangle, void*);
void wsetcursor(Window*, int); void wsetcursor(Window*, int);
void wsetname(Window*); void wsetname(Window*);

View file

@ -775,21 +775,7 @@ button2menu(Window *w)
break; break;
case Send: case Send:
getsnarf(); wsend(w);
wsnarf(w);
if(nsnarf == 0)
break;
if(w->rawing){
waddraw(w, snarf, nsnarf);
if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
waddraw(w, L"\n", 1);
}else{
winsert(w, snarf, nsnarf, w->nr);
if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
winsert(w, L"\n", 1, w->nr);
}
wsetselect(w, w->nr, w->nr);
wshow(w, w->nr);
break; break;
case Scroll: case Scroll:

View file

@ -1798,3 +1798,23 @@ wcontents(Window *w, int *ip)
{ {
return runetobyte(w->r, w->nr, ip); return runetobyte(w->r, w->nr, ip);
} }
void
wsend(Window *w)
{
getsnarf();
wsnarf(w);
if(nsnarf == 0)
return;
if(w->rawing){
waddraw(w, snarf, nsnarf);
if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
waddraw(w, L"\n", 1);
}else{
winsert(w, snarf, nsnarf, w->nr);
if(snarf[nsnarf-1]!='\n' && snarf[nsnarf-1]!='\004')
winsert(w, L"\n", 1, w->nr);
}
wsetselect(w, w->nr, w->nr);
wshow(w, w->nr);
}