summaryrefslogtreecommitdiffstats
path: root/mbbsd/more.c
diff options
context:
space:
mode:
authorscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-02-12 00:59:42 +0800
committerscw <scw@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2005-02-12 00:59:42 +0800
commit3f76b17cecfae6af61240a7ef9e5f21118e39f40 (patch)
tree97da043e3d50981124d1e8189cb8f9a7134f1288 /mbbsd/more.c
parent5832cb08c4136712641beec501dca2a99aeb0668 (diff)
downloadpttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.tar
pttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.tar.gz
pttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.tar.bz2
pttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.tar.lz
pttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.tar.xz
pttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.tar.zst
pttbbs-3f76b17cecfae6af61240a7ef9e5f21118e39f40.zip
Use chomp() instead of assigning '\0' directly.
Change a little code in searching of more() to reduce call of strlen(). git-svn-id: http://opensvn.csie.org/pttbbs/trunk/pttbbs@2495 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
Diffstat (limited to 'mbbsd/more.c')
-rw-r--r--mbbsd/more.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/mbbsd/more.c b/mbbsd/more.c
index dfa7761c..f540e051 100644
--- a/mbbsd/more.c
+++ b/mbbsd/more.c
@@ -237,17 +237,17 @@ more(char *fpath, int promptend)
{
char msg[500], *pos;
- if (*search_str && (pos = fptr(buf, search_str))) {
+ if (*search_str && (pos = (*fptr)(buf, search_str))) {
char SearchStr[81];
char buf1[100], *pos1;
+ int search_str_len = strlen(search_str);
- strncpy(SearchStr, pos, strlen(search_str));
- SearchStr[strlen(search_str)] = 0;
+ strlcpy(SearchStr, pos, search_str_len + 1);
searching = 0;
snprintf(msg, sizeof(msg),
"%.*s\033[7m%s\033[m", (int)(pos - buf), buf,
SearchStr);
- while ((pos = fptr(pos1 = pos + strlen(search_str),
+ while ((pos = (*fptr)(pos1 = pos + search_str_len,
search_str))) {
snprintf(buf1, sizeof(buf1),
"%.*s\033[7m%s\033[m", (int)(pos - pos1),
@@ -358,9 +358,9 @@ more(char *fpath, int promptend)
searching = 1;
if (getdata(b_lines - 1, 0, "°Ï¤À¤j¤p¼g(Y/N/Q)? [N] ",
ans, sizeof(ans), LCECHO) && *ans == 'y')
- fptr = strstr;
+ fptr = &strstr;
else
- fptr = strcasestr;
+ fptr = &strcasestr;
}
if (*ans == 'q')
searching = 0;