◀ANSI版開発トップへ
  • 2144 switch文
    • 2149 RE: switch文
  • [2144] switch文 みく 2002年06月05日 01:07


    switch文は以前チェック(Dialog系のみ)したのですが、
    今回全体を見直して見るとバグを発見しました。

    1.バグではないがbreakが抜けているもの(将来の修正でバグとなる可能性あり)
    2.breakが余分にあるもの
    3.明らかにbreakがなくて次のcaseが走るもの

    が合わせて10箇所以上ありました。3番目は致命的。
    チェックリストは再チェックして後日アップしますが、ご注意を。
    • [2149] RE: switch文 みく 2002年06月05日 19:05


      switch()breakのバグをいかに列挙します。
      「バグ」と書いてあるもの以外はとりあえず大丈夫です。
      diff0605.zip で修正してあります。


      CDlgDebug.cpp
       DispatchEvent()
        124 BN_CLICKEDに対するbreakもれ
      CDlgOpenFile.cpp
       OFNHookProc()
        437 バグ:CDN_FILEOKに対するbreakもれ
        493 CBN_SELCHANGEに対するbreakもれ
      CPrintPreview.cpp
       DispatchEvent_PPB()
        1583 BN_CLICKEDに対するbreakもれ
      CPropComBackup.cpp
       DispatchEvent_PROP_BACKUP()
        202 BN_CLICKEDに対するbreakもれ
      CPropComCustmenu.cpp
       DispatchEvent_p8()
        224 BN_CLICKEDに対するbreakもれ
        264 CBN_SELCHANGEに対するbreakもれ
        345 LBN_SELCHANGEに対するbreakもれ
      CPropComEdit.cpp
       DispatchEvent_PROP_EDIT()
        136 コメントアウトされたdefaultに対するbreakがコメントアウトされてない
      CPropComFormat.cpp
       DispatchEvent_p9()
        262 BN_CLICKEDに対するbreakもれ
        287 コメントアウトされたdefaultに対するbreakがコメントアウトされてない
      CPropComGrep.cpp
       DispatchEvent_PROP_GREP()
        94 コメントアウトされたdefaultに対するbreakがコメントアウトされてない
      CPropComHelper.cpp
       DispatchEvent_p10()
        235 BN_CLICKEDに対するbreakもれ
        260 コメントアウトされたdefaultに対するbreakがコメントアウトされてない
      CPropComKeybind.cpp
       DispatchEvent_p5()
        270 BN_CLICKEDに対するbreakもれ
      CPropComKeyword.cpp
       DispatchEvent_p7()
        365 BN_CLICKEDに対するbreakもれ
      CPropComMacro.cpp
       DispatchEvent_PROP_Macro()
        160 CBN_DROPDOWNに対するbreakもれ
      CPropComUrl.cpp
       DispatchEvent_PROP_URL()
        89 コメントアウトされたdefaultに対するbreakがコメントアウトされてない
      CPropCommon.cpp
       DispatchEvent_p1()
        745 BN_CLICKEDに対するbreakもれ
      CPropTypes.cpp
       DispatchEvent_p1()
        867 BN_CLICKEDに対するbreakもれ
       DispatchEvent_p2()
        1447 BN_CLICKEDに対するbreakもれ
       DispatchEvent_p3_new()
        2165 BN_CLICKEDに対するbreakもれ
        2245 コメントアウトされたdefaultに対するbreakがコメントアウトされてない
        2260 バグ:return TRUE;もれ
      CWnd.cpp
       DispatchEvent()
        224 defaultに対するbreakもれ
      CEditWnd.cpp
       DispatchEvent()
        960 バグ:return FALSE;もれ
       IsFuncEnable()
        2877 /*FALLTHROUGH*/明記
      CEditApp.cpp
       DispatchEvent()
        1334 defaultに対するbreakもれ
      CDlgFuncList.cpp
       Key2Command()
        1464 /*FALLTHROUGH*/明記