アカウント名:
パスワード:
"convert %s %s" の長さが sizeof(buf) 以上だった場合に終端に \0 がつかないとか? そんなことないか。
convert が絶対パス指定でないところとか? これは致命的っぽい。
シェルがどんな解釈をするかもわからない system() よりも、 確実に対象を実行する exec 系関数を使った方がいいとか? これは神経質になりすぎ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
C言語で書かれてもさっぱりわからん (スコア:0, 興味深い)
と思ったのは僕だけ?
どの辺が汚いコードだったのかを (スコア:0)
他の人達も書いてるけど、綺麗な分類に入ると思いますコレ。
っていうかコレを汚いと思った人の開発歴とかを知りたい。マヂで。
職場で若手や新人の視点の考察材料にしたいから。
Re:どの辺が汚いコードだったのかを (スコア:0)
snprintf(buf, sizeof(buf), "convert %s %s", fromfile, tofile);
system(buf);
とかやるな とかですかね?
まぁ汚い”コード”ではないし,コンテストの趣旨からして
本質じゃないと思いますけど.
(Cともあんま関係ないし.)
Re:どの辺が汚いコードだったのかを (スコア:0)
"convert %s %s" の長さが sizeof(buf) 以上だった場合に終端に \0 がつかないとか?
そんなことないか。
convert が絶対パス指定でないところとか?
これは致命的っぽい。
シェルがどんな解釈をするかもわからない system() よりも、
確実に対象を実行する exec 系関数を使った方がいいとか?
これは神経質になりすぎ
Re:どの辺が汚いコードだったのかを (スコア:0)
> そんなことないか。
snprintf()なんて初めて見たんですが、strncpy()とかの仕様を考えると
確かに\0が無いとかを疑っちゃいますね。