[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00714] Re: cpp patch + v6 patch
濱嶋です。
Wed, 15 Aug 2001 16:56:15 +0900 に
Hiroo ONO (小野寛生) <hiroo@oikumene.gcd.org> さんが書かれた
<20010815165615L.hiroo@oikumene.gcd.org> を引用しています
> 最初の、謎の *.1111 がそれかもしれません。
> 少なくとも期待される 22276 はないです。
こちらはわかりました。
小野さんはlittle endian(i386)だからバグって、私はbig endian(macppcと
sparc)だからバグらなかったということです。もしやと思ってNetBSD/hpcmips
で実行したら再現しました。
1111 = 0x0457 だから byte swapすると 0x5704 = 22273 + 3 で一致します。
ということで、v6の場合は文字列(本来はサービス名)を使うので、
sprintf(sport, "%d", ntohs(port));
が正解ということになります。
jlibではsin_portに代入するときにhtons()をしているので、この問題は発生
しません。修正方法はこちらに合わせようと思います。
Permission deniedの方もここに原因があるような気がしますけど、眠いので
続きはまた今度にします。