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

Re: gnumeric patch


あかがきです。

On Sat, May 19, 2001 at 09:08:22PM +0900, Yukihiro Nakai wrote:
> 
> うーん、せっかくなんですがg_strdup_vprintf()がvsprintf()関数に投げるバッファの
> 長さを正確に計算するための関数がg_printf_string_upper_bound()なので、ここでバッファの
> 長さを1024に決めうちにするのは、卵・ニワトリ状態になります。

いや、一応 長さが取得できなけりゃバッファを延してリトライするので(こわっ!)
それなりにマットウな長さがとれると思います。

> もともとg_printf_string_upper_bound()も、%n$が含まれていたらとりあえず
> lenに1024を足すということをしています。%n$をサポートしなくても、SEGVを
> 起こさないように修正するのは、できるかも知れません

で、ここは
g_printf_string_upper_bound("%2$s%1$d","hoge","くっそ長い文字列");
でくっそ長い文字列が 1024 こえてたら結構アウトかも。
この場合は g_printf_string_upper_bound 内ではひっかからずに
通ると思います。
まぁ、こんなのはメッタにありませんが。

> いずれにしても、%n$を使うな、というのでは翻訳するな、というのと
> 同じ次元だと思いますので、なんとかしたいところですね。

御意