From b2b11d54831defe45cdadc98557b948569049ccc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dag-Erling=20Sm=C3=B8rgrav?= Date: Sat, 6 Apr 2002 19:02:06 +0000 Subject: [PATCH] Fix bugs in portability code; libpam now builds on NetBSD 1.5.2. Sponsored by: DARPA, NAI Labs git-svn-id: svn+ssh://svn.openpam.org/svn/openpam/trunk@104 185d5e19-27fe-0310-9dcf-9bff6b9f3609 --- include/security/openpam.h | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/include/security/openpam.h b/include/security/openpam.h index 15459e8..b001398 100644 --- a/include/security/openpam.h +++ b/include/security/openpam.h @@ -31,7 +31,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $P4: //depot/projects/openpam/include/security/openpam.h#13 $ + * $P4: //depot/projects/openpam/include/security/openpam.h#14 $ */ #ifndef _SECURITY_OPENPAM_H_INCLUDED @@ -117,19 +117,26 @@ enum { /* * Log to syslog */ -void _openpam_log(int _level, +void +_openpam_log(int _level, const char *_func, const char *_fmt, ...); -#if defined(__STDC__) && (__STDC_VERSION__ > 199901L) +#if defined(__STDC__) && (__STDC_VERSION__ >= 199901L) #define openpam_log(lvl, fmt, ...) \ _openpam_log((lvl), __func__, fmt, __VA_ARGS__) -#elif defined(__GNUC__) +#elif defined(__GNUC__) && (__GNUC__ >= 2) && (__GNUC_MINOR__ >= 95) +#define openpam_log(lvl, fmt, ...) \ + _openpam_log((lvl), __func__, fmt, ##fmt) +#elif defined(__GNUC__) && defined(__FUNCTION__) #define openpam_log(lvl, fmt...) \ - _openpam_log((lvl), __func__, ##fmt) + _openpam_log((lvl), __FUNCTION__, ##fmt) #else -extern openpam_log(int _level, const char *_format, ...); +void +openpam_log(int _level, + const char *_format, + ...); #endif /* @@ -190,12 +197,14 @@ struct pam_module { * Infrastructure for static modules using GCC linker sets. * You are not expected to understand this. */ -#if defined(__GNUC__) && !defined(__PIC__) #if defined(__FreeBSD__) #define PAM_SOEXT ".so" #else -#error Static linking is not supported on your platform +#ifndef NO_STATIC_MODULES +#define NO_STATIC_MODULES #endif +#endif +#if defined(__GNUC__) && !defined(__PIC__) && !defined(NO_STATIC_MODULES) /* gcc, static linking */ #include #include