アカウント名:
パスワード:
> まあ、当事は、非Ascii な文字は事実上存在無かったということなのでしょうけど。
カーネル内には無かったのでしょうが、一般的には m68k の時代に ISO-8859-1(Latin-1) が無かったはずは無いかと。
C言語的に大小は定義されていないのかもしれませんが、人間的には ASCII の A (0x41=65) と Latin-1 アキュート・アクセント付きの A (0xC1) を比較したら、A < Á を期待するように思います。しかし 0xC1 を 193 でなく -63 と扱うと逆転する、と。
# ヌル文字依存の関数を使っているのは良いのか、という気もしました。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
だめなのか? (スコア:2)
strcmp() の返値は、「文字列の大小」を反映した、負・ゼロ・正なんですが、そもそも、非Ascii文字列の「大小」なんて、統一的な定義は難しそうなので(あるのかな?)m68kの処理系では、これはバグではなく仕様である~にならないのかなぁ?
¶「だますのなら、最後までだまさなきゃね」/ 罵声に包まれて、君はほほえむ。
Re:だめなのか? (スコア:2)
> まあ、当事は、非Ascii な文字は事実上存在無かったということなのでしょうけど。
カーネル内には無かったのでしょうが、一般的には m68k の時代に ISO-8859-1(Latin-1) が無かったはずは無いかと。
C言語的に大小は定義されていないのかもしれませんが、人間的には ASCII の A (0x41=65) と Latin-1 アキュート・アクセント付きの A (0xC1) を比較したら、A < Á を期待するように思います。しかし 0xC1 を 193 でなく -63 と扱うと逆転する、と。
# ヌル文字依存の関数を使っているのは良いのか、という気もしました。