[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00829] malloc



小野寛生です

Wnn/include/wnn_malloc.h, Wnn/jserver/malloc.c, Wnn/jserver/MALLOC.c
を破棄。

#if STDC_HEADERS
#include <stdlib.h>
#else
#  if HAVE_MALLOC_H
#    include <malloc.h>
#  endif
#endif /* STDC_HEADERS */

を malloc/calloc/realloc/free を使っているファイルに追加。

という作業をしています。
なんで #define malloc malloc0 してたりするんだろうとか、malloc0 はどう
してこういうことをしているんだろうと思ったのですが、

  size = (size + 7) & 0xfffffff8;

でサイズを正規化するためとか、NULL pointer を free しないとかなんでしょうか。
そうしないとまずい実装があるのでしょうか。


そのなかで、気になったコードがあるのですが、

Wnn/jutil/wddel.c で
  rb.buf = (char *) malloc ((unsigned) (rb.size = 0));

という部分があります。その後で

  js_dic_list (env, &rb)

の中で malloc しているので、問題ないのですが、単に

  rb.buf = NULL;

にしていない理由がなにかあるんでしょうか?


http://www.freewnn.org/ FreeWnn Project