From wollman@khavrinen.lcs.mit.edu Tue Nov 16 09:22:43 1999
Return-Path: <wollman@khavrinen.lcs.mit.edu>
Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193])
	by hub.freebsd.org (Postfix) with ESMTP id 1304414D9E
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 16 Nov 1999 09:22:34 -0800 (PST)
	(envelope-from wollman@khavrinen.lcs.mit.edu)
Received: (from wollman@localhost)
	by khavrinen.lcs.mit.edu (8.9.3/8.9.3) id MAA12167;
	Tue, 16 Nov 1999 12:22:34 -0500 (EST)
	(envelope-from wollman)
Message-Id: <199911161722.MAA12167@khavrinen.lcs.mit.edu>
Date: Tue, 16 Nov 1999 12:22:34 -0500 (EST)
From: Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
Reply-To: wollman@khavrinen.lcs.mit.edu
To: FreeBSD-gnats-submit@freebsd.org
Subject: getsubopt isn't poisonous enough
X-Send-Pr-Version: 3.2

>Number:         14925
>Category:       bin
>Synopsis:       getsubopt isn't poisonous enough
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-standards
>State:          suspended
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Nov 16 09:30:00 PST 1999
>Closed-Date:    
>Last-Modified:  Sat Mar 08 18:37:38 UTC 2008
>Originator:     Garrett Wollman
>Release:        FreeBSD 4.0-CURRENT i386
>Organization:
MIT Laboratory for Computer Science
>Environment:

	-current sources as of today

>Description:

	The second argument to getsubopt(3) is declared as a `pointer
	to const pointer to char'.  Since the contents of the tokens
	array are typically string literals, and since getsubopt(3)
	doesn't make any attempt to change them, it would be better
	declared as `pointer to const pointer to const char' (`const
	char * const * tokens') so that code can be compiled with
	const string literals (`-Wwrite-strings').  This is
	unfortunately type-incompatible with existing programs, and
	SUSv2 codifies the bogus type.


>How-To-Repeat:

	man getsubopt	

>Fix:

	Complain to P1003 so that this mistake doesn't get carried
	over into the POSIX update.



>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->suspended 
State-Changed-By: linimon 
State-Changed-When: Sat Mar 8 18:36:09 UTC 2008 
State-Changed-Why:  
This is really a standards problem.  I don't think this is anything 
that FreeBSD can solve; OTOH, flag it as 'suspended' in case anyone 
on -standards has some thoughts about it. 


Responsible-Changed-From-To: freebsd-bugs->freebsd-standards 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Sat Mar 8 18:36:09 UTC 2008 
Responsible-Changed-Why:  

http://www.freebsd.org/cgi/query-pr.cgi?pr=14925 
>Unformatted:
