32ビットOSでJREが見つからない
32ビットOSでJREを探索する際に、レジストリのSOFTWARE\\Wow6432Nodeを参照してしまいJREが見つかりません。
その原因はGetPlatformArchitectureでPROCESSOR_ARCHITECTUREから"64"の文字列を探す際のif文が
if(strstr(buf, "64") >= 0)
となっており、"64"が見つからずにNULLが返った場合でもこのif文の条件が成立してしまうため、 64ビットOSであると誤判定されてしまうためです。
バグの報告ありがとうございます。 原因まで調査いただいて大変助かりました。
このバグを修正したバージョン 1.3.1 をリリースしました。
32ビットOSでJREを探索する際に、レジストリのSOFTWARE\\Wow6432Nodeを参照してしまいJREが見つかりません。
その原因はGetPlatformArchitectureでPROCESSOR_ARCHITECTUREから"64"の文字列を探す際のif文が
if(strstr(buf, "64") >= 0)
となっており、"64"が見つからずにNULLが返った場合でもこのif文の条件が成立してしまうため、 64ビットOSであると誤判定されてしまうためです。