> From: owner-openssl-us...@openssl.org [mailto:owner-openssl- > us...@openssl.org] On Behalf Of Iñaki Baz Castillo > Sent: Tuesday, 09 September, 2014 09:10 > To: openssl-users@openssl.org > Subject: Re: Why does OpenSSL own all the prefixes in the world? > > 2014-09-09 13:14 GMT+02:00 Michael Wojcik <michael.woj...@microfocus.com>: > > You'd have to include the standard C headers before including the OpenSSL > ones, outside the namespace, so that their inclusion by the OpenSSL headers > has no effect. > > I did that, but if a openssl header file includes standard C headers > that I don't include, then the namespace declaration would affect them > too, am I wrong?
It shouldn't. The C standard says that the second and subsequent inclusion of a standard header has no effect, and I believe the current C++ standard inherits that rule. All the implementations I know of (with maybe some special exceptions like Splint) implement that with "inclusion guards" - conditional-compilation directives around all the contents of the file. So if a standard header is included once outside any namespace, then if it's included again inside a namespace, it shouldn't declare anything in that namespace, because all its contents should be skipped. I believe namespaces don't affect macro identifiers, so the guards should work. I could be wrong about that, though. I haven't tried it myself, and I don't know the C++ standard nearly as well as the C one. -- Michael Wojcik Technology Specialist, Micro Focus This message has been scanned for malware by Websense. www.websense.com