774RRさん、コメントありがとうございます。
知っているから使う、知らないから使わない(いや、使えないだけど)は、ちと違います。
本当のところ、strdup の存在は忘れていましたが、忘れているというとは使ってこなかったわけで、これからも使わないでしょう。理由は簡単。allocate していることがわかりにくいからです。だから、allocThenCopy なのです。これだと、アロケートしていることが名前で解るでしょ?strdup だと、strcpy などに埋もれてしまいそうだから、たぶんこれからも使わない。
calloc も、知っていますが、使いません。何でだっただろう?サイズ計算はやってくれるから楽なんだよな。でも、使わないことにしています。realloc を使わないのは、何でだっただろう?面倒だったから、のような気がする(^o^;
そういえば、memset に NULL 使うと、warning が出てましたねぇ。0に置き換えた記憶が、かすかにある...lint だっけ?オプションが決まってて、「このオプションでワーニングが出ないこと」って規約になってて。あるバージョン(たぶん、ANSI 対応)からボロボロ出てきて、困った困った。
いきなり exit。。。やめたい、というか、、、「いきなり exit はまずいから、エラー返して適切に終了処理するようにしておいてね。」と、言っておいたんですけどねぇ。。。理解したのか、面倒だからしなかったのか。。。ここも、サンプルを提供してしまったことの悪影響です。直す気力もなく(私も他の仕事を抱えていたので)、直す気もなさそうなので(なんせ、時間がおしていたので)、見て見ぬふりを決め込みました。もっと早く見ていれば、手を入れたのですが、まぁ、後の祭りってことで。
> 俺なら現コードを全部捨てて C++ に移行し string 系を使いたいです。
そうしたい。
というか、そうしたかったことを思い出して、
http://blogs.wankuma.com/jitta/archive/2007/07/26/87218.aspx のエントリで、あっちで書かなかった、「いったい何があったの?」ってのが、このエントリ。
Crafさん、コメントありがとうございます。
> 彼は数日間一度も実行しないでコードを書いてたのでしょうか。
いえ、私が聞かなかったのが、まずかったのでしょう。一生懸命、直そうとしていたようです。いろいろ、継ぎ接ぎされた跡がありましたから。
しかし。。。デバッグオプションつけずにコンパイルするものだから、、、いや、もう、思い出したくない。。。
投稿日時 : 2007年7月31日 22:00