Bug 22675

Summary: Function is gone, but the man page lingers on
Product: Documentation Reporter: mwm
Component: Books & ArticlesAssignee: freebsd-doc (Nobody) <doc>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description mwm 2000-11-08 01:20:01 UTC
The cfree man page exists, claiming that cfree is an alias for
free. However, trying to use it generates link errors.

Fix: 

Delete the man page? Add cfree back to libc?
How-To-Repeat: 
Try compiling the following short C program:

	int main() {
	  cfree((char *) 0);
	}

and get:

bash-2.04$ cc test.c
test.c: In function `main':
test.c:2: `NULL' undeclared (first use in this function)
test.c:2: (Each undeclared identifier is reported only once
test.c:2: for each function it appears in.)

whereas using free() instead of cfree() works.
Comment 1 jedgar 2000-11-08 01:26:31 UTC
On Wed, Nov 08, 2000 at 01:17:46AM -0000, mwm@mired.org wrote:
> 
> >Number:         22675
> >Category:       docs
> >Synopsis:       Function is gone, but the man page lingers on
> 
> >How-To-Repeat:
> 
> bash-2.04$ cc test.c
> test.c: In function `main':
> test.c:2: `NULL' undeclared (first use in this function)
> test.c:2: (Each undeclared identifier is reported only once
> test.c:2: for each function it appears in.)
> 
> whereas using free() instead of cfree() works.
> 

How about following the man pages instructions:

The cfree function considered obsolete.
It is available from the compatibility library, libcompat.

(i.e. cc test.c -lcompat)

-- 
Chris D. Faulhaber - jedgar@fxp.org - jedgar@FreeBSD.org
--------------------------------------------------------
FreeBSD: The Power To Serve   -   http://www.FreeBSD.org
Comment 2 mwm 2000-11-08 01:29:51 UTC
Chris Faulhaber <jedgar@fxp.org> types:
> On Wed, Nov 08, 2000 at 01:17:46AM -0000, mwm@mired.org wrote:
> > 
> > >Number:         22675
> > >Category:       docs
> > >Synopsis:       Function is gone, but the man page lingers on
> > 
> > >How-To-Repeat:
> > 
> > bash-2.04$ cc test.c
> > test.c: In function `main':
> > test.c:2: `NULL' undeclared (first use in this function)
> > test.c:2: (Each undeclared identifier is reported only once
> > test.c:2: for each function it appears in.)
> > 
> > whereas using free() instead of cfree() works.
> > 
> 
> How about following the man pages instructions:
> 
> The cfree function considered obsolete.
> It is available from the compatibility library, libcompat.
> (i.e. cc test.c -lcompat)

That would be a fine solution by me. I assumed no library was needed
because such are normally documented.

	Thanx,
	<mike
Comment 3 Sheldon Hearn 2000-11-08 12:17:14 UTC
On Tue, 07 Nov 2000 19:51:38 CST, Mike Meyer wrote:

> In which case, I missed it and you can just close the pr. Though I
> think adding the -lcompat line would still be a good idea.

I think this manpage just needs the new .Lb macro.

Ciao,
Sheldon.
Comment 4 Sheldon Hearn 2000-11-20 15:09:11 UTC
On Tue, 14 Nov 2000 13:42:41 +0200, Alexey Zelkin wrote:

> On Mon, Nov 13, 2000 at 09:26:58AM +0200, Sheldon Hearn wrote:
> > 
> > Alexey, is there anything stopping us from adding an Lb macro for
> > libcompat?
>
> Nothing. Go for it.

Okay, so we have a libcompat entry for the Lb macro.  So do we go
apeshit and smack up all the libcompat manual pages? :-)

Is there anyone else with more time on hand to do this?  I'm _really_
pressured for time. :-(

Ciao,
Sheldon.
Comment 5 ben freebsd_committer freebsd_triage 2000-11-21 13:33:41 UTC
State Changed
From-To: open->closed

Manual page fixed to use the .Lb macro.