From owner-freebsd-hackers Fri Sep 12 07:57:59 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id HAA08605 for hackers-outgoing; Fri, 12 Sep 1997 07:57:59 -0700 (PDT) Received: from word.smith.net.au (word.smith.net.au [202.0.75.3]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id HAA08590 for ; Fri, 12 Sep 1997 07:57:25 -0700 (PDT) Received: from word.smith.net.au (localhost.smith.net.au [127.0.0.1]) by word.smith.net.au (8.8.7/8.8.5) with ESMTP id AAA03400 for ; Sat, 13 Sep 1997 00:24:47 +1000 (EST) Message-Id: <199709121424.AAA03400@word.smith.net.au> X-Mailer: exmh version 2.0zeta 7/24/97 To: hackers@freebsd.org Subject: bug in getservent() ? Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 12 Sep 1997 23:54:45 +0930 From: Mike Smith Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk One of the interesting observations coming out of a recent discussion has been that getservent() behaves a little oddly with regard to port numbers. Notably, we have this fragment : (int)serv.s_port = htons((u_short)atoi(p)); By my reading, that puts a network-order short into serv.s_port. However elsewhere (eg. getservent(3)) port numbers are referenced as integer quantities; getservent(3) even goes so far as to explicitly mention that the port number is a 32-bit quantity. Any suggestions on a "correct" fix, or is this a "known" BSDism? mike