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

Re: [bep] Linuxスピーチサーバ(Re: [bep] [FAQ] coreを作らないには?)



井上です。

Noritsugu Nakamura <nnakamur@...> writes:

>     if (pos == SS_INPUT_BLK_SIZE) {
>       buf = (char *)realloc(buf,
> 				     SS_INPUT_BLK_SIZE * (++buf_blocks));

あ、これ、

    if (pos == SS_INPUT_BLK_SIZE * buf_blocks) {

ですね。今のままだとどんどんバッファサイズが増えていく気が・・・
そして、一度このifを通過してしまうとposに対するチェックが行われなくなっ
て、まずいところまで書き込みに行ってしまいそうな予感。
上のように変更すると落ちにくくなったりして・・・

> SS_INPUT_BLK_SIZE が 512 で buf_blocks が char だから
> 循環してうまくいくのでしょうか???

だいたい、なんでbuf_blocksがcharなんだろう??
たくさん虫さんがいるらしいですね。

-- 
                    Koichi Inoue, ARGV
                    E-Mail: inoue@...
                    ICQ UIN: 74900690