Skip site navigation (1)Skip section navigation (2)
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>