summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--mbbsd/cache.c2
-rw-r--r--mbbsd/mbbsd.c2
-rw-r--r--mbbsd/more.c12
-rw-r--r--mbbsd/talk.c2
-rw-r--r--mbbsd/user.c6
-rw-r--r--mbbsd/vote.c4
6 files changed, 14 insertions, 14 deletions
diff --git a/mbbsd/cache.c b/mbbsd/cache.c
index 4369c9f1..c5936331 100644
--- a/mbbsd/cache.c
+++ b/mbbsd/cache.c
@@ -929,7 +929,7 @@ reload_fcache(void)
else {
strncpy(SHM->home_desc[SHM->home_num], ip,
sizeof(SHM->home_desc[SHM->home_num]));
- SHM->home_desc[SHM->home_num][strlen(SHM->home_desc[SHM->home_num]) - 1] = 0;
+ chomp(SHM->home_desc[SHM->home_num]);
}
(SHM->home_num)++;
if (SHM->home_num == MAX_FROM)
diff --git a/mbbsd/mbbsd.c b/mbbsd/mbbsd.c
index 7d8b2839..935111d7 100644
--- a/mbbsd/mbbsd.c
+++ b/mbbsd/mbbsd.c
@@ -766,7 +766,7 @@ setup_utmp(int mode)
strlcpy(remotebuf, fromhost, sizeof(fromhost));
strcat(remotebuf, ctime4(&now));
- remotebuf[strlen(remotebuf) - 1] = 0;
+ chomp(remotebuf);
add_distinct(buf, remotebuf);
#endif
if (enter_uflag & CLOAK_FLAG)
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, "區分大小寫(Y/N/Q)? [N] ",
ans, sizeof(ans), LCECHO) && *ans == 'y')
- fptr = strstr;
+ fptr = &strstr;
else
- fptr = strcasestr;
+ fptr = &strcasestr;
}
if (*ans == 'q')
searching = 0;
diff --git a/mbbsd/talk.c b/mbbsd/talk.c
index 23bd72d1..b806dec5 100644
--- a/mbbsd/talk.c
+++ b/mbbsd/talk.c
@@ -3106,7 +3106,7 @@ AngelNotOnline(){
outs("\033[1;31m╭┤\033[32m 小天使 "
" \033[31m├╮\033[m\n");
while (fgets(buf, sizeof(buf), fp)) {
- buf[strlen(buf) - 1] = 0;
+ chomp(buf);
prints("\033[1;31m│\033[m%-74.74s\033[1;31m│\033[m\n", buf);
}
outs("\033[1;31m╰┬──────────────────────"
diff --git a/mbbsd/user.c b/mbbsd/user.c
index c375032f..c44d4112 100644
--- a/mbbsd/user.c
+++ b/mbbsd/user.c
@@ -461,7 +461,7 @@ uinfo_query(userec_t * u, int real, int unum)
for(k = 0; k < 11; ++k)
fgets(genbuf, 200, fp);
fgets(genbuf, 200, fp);
- genbuf[strlen(genbuf) - 1] = 0;
+ chomp(genbuf);
snprintf(mybuf, 200, "%s棋國自我描述:", chess_type[j]);
getdata_buf(i, 0, mybuf, genbuf + 11, 80 - 11, DOECHO);
@@ -836,7 +836,7 @@ showplans(char *uid)
move(7, 0);
while (i < 12 && fgets(genbuf, 256, fp))
{
- genbuf[strlen(genbuf) - 1] = 0;
+ chomp(genbuf);
if (i < 6) /* 讀照片檔 */
strcpy(photo[i], genbuf);
else if (i == 6)
@@ -1074,7 +1074,7 @@ isvalidemail(char *email)
while (fgets(buf, sizeof(buf), fp)) {
if (buf[0] == '#')
continue;
- buf[strlen(buf) - 1] = 0;
+ chomp(buf);
if (buf[0] == 'A' && strcasecmp(&buf[1], email) == 0)
return 0;
if (buf[0] == 'P' && strcasestr(email, &buf[1]))
diff --git a/mbbsd/vote.c b/mbbsd/vote.c
index eb5a576b..bc470232 100644
--- a/mbbsd/vote.c
+++ b/mbbsd/vote.c
@@ -304,7 +304,7 @@ b_result_one(vote_buffer_t *vbuf, boardheader_t * fh, int ind, int *total)
fprintf(tfp, " 選 項 總票數 得票率 得票分布\n");
for (junk = 0; junk < item_num; junk++) {
fgets(inbuf, sizeof(inbuf), cfp);
- inbuf[(strlen(inbuf) - 1)] = '\0';
+ chomp(inbuf);
fprintf(tfp, " %-42s %3d 票 %02.2f%% %02.2f%%\n", inbuf + 3, counts[junk],
(float)(counts[junk] * 100) / (float)(people_num),
(float)(counts[junk] * 100) / (float)(*total));
@@ -494,7 +494,7 @@ vote_view(vote_buffer_t *vbuf, char *bname, int vote_index)
for (i = num = 0; i < item_num; i++, num++) {
fgets(inbuf, sizeof(inbuf), fp);
- inbuf[(strlen(inbuf) - 1)] = '\0';
+ chomp(inbuf);
inbuf[30] = '\0'; /* truncate */
move(num % 15 + 6, num / 15 * 40);
prints(" %-32s%3d 票", inbuf, counts[i]);