アカウント名:
パスワード:
警告を無視しちゃいかんという教訓を得たと。
こんな感じに、if分を一行にまとめてしまえば、こんな不具合出なかった気がします。
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail;if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail;if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail;
一行が長くなるのを嫌ったのかな?
#define ErrorCheck(f) do { if ((err = f) != 0) goto fail; } while (0)
ErrorCheck(SSLHashSHA1.update(&hashCtx, &serverRandom));ErrorCheck(SSLHashSHA1.update(&hashCtx, &signedParams));ErrorCheck(SSLHashSHA1.final(&hashCtx, &hashOut));
ってやりたくなるんだけど、ダメ?
このコードはCではなくてC++なのでは。SSLHashSHA1.updateはメンバ関数を呼び出している様に見えるけど同じディレクトリにcppファイルもあるみたいだし。C++11以降が使える処理系なら、こんなふうにgotoを使わずにラムダ式でreturnしたほうがいいのでは。int errconst bool flag=[&](){ if((err=SSLHashSHA1.update(&hashCtx, &serverRandom))!=0){return false;} if((err=SSLHashSHA1.update(&hashCtx, &signedPa
せっかく劣ったコンパイラを考慮する必要のない環境なのにねえ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア
unreachable codeの警告は無視されたのか (スコア:0)
警告を無視しちゃいかんという教訓を得たと。
こんな感じに、if分を一行にまとめてしまえば、こんな不具合出なかった気がします。
if ((err = SSLHashSHA1.update(&hashCtx, &serverRandom)) != 0) goto fail;
if ((err = SSLHashSHA1.update(&hashCtx, &signedParams)) != 0) goto fail;
if ((err = SSLHashSHA1.final(&hashCtx, &hashOut)) != 0) goto fail;
一行が長くなるのを嫌ったのかな?
Re: (スコア:0)
#define ErrorCheck(f) do { if ((err = f) != 0) goto fail; } while (0)
ErrorCheck(SSLHashSHA1.update(&hashCtx, &serverRandom));
ErrorCheck(SSLHashSHA1.update(&hashCtx, &signedParams));
ErrorCheck(SSLHashSHA1.final(&hashCtx, &hashOut));
ってやりたくなるんだけど、ダメ?
そもそも (スコア:0)
このコードはCではなくてC++なのでは。SSLHashSHA1.updateはメンバ関数を呼び出している様に見えるけど
同じディレクトリにcppファイルもあるみたいだし。
C++11以降が使える処理系なら、こんなふうにgotoを使わずにラムダ式でreturnしたほうがいいのでは。
int err
const bool flag=[&](){
if((err=SSLHashSHA1.update(&hashCtx, &serverRandom))!=0){return false;}
if((err=SSLHashSHA1.update(&hashCtx, &signedPa
Re:そもそも (スコア:0)
せっかく劣ったコンパイラを考慮する必要のない環境なのにねえ。