From owner-freebsd-standards@FreeBSD.ORG Mon Dec 6 01:50:16 2004 Return-Path: Delivered-To: freebsd-standards@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AA5F716A4CE for ; Mon, 6 Dec 2004 01:50:15 +0000 (GMT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7B6E143D55 for ; Mon, 6 Dec 2004 01:50:15 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.1/8.13.1) with ESMTP id iB61oFVn033614 for ; Mon, 6 Dec 2004 01:50:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.1/8.13.1/Submit) id iB61oFPA033613; Mon, 6 Dec 2004 01:50:15 GMT (envelope-from gnats) Resent-Date: Mon, 6 Dec 2004 01:50:15 GMT Resent-Message-Id: <200412060150.iB61oFPA033613@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-standards@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Craig Rodrigues Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0674616A4D2 for ; Mon, 6 Dec 2004 01:40:49 +0000 (GMT) Received: from rwcrmhc11.comcast.net (rwcrmhc11.comcast.net [204.127.198.35]) by mx1.FreeBSD.org (Postfix) with ESMTP id D352043D4C for ; Mon, 6 Dec 2004 01:40:48 +0000 (GMT) (envelope-from rodrigc@crodrigues.org) Received: from h00609772adf0.ne.client2.attbi.com ([66.30.114.143]) by comcast.net (rwcrmhc11) with ESMTP id <2004120601404601300hhjree>; Mon, 6 Dec 2004 01:40:46 +0000 Received: from h00609772adf0.ne.client2.attbi.com (localhost [127.0.0.1]) iB61eiHY032461 for ; Sun, 5 Dec 2004 20:40:44 -0500 (EST) (envelope-from rodrigc@h00609772adf0.ne.client2.attbi.com) Received: (from rodrigc@localhost)iB61eiUm032460; Sun, 5 Dec 2004 20:40:44 -0500 (EST) (envelope-from rodrigc) Message-Id: <200412060140.iB61eiUm032460@h00609772adf0.ne.client2.attbi.com> Date: Sun, 5 Dec 2004 20:40:44 -0500 (EST) From: Craig Rodrigues To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: standards/74751: swab() should be declared in , not X-BeenThere: freebsd-standards@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Craig Rodrigues List-Id: Standards compliance List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 06 Dec 2004 01:50:16 -0000 >Number: 74751 >Category: standards >Synopsis: swab() should be declared in , not >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-standards >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Dec 06 01:50:15 GMT 2004 >Closed-Date: >Last-Modified: >Originator: Craig Rodrigues >Release: FreeBSD 6.0-CURRENT i386 >Organization: >Environment: System: FreeBSD dibbler.crodrigues.org 6.0-CURRENT FreeBSD 6.0-CURRENT #44: Sun Dec 5 14:16:56 EST 2004 rodrigc@dibbler.crodrigues.org:/usr/obj/usr/src/sys/MYKERNEL1 i386 >Description: I was trying to compile the ACE library, which follows the Single Unix Specification fairly closesly, and compilation failed because our swab() is declared in , not in . The prototype for swab() should be in , not in , according to: http://www.opengroup.org/onlinepubs/009695399/functions/swab.html >How-To-Repeat: >Fix: --- include/string.h.orig Sun Dec 5 20:24:50 2004 +++ include/string.h Sun Dec 5 20:34:09 2004 @@ -108,8 +108,13 @@ #endif size_t strxfrm(char * __restrict, const char * __restrict, size_t); #if __BSD_VISIBLE -void swab(const void *, void *, size_t); -#endif + +#ifndef _SWAB_DECLARED +#define _SWAB_DECLARED +void swab(const void * __restrict, void * __restrict, ssize_t); +#endif /* _SWAB_DECLARED */ + +#endif /* __BSD_VISIBLE */ __END_DECLS #endif /* _STRING_H_ */ --- include/unistd.h.orig Sun Dec 5 20:29:04 2004 +++ include/unistd.h Sun Dec 5 20:32:11 2004 @@ -436,7 +436,12 @@ int setpgrp(pid_t _pid, pid_t _pgrp); /* obsoleted by setpgid() */ int setregid(gid_t, gid_t); int setreuid(uid_t, uid_t); -/* void swab(const void * __restrict, void * __restrict, ssize_t); */ + +#ifndef _SWAB_DECLARED +#define _SWAB_DECLARED +void swab(const void * __restrict, void * __restrict, ssize_t); +#endif /* _SWAB_DECLARED */ + void sync(void); useconds_t ualarm(useconds_t, useconds_t); int usleep(useconds_t); --- lib/libc/string/swab.c.orig Sun Dec 5 20:21:03 2004 +++ lib/libc/string/swab.c Sun Dec 5 20:21:18 2004 @@ -40,7 +40,7 @@ #include __FBSDID("$FreeBSD: src/lib/libc/string/swab.c,v 1.5 2002/08/30 20:33:05 robert Exp $"); -#include +#include void swab(const void * __restrict from, void * __restrict to, size_t len) --- lib/libc/string/swab.3.orig Sun Dec 5 20:22:22 2004 +++ lib/libc/string/swab.3 Sun Dec 5 20:23:46 2004 @@ -41,7 +41,7 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.In string.h +.In unistd.h .Ft void .Fn swab "const void * restrict src" "void * restrict dst" "size_t len" .Sh DESCRIPTION >Release-Note: >Audit-Trail: >Unformatted: