summaryrefslogtreecommitdiffstats
path: root/mbbsd/name.c
diff options
context:
space:
mode:
authorscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-07-13 23:12:55 +0800
committerscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2008-07-13 23:12:55 +0800
commit595caca7a6ac1a552bff4aa90a04614d095bb976 (patch)
tree7f546bb0c7e80a18faa7faa31a80ab0b19f333a3 /mbbsd/name.c
parent3a9397871a4701e98818f4325e630a9d1d744c6f (diff)
downloadpttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.tar
pttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.tar.gz
pttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.tar.bz2
pttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.tar.lz
pttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.tar.xz
pttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.tar.zst
pttbbs-595caca7a6ac1a552bff4aa90a04614d095bb976.zip
generalnamecomplete() support input history
git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@4387 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/name.c')
-rw-r--r--mbbsd/name.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/mbbsd/name.c b/mbbsd/name.c
index 131b4d67..2ca86494 100644
--- a/mbbsd/name.c
+++ b/mbbsd/name.c
@@ -358,6 +358,16 @@ generalnamecomplete(const char *prompt, char *data, int len, size_t nmemb,
if (i == end + 1)
data[--ptr] = 0;
}
+ } else if (ch == KEY_UP || ch == KEY_DOWN) {
+ if (!InputHistoryExists(data))
+ InputHistoryAdd(data);
+
+ if (ch == KEY_DOWN)
+ InputHistoryNext(data, len);
+ else
+ InputHistoryPrev(data, len);
+
+ ptr = strlen(data);
}
}
@@ -370,6 +380,9 @@ generalnamecomplete(const char *prompt, char *data, int len, size_t nmemb,
move(y, origx);
outs(data);
outc('\n');
+
+ // save the history
+ InputHistoryAdd(data);
}
return ret;
}