ToDo:
ふと、 w3m の Sprintf ってどう実装されてるんだ… という疑問が頭を。
おそろしいことが行われていた。
printf のフォーマットを適当に解析して 適当に長さを予測して… ああやっぱそうなるのかしょうがないな… と思ったら
s = Strnew_size(len * 2);
とかしてた。
2倍て。適当すぎやろ。
Ruby はまぁ、順当に実力で頑張っていた。
(08:13)
s = Strnew_size(len * 2); va_start(ap, fmt); vsprintf(s->ptr, fmt, ap); va_end(ap); s->length = strlen(s->ptr); if (s->length > len * 2) { fprintf(stderr, "Sprintf: string too long\n"); exit(1); }
vsnprintf じゃないとそれあかんやろとか
(08:21)
前 | 2008年 4月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。