Subject: Re: man pages & style guide
To: Julian Bean <jules@mailbox.co.uk>
From: J.T. Conklin <jconklin@netcom.com>
List: current-users
Date: 03/07/1996 01:09:56
> Umm... I didn't think that function parameters went into the namespace..
>
>
> int multiply(int op1,int op2);
> int add(int op1,int op2);
>
> static int op1,op2;
>
> void func(void)
> {
> int op1,op2;
> }
>
> No namespace conflict there, is there? That'll compile, surely...
Yah, it will. Now suppose those prototypes were in a system header
file <foo.h>.
extern int multiply (int op1, int op2);
extern int add (int op1, int op2);
This could break if I redefined op1 or op2 before including <foo.h>
#define op1 "op1"
#define op2 void
#include <foo.h>
So prototype function arguments in system headers must either not have
names, or have names in the implementers namespace.
--jtc