diff options
-rw-r--r-- | mbbsd/stuff.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/mbbsd/stuff.c b/mbbsd/stuff.c index 3d3b90f8..3e44efdf 100644 --- a/mbbsd/stuff.c +++ b/mbbsd/stuff.c @@ -622,16 +622,18 @@ getkey(const char *fmt,...) return vmsg_lines(b_lines, msg); } +/* TODO 極少 caller 用到 format, 考慮拆開成 vmsgf 節省 cpu */ int vmsg(const char *fmt,...) { - char msg[256] = "\033[1;36;44m ◆ ", i; + char msg[256] = "\033[1;36;44m ◆ "; + int i=14; // 14=strlen(msg) va_list ap; va_start(ap, fmt); - i = vsnprintf(msg + 14, 128, fmt, ap); + i += vsnprintf(msg + i, 128, fmt, ap); va_end(ap); - for(i = i + 14; i < 71; i++) - msg[(int)i] = ' '; + for(; i < 71; i++) + msg[i] = ' '; strcat(msg + 71, "\033[33;46m \033[200m\033[1431m\033[506m[按任意鍵繼續]\033[201m \033[m"); return vmsg_lines(b_lines, msg); |