[create_inputctx] set coutstanding only if we issued queries #2558

This commit is contained in:
nick black 2022-01-15 13:30:25 -05:00
parent 96c1d190ef
commit f1f9de718a
No known key found for this signature in database
GPG Key ID: 5F43400C21CBFACC

View File

@ -1841,6 +1841,7 @@ static inline inputctx*
create_inputctx(tinfo* ti, FILE* infp, int lmargin, int tmargin, int rmargin, create_inputctx(tinfo* ti, FILE* infp, int lmargin, int tmargin, int rmargin,
int bmargin, ncsharedstats* stats, unsigned drain, int bmargin, ncsharedstats* stats, unsigned drain,
int linesigs_enabled){ int linesigs_enabled){
bool sent_queries = (ti->ttyfd >= 0) ? true : false;
inputctx* i = malloc(sizeof(*i)); inputctx* i = malloc(sizeof(*i));
if(i){ if(i){
i->csize = 64; i->csize = 64;
@ -1860,14 +1861,20 @@ create_inputctx(tinfo* ti, FILE* infp, int lmargin, int tmargin, int rmargin,
if(set_fd_nonblocking(i->stdinfd, 1, &ti->stdio_blocking_save) == 0){ if(set_fd_nonblocking(i->stdinfd, 1, &ti->stdio_blocking_save) == 0){
i->termfd = tty_check(i->stdinfd) ? -1 : get_tty_fd(infp); i->termfd = tty_check(i->stdinfd) ? -1 : get_tty_fd(infp);
memset(i->initdata, 0, sizeof(*i->initdata)); memset(i->initdata, 0, sizeof(*i->initdata));
i->coutstanding = 1; // one in initial request set if(sent_queries){
i->initdata->qterm = ti->qterm; i->coutstanding = 1; // one in initial request set
i->initdata->cursory = -1; i->initdata->qterm = ti->qterm;
i->initdata->cursorx = -1; i->initdata->cursory = -1;
i->initdata->maxpaletteread = -1; i->initdata->cursorx = -1;
i->initdata->maxpaletteread = -1;
i->initdata->kbdlevel = UINT_MAX;
}else{
free(i->initdata);
i->initdata = NULL;
i->coutstanding = 0;
}
i->iread = i->iwrite = i->ivalid = 0; i->iread = i->iwrite = i->ivalid = 0;
i->cread = i->cwrite = i->cvalid = 0; i->cread = i->cwrite = i->cvalid = 0;
i->initdata->kbdlevel = UINT_MAX;
i->initdata_complete = NULL; i->initdata_complete = NULL;
i->stats = stats; i->stats = stats;
i->ti = ti; i->ti = ti;