丁稚な日々

Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。
Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません...

[直前] [最新] [直後] [Top]

Apr.21,2003 (Mon)

Revision: 1.4 (Apr.21,2003 16:08)

(v)snprintf問題

_ [ruby-dev:20029]を投げた時点で考えていたこと。

  • (v)snprintfがC99のそれと互換であるかどうかはconfigureで検出する。
  • 互換でなければmissing/vsnprintf.cを利用する。
  • mswin32/bccwin32に関してはconfigureを実行できないが、結果はわかってるのでmissing/vsnprintf使用。

_ この方法の問題点は、

  • 検出にはテストコードの実行が必要なので、cross compileでは検出できない。
  • [ruby-dev:20035]で指摘されたように、missing/vsnprintf.cは浮動小数点値を扱えない(扱うコードはあるが、コメントによるとポータブルではないということで無効にされている)。

といったところ。

_ 話がmswin32/mingw32/bccwin32に限られるなら(その可能性が高いことは調査したが、断言はできない)、[ruby-talk:69678]のパッチでOK。
もっとも、どうせならC99互換になるよう、

int
rb_w32_vsnprintf(char *buf, size_t size, const char *format, va_list va)
{
    int ret;
    if (size < 0)
        return -1;
    else if (size == 0)
        return 0;
    ret = _vsnprintf(buf, size, format, va);
    if (ret < 0) {
        buf[size - 1] = 0;
        ret = size;
    }
    return ret;
}

かな(正式なC99仕様を見ないで書いてるので非互換があるかも)。

_ まあそんな細かいことはともかく、どうしたもんかなあ。
うーんうーん。

_ あ、errnoの処理入れ忘れてる。

[Web] おまじない

_ コメントに「workaround」と書いておくと、バグっていても言い訳できます。
でもあまりやりすぎると嫌われます。

_ おまじないと関係ないけど、私はふつーの106/109キーボードを使ってます。職場ではThinkPadのキーボードを日本語配列のまま使用。
101/104でもいいっていえばいいんですけど、混ざってると混乱するので、どっちかに統一→入手しやすい方(特にノートで)→106/109ということにしてます。
あと、他人にはRealforce 106を勧めまくってますが、自分では使ってません。あれに慣れると他のキーボードなんか使えなくなるので。

Apr.23,2003 (Wed)

Revision: 1.1 (Apr.23,2003 20:19)

[Web] キーボード

_ FKB8744というと、私が最も金をつぎこんだキーボードだったりします。
所有してないのになぜか、というと、ゲーセンにあったから。
そう、あのTHE TYPING OF THE DEADのキーボードなわけですな。

_ これの欠点は、パームレストがないことと、キートップに若干ぐらつきがあることくらいかな。
私のタイピングは異常(*1)で、手首付け根、小指側の骨(豆状骨っていうのかな)を始点にして手の平全体を左右に振りながらタイプするので、ほどほどの高さにパームレストがないとキーが打てなかったりするのです。

付記

(*1) 私のタイピングは異常
よく同僚に変態タイピングと言われる。

Apr.25,2003 (Fri)

Revision: 1.1 (Apr.26,2003 00:03)

[mswin32] etc.so

_ 1.6にはありません。1.8にはあります。
1.6にないのは、getlogin()がruby側(win32/win32.c)で実装されていて、extconf.rbがそれをチェックしないためです。
1.8だとrubyが自前で実装している関数もextconf.rbで発見されるので、etc.soが作成されます。

_ はて、1.6はそれでいいのか?
shimのstringioの話のときにどうにかしたんじゃなかったっけ?

Apr.26,2003 (Sat)

Revision: 1.1 (Apr.26,2003 02:33)

[mswin32] etc.so

_ 昨日(というかさっき)書いたのは勘違いだったらしい。
えーと、どうしよう。正直etc.soなんかできても意味無いので放っておいていいかな。


被捕捉アンテナ類
[\ay antenna (testing)] [Ant] [Antenna-Julia] [LayserあんてなV2] [nAntenna] [nuance de Antenna] [Rabbit's Antenna] [Read List] [Ruby hotlinks 五月雨版 (るるりん。)] [してたま (私的アンテナ with たまてばこ)] [ただのあんてな] [ちゃらんぽらん] [でこぽんリンク] [なよろアンテナ] [にっきトレーサー] [偽善者あんてな - 2nd season -] [湘南日記放送局(SDB)] [はてなの各アンテナ]