diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/complist.c | 6 | ||||
-rw-r--r-- | Src/utils.c | 11 |
2 files changed, 13 insertions, 4 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index af034efab..55e78c0cb 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -217,6 +217,10 @@ getcols(Listcols c) c->cols[COL_MA] = ""; else c->cols[COL_EC] = tcstr[TCSTANDOUTEND]; + lr_caplen = 0; + if ((max_caplen = strlen(c->cols[COL_MA])) < + (l = strlen(c->cols[COL_EC]))) + max_caplen = l; return; } /* We have one of the parameters, use it. */ @@ -230,7 +234,7 @@ getcols(Listcols c) for (i = 0; i < NUM_COLS; i++) { if (!c->cols[i]) c->cols[i] = defcols[i]; - if ((l = (c->cols[i] ? strlen(c->cols[i]) : 0)) > max_caplen) + if (c->cols[i] && (l = strlen(c->cols[i])) > max_caplen) max_caplen = l; } lr_caplen = strlen(c->cols[COL_LC]) + strlen(c->cols[COL_RC]); diff --git a/Src/utils.c b/Src/utils.c index fcc8b72e3..38468969e 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -752,9 +752,14 @@ checkmailpath(char **s) fprintf(shout, "You have new mail.\n"); fflush(shout); } else { - char *usav = underscore; + VARARR(char, usav, underscorelen); + int sl = strlen(*s); - underscore = *s; + if (sl >= underscorelen) { + zfree(underscore, underscorelen); + underscore = (char *) zalloc(underscorelen = sl + 32); + } + strcpy(underscore, *s); HEAPALLOC { u = dupstring(u); if (! parsestr(u)) { @@ -763,8 +768,8 @@ checkmailpath(char **s) fputc('\n', shout); fflush(shout); } - underscore = usav; } LASTALLOC; + strcpy(underscore, usav); } } if (isset(MAILWARNING) && st.st_atime > st.st_mtime && |