commit fcdfb7f75fc3a4f9d284b615786fa516325f6406
parent e41e8dbeadce5b9cf8dfaae571456f97e731aa21
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date: Fri, 29 Apr 2005 04:32:38 +0000
more comment fixes
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@2495 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Diffstat:
M | src/winio.c | | | 41 | ++++++++++++++++++++--------------------- |
1 file changed, 20 insertions(+), 21 deletions(-)
diff --git a/src/winio.c b/src/winio.c
@@ -2537,13 +2537,12 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
case NANO_PREVLINE_KEY:
#ifndef NANO_SMALL
if (history_list != NULL) {
- /* If currentbuf is NULL, or if use_cb is 1,
- * currentbuf isn't NULL, and currentbuf is
- * different from answer, it means that we're
- * scrolling up at the top of the search history,
- * and we need to save the current answer in
- * currentbuf. Do this and reset use_cb to 0. */
- if (currentbuf == NULL || (use_cb == 1 &&
+ /* If currentbuf is NULL, use_cb is 1, and
+ * currentbuf is different from answer, it means
+ * that we're scrolling up at the top of the search
+ * history, and we need to save the current answer
+ * in currentbuf. Do this and reset use_cb to 0. */
+ if (currentbuf != NULL && use_cb == 1 &&
strcmp(currentbuf, answer) != 0)) {
currentbuf = mallocstrcpy(currentbuf, answer);
use_cb = 0;
@@ -2552,29 +2551,26 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
/* If currentbuf isn't NULL, use_cb is 2, and
* currentbuf is different from answer, it means
* that we're scrolling up at the bottom of the
- * search history, and we need to make the string in
- * currentbuf the current answer. Do this, blow
+ * search history, and we need to restore the
+ * current answer from currentbuf. Do this, blow
* away currentbuf since we don't need it anymore,
* and reset use_cb to 0. */
if (currentbuf != NULL && use_cb == 2 &&
strcmp(currentbuf, answer) != 0) {
answer = mallocstrcpy(answer, currentbuf);
+ answer_len = strlen(answer);
free(currentbuf);
currentbuf = NULL;
- answer_len = strlen(answer);
use_cb = 0;
/* Otherwise, get the older search from the history
- * list and save it in answer. If there is no older
- * search, blank out answer. */
+ * list and save it in answer. */
} else if ((history =
get_history_older(history_list)) != NULL) {
answer = mallocstrcpy(answer, history);
answer_len = strlen(history);
- } else {
- answer = mallocstrcpy(answer, "");
- answer_len = 0;
}
+
statusbar_x = answer_len;
}
#endif
@@ -2588,10 +2584,11 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
get_history_newer(history_list)) != NULL) {
answer = mallocstrcpy(answer, history);
answer_len = strlen(history);
+
/* If currentbuf isn't NULL and use_cb isn't 2, it
* means that we're scrolling down at the bottom of
- * the search history and we need to make the string
- * in currentbuf the current answer; do this, blow
+ * the search history and we need to restore the
+ * current answer from currentbuf. Do this, blow
* away currentbuf since we don't need it anymore,
* and set use_cb to 1. */
} else if (currentbuf != NULL && use_cb != 2) {
@@ -2600,12 +2597,13 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
free(currentbuf);
currentbuf = NULL;
use_cb = 1;
+
/* Otherwise, if currentbuf is NULL and use_cb isn't
* 2, it means that we're scrolling down at the
- * bottom of the search history and the current
- * answer (if it's not blank) needs to be saved in
- * currentbuf. Do this, blank out answer (if
- * necessary), and set use_cb to 2. */
+ * bottom of the search history and we need to save
+ * the current answer (if it's not blank) in
+ * currentbuf. Do this, blank out answer, and set
+ * use_cb to 2. */
} else if (use_cb != 2) {
if (answer[0] != '\0') {
currentbuf = mallocstrcpy(currentbuf,
@@ -2615,6 +2613,7 @@ int nanogetstr(bool allow_tabs, const char *buf, const char *def,
answer_len = 0;
use_cb = 2;
}
+
statusbar_x = answer_len;
}
#endif