Date: Mon, 14 Apr 1997 23:04:53 +0400 (MSD) From: Dmitrij Tejblum <tejblum@arc.hq.cti.ru> To: FreeBSD-gnats-submit@freebsd.org Subject: misc/3291: md2.h, md4.h, and md5.h headers useless for c++ programms Message-ID: <199704141904.XAA03036@arc.hq.cti.ru> Resent-Message-ID: <199704141910.MAA07276@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 3291
>Category: misc
>Synopsis: md2.h, md4.h, and md5.h headers useless for c++ programms
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Apr 14 12:10:01 PDT 1997
>Last-Modified:
>Originator: Dmitrij Tejblum
>Organization:
CompTek
>Release: FreeBSD 2.2-STABLE i386
>Environment:
>Description:
The headers must use __BEGIN_DECLS and __END_DECLS around function
prototypes. Now the c++ compiler thinks that MD5Init and so on is C++
functions and mangles the names.
>How-To-Repeat:
>Fix:
Also, while you at here, make the headers self-contained
*** lib/libmd/md2.h.orig Fri Apr 4 00:17:05 1997
--- lib/libmd/md2.h Mon Apr 14 22:05:04 1997
***************
*** 30,40 ****
--- 30,44 ----
unsigned char buffer[16]; /* input buffer */
} MD2_CTX;
+ #include <sys/cdefs.h>
+
+ __BEGIN_DECLS
void MD2Init(MD2_CTX *);
void MD2Update(MD2_CTX *, const unsigned char *, unsigned int);
void MD2Final(unsigned char [16], MD2_CTX *);
char * MD2End(MD2_CTX *, char *);
char * MD2File(char *, char *);
char * MD2Data(const unsigned char *, unsigned int, char *);
+ __END_DECLS
#endif /* _MD2_H_ */
*** lib/libmd/md4.h.orig Fri Apr 4 00:17:05 1997
--- lib/libmd/md4.h Mon Apr 14 22:46:26 1997
***************
*** 25,30 ****
--- 25,33 ----
#ifndef _MD4_H_
#define _MD4_H_
+
+ #include <sys/types.h>
+
/* MD4 context. */
typedef struct MD4Context {
u_int32_t state[4]; /* state (ABCD) */
***************
*** 32,42 ****
--- 35,49 ----
unsigned char buffer[64]; /* input buffer */
} MD4_CTX;
+ #include <sys/cdefs.h>
+
+ __BEGIN_DECLS
void MD4Init(MD4_CTX *);
void MD4Update(MD4_CTX *, const unsigned char *, unsigned int);
void MD4Final(unsigned char [16], MD4_CTX *);
char * MD4End(MD4_CTX *, char *);
char * MD4File(char *, char *);
char * MD4Data(const unsigned char *, unsigned int, char *);
+ __END_DECLS
#endif /* _MD4_H_ */
*** sys/sys/md5.h.orig Sun Dec 22 13:31:34 1996
--- sys/sys/md5.h Mon Apr 14 22:46:53 1997
***************
*** 26,31 ****
--- 26,34 ----
#ifndef _SYS_MD5_H_
#define _SYS_MD5_H_
+
+ #include <sys/types.h>
+
/* MD5 context. */
typedef struct MD5Context {
u_int32_t state[4]; /* state (ABCD) */
***************
*** 33,42 ****
--- 36,49 ----
unsigned char buffer[64]; /* input buffer */
} MD5_CTX;
+ #include <sys/cdefs.h>
+
+ __BEGIN_DECLS
void MD5Init (MD5_CTX *);
void MD5Update (MD5_CTX *, const unsigned char *, unsigned int);
void MD5Final (unsigned char [16], MD5_CTX *);
char * MD5End(MD5_CTX *, char *);
char * MD5File(char *, char *);
char * MD5Data(const unsigned char *, unsigned int, char *);
+ __END_DECLS
#endif /* _SYS_MD5_H_ */
>Audit-Trail:
>Unformatted:
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704141904.XAA03036>
