変愚蛮怒のメインリポジトリです
修订版 | c3cb0895f7f484477e7206df820821c97fc4db1e (tree) |
---|---|
时间 | 2017-09-08 22:35:45 |
作者 | Deskull <desull@user...> |
Commiter | Deskull |
#37449 (2.2.0.83) msg_print()の致命的なエンバグ修正。 / Fix fatal bugs of msg_print().
@@ -53,7 +53,7 @@ | ||
53 | 53 | #define FAKE_VER_MAJOR 12 /*!< ゲームのバージョン番号定義(メジャー番号 + 10) */ |
54 | 54 | #define FAKE_VER_MINOR 2 /*!< ゲームのバージョン番号定義(マイナー番号) */ |
55 | 55 | #define FAKE_VER_PATCH 0 /*!< ゲームのバージョン番号定義(パッチ番号) */ |
56 | -#define FAKE_VER_EXTRA 82 /*!< ゲームのバージョン番号定義(エクストラ番号) */ | |
56 | +#define FAKE_VER_EXTRA 83 /*!< ゲームのバージョン番号定義(エクストラ番号) */ | |
57 | 57 | |
58 | 58 | |
59 | 59 | /*! |
@@ -2833,16 +2833,6 @@ void msg_print(cptr msg) | ||
2833 | 2833 | |
2834 | 2834 | if (world_monster) return; |
2835 | 2835 | |
2836 | - /* Copy it */ | |
2837 | - if(!cheat_turn) | |
2838 | - { | |
2839 | - strcpy(buf, msg); | |
2840 | - } | |
2841 | - else | |
2842 | - { | |
2843 | - sprintf(buf,("T:%d - %s"), turn, msg); | |
2844 | - } | |
2845 | - | |
2846 | 2836 | /* Hack -- Reset */ |
2847 | 2837 | if (!msg_flag) { |
2848 | 2838 | /* Clear the line */ |
@@ -2850,14 +2840,11 @@ void msg_print(cptr msg) | ||
2850 | 2840 | p = 0; |
2851 | 2841 | } |
2852 | 2842 | |
2853 | - /* Message Length */ | |
2854 | - n = (buf ? strlen(buf) : 0); | |
2855 | - | |
2856 | - /* Paranoia */ | |
2857 | - if (n > 1000) return; | |
2843 | + /* Original Message Length */ | |
2844 | + n = (msg ? strlen(msg) : 0); | |
2858 | 2845 | |
2859 | 2846 | /* Hack -- flush when requested or needed */ |
2860 | - if (p && (!buf || ((p + n) > 72))) | |
2847 | + if (p && (!msg || ((p + n) > 72))) | |
2861 | 2848 | { |
2862 | 2849 | /* Flush */ |
2863 | 2850 | msg_flush(p); |
@@ -2872,6 +2859,22 @@ void msg_print(cptr msg) | ||
2872 | 2859 | /* No message */ |
2873 | 2860 | if (!msg) return; |
2874 | 2861 | |
2862 | + /* Paranoia */ | |
2863 | + if (n > 1000) return; | |
2864 | + | |
2865 | + /* Copy it */ | |
2866 | + if (!cheat_turn) | |
2867 | + { | |
2868 | + strcpy(buf, msg); | |
2869 | + } | |
2870 | + else | |
2871 | + { | |
2872 | + sprintf(buf, ("T:%d - %s"), turn, msg); | |
2873 | + } | |
2874 | + | |
2875 | + /* New Message Length */ | |
2876 | + n = (buf ? strlen(buf) : 0); | |
2877 | + | |
2875 | 2878 | /* Memorize the message */ |
2876 | 2879 | if (character_generated) message_add(buf); |
2877 | 2880 |