OpenSSL CVS Repository
http://cvs.openssl.org/
____________________________________________________________
________________
Server: cvs.openssl.org Name: Andy
Polyakov
Root: /v/openssl/cvs Email: appro openssl.org
Module: openssl Date:
20-May-2007 22:11:20
Branch: HEAD Handle:
2007052021111603
Modified files:
openssl e_os2.h
openssl/crypto/des enc_read.c set_key.c
Log:
OPENSSL_IMPLEMENT_GLOBAL caused more grief than it's
worth (it's used twice
in legacy code). I'd rather just remove it along with
legacy interface,
but it's probably not as appropriate as I'd like.
Reimplement the macro.
Summary:
Revision Changes Path
1.18 +1 -1 openssl/crypto/des/enc_read.c
1.21 +1 -1 openssl/crypto/des/set_key.c
1.33 +5 -6 openssl/e_os2.h
____________________________________________________________
________________
patch -p0 <<' .'
Index: openssl/crypto/des/enc_read.c
============================================================
================
$ cvs diff -u -r1.17 -r1.18 enc_read.c
--- openssl/crypto/des/enc_read.c 3 Nov 2005 15:50:50
-0000 1.17
+++ openssl/crypto/des/enc_read.c 20 May 2007 20:11:19
-0000 1.18
 -63,7 +63,7 
/* This has some uglies in it but it works - even over
sockets. */
/*extern int errno;*/
-OPENSSL_IMPLEMENT_GLOBAL(int,DES_rw_mode)=DES_PCBC_MODE;
+OPENSSL_IMPLEMENT_GLOBAL(int,DES_rw_mode,DES_PCBC_MODE)
/*
 .
patch -p0 <<' .'
Index: openssl/crypto/des/set_key.c
============================================================
================
$ cvs diff -u -r1.20 -r1.21 set_key.c
--- openssl/crypto/des/set_key.c 29 Oct 2003 20:24:09
-0000 1.20
+++ openssl/crypto/des/set_key.c 20 May 2007 20:11:19
-0000 1.21
 -65,7 +65,7 
*/
#include "des_locl.h"
-OPENSSL_IMPLEMENT_GLOBAL(int,DES_check_key); /* defaults
to false */
+OPENSSL_IMPLEMENT_GLOBAL(int,DES_check_key,0) /* defaults
to false */
static const unsigned char odd_parity[256]={
1, 1, 2, 2, 4, 4, 7, 7, 8, 8, 11, 11, 13, 13,
14, 14,
 .
patch -p0 <<' .'
Index: openssl/e_os2.h
============================================================
================
$ cvs diff -u -r1.32 -r1.33 e_os2.h
--- openssl/e_os2.h 11 Apr 2006 21:34:13 -0000 1.32
+++ openssl/e_os2.h 20 May 2007 20:11:16 -0000 1.33
 -266,20 +266,19 
The way it's done allows definitions like this:
// in foobar.c
- OPENSSL_IMPLEMENT_GLOBAL(int,foobar) = 0;
+ OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0)
// in foobar.h
OPENSSL_DECLARE_GLOBAL(int,foobar);
#define foobar OPENSSL_GLOBAL_REF(foobar)
*/
#ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION
-# define OPENSSL_IMPLEMENT_GLOBAL(type,name)
- extern type _hide_##name;
- type *_shadow_##name(void) { return &_hide_##name;
}
- static type _hide_##name
+# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value)
+ type *_shadow_##name(void)
+ { static type _hide_##name=value; return
&_hide_##name; }
# define OPENSSL_DECLARE_GLOBAL(type,name) type
*_shadow_##name(void)
# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
#else
-# define OPENSSL_IMPLEMENT_GLOBAL(type,name)
OPENSSL_GLOBAL type _shadow_##name
+# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value)
OPENSSL_GLOBAL type _shadow_##name=value;
# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT
type _shadow_##name
# define OPENSSL_GLOBAL_REF(name) _shadow_##name
#endif
 .
____________________________________________________________
__________
OpenSSL Project http://www.openssl.org
CVS Repository Commit List
openssl-cvs openssl.org
Automated List Manager
majordomo openssl.org
|