X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=crypto%2Fdso%2Fdso_vms.c;h=1674619d17b4f7c963a846cc369e6af538be3ba5;hp=f492202793ef804233579530a55aba2ebe9987d7;hb=9d93ce246cad0fcc66f5cdaa822b2926ffa256b5;hpb=bc36ee6227517edae802bcb0da68d4f04fe1fb5e;ds=sidebyside diff --git a/crypto/dso/dso_vms.c b/crypto/dso/dso_vms.c index f492202793..1674619d17 100644 --- a/crypto/dso/dso_vms.c +++ b/crypto/dso/dso_vms.c @@ -59,16 +59,15 @@ #include #include #include +#include "cryptlib.h" +#include #ifdef OPENSSL_SYS_VMS #pragma message disable DOLLARID #include -#include #include #include #include #endif -#include "cryptlib.h" -#include #ifndef OPENSSL_SYS_VMS DSO_METHOD *DSO_METHOD_vms(void) @@ -89,7 +88,7 @@ static int vms_init(DSO *dso); static int vms_finish(DSO *dso); static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg); #endif -static char *vms_name_converter(DSO *dso); +static char *vms_name_converter(DSO *dso, const char *filename); static DSO_METHOD dso_meth_vms = { "OpenSSL 'VMS' shared library method", @@ -280,7 +279,12 @@ void vms_bind_sym(DSO *dso, const char *symname, void **sym) { DSO_VMS_INTERNAL *ptr; int status; - int flags = LIB$M_FIS_MIXEDCASE; +#if 0 + int flags = (1<<4); /* LIB$M_FIS_MIXEDCASE, but this symbol isn't + defined in VMS older than 7.0 or so */ +#else + int flags = 0; +#endif struct dsc$descriptor_s symname_dsc; *sym = NULL; @@ -366,7 +370,10 @@ static DSO_FUNC_TYPE vms_bind_func(DSO *dso, const char *symname) static char *vms_name_converter(DSO *dso, const char *filename) { - return(filename); + int len = strlen(filename); + char *not_translated = OPENSSL_malloc(len+1); + strcpy(not_translated,filename); + return(not_translated); } #endif /* OPENSSL_SYS_VMS */