しゃある通信

#20-02 libinet 0.2 bug
昨日書いた NFS client を作っている JG1VVP さんより libinet/include/netinet/in.h で定義している、おなじみの sockaddr_in 構造体の compatibility 問題が報告された。

本来であれば

struct sockaddr_in {
  u_char sin_len;
  u_char sin_family;
  u_short sin_port;
  struct in_addr sin_addr;
  char sin_zero[8];
};

なのであるが、Human68k オリジナルの ESP/X ヘッダでは

struct sockaddr_in
{
  short sin_family;
  unsigned short sin_port;
  struct in_addr sin_addr;
  char sin_zero[8];
};

になっているのだ。bind() 時に問題になるとのこと。なるほど、NetBSD からそのまま持ってきたのを 吟味せずに使っていたけど、こんなのがあったのかー。報告ありがとうございました。他の構造体も 見直すとするか。…これだけかな。とりあえず修正。



マクロミルへ登録

© 1998 Kazuya 'Sharl' Masuda
(C)Willoo Entertainment Inc. (C)Konami Digital Entertainment 株式会社ウィローエンターテイメント及び株式会社コナミデジタルエンタテインメントの著作権を侵害する行為は禁止されています。 0.004022 cached