« March 19, 2004 | Main | March 22, 2004 »
March 20, 2004
水木版面在线人数创新高 Taiwan版面达42xx人 我爱网络
台湾"大选"水木的版面在线人数远远超过SARS iraq造成的版面记录Taiwan版面在线达到4200之多水木在线人数也超过17000大关环顾四方超过一万的名单 半个汉字的bug也被提出来看了看代码发信人: windtear (借尸还魂请勿打扰 ※ 永远不要相信网络), 信区: BBSMan_Dev标 题: [smth] 上万人时用户昵称乱码bug发信站: BBS 水木清华站 (Sat Mar 20 23:47:22 2004), 转信环顾四方 上万的用户存在昵称乱码bug-----> 产生原因:src/list.cdo_userlist 函数里面329 行:move(y, 20);然后打印昵称339行: sprintf(user_info_str, " %4d%2s%s%-12.12s%s%s ", 人数达到10000后%4d 的限定被超越于是 user_info_str 多了一个空格覆盖了 昵称的第一个字母造成乱码----> 简单解决 (粗暴的改.#* 为.#* 没考虑9#的□) 不过别的地方也不会遇到这个问题 加一个判断会好些 要不好多人会不干的 呵呵--- list.c.orig Mon Dec 29 03:38:22 2003+++ list.c Sat Mar 20 23:14:42 2004@@ -242,7 +242,7 @@ int padding_count; #define FROMSTR uentp.from #else- #define FRIENDSIG "."+ #define FRIENDSIG "." #define FROMSTR "*" #endif @@ -337,8 +337,8 @@ resetcolor(); move(y, x); sprintf(user_info_str,- " %4d%2s%s%-12.12s%s%s ",- i + 1 + page, (override) ? (uentp.invisible ? "#" : FRIENDSIG) : (uentp.invisible ? "*" : ""),+ " %5d%1s%s%-12.12s%s%s ",+ i + 1 + page, (override) ? (uentp.invisible ? "#" : FRIENDSIG) : (uentp.invisible ? "*" : ""), (override) ? "\033[1;32m" : "", uentp.userid, (override) ? "\033[m" : "", (override && showexplain) ? "\033[1;31m" : ""); prints("%s", user_info_str); More...Posted by windtear at 11:10 PM