summaryrefslogtreecommitdiff
path: root/crypto/bio/bss_log.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/bio/bss_log.c')
-rw-r--r--crypto/bio/bss_log.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/crypto/bio/bss_log.c b/crypto/bio/bss_log.c
index fcb0a13229..8e8868c1ab 100644
--- a/crypto/bio/bss_log.c
+++ b/crypto/bio/bss_log.c
@@ -71,6 +71,8 @@
#elif defined(VMS) || defined(__VMS)
# include <opcdef.h>
# include <descrip.h>
+# include <lib$routines.h>
+# include <starlet.h>
#elif defined(__ultrix)
# include <sys/syslog.h>
#elif !defined(MSDOS) /* Unix */
@@ -264,14 +266,19 @@ static void xopenlog(BIO* bp, const char* name, int level)
static void xsyslog(BIO *bp, int priority, const char *string)
{
- struct descriptor_s opc_dsc;
+ struct dsc$descriptor_s opc_dsc;
struct opcdef *opcdef_p;
char buf[10240];
unsigned int len;
- $DESCRIPTOR(buf_dsc, buf);
+ struct dsc$descriptor_s buf_dsc;
$DESCRIPTOR(fao_cmd, "!AZ");
- lib$sys_fao(&fao_cmd, &len, &buf_dsc, s);
+ buf_dsc.dsc$b_dtype = DSC$K_DTYPE_T;
+ buf_dsc.dsc$b_class = DSC$K_CLASS_S;
+ buf_dsc.dsc$a_pointer = buf;
+ buf_dsc.dsc$w_length = sizeof(buf) - 1;
+
+ lib$sys_fao(&fao_cmd, &len, &buf_dsc, string);
/* we knoe there's an 8 byte header. That's documented */
opcdef_p = (struct opcdef *) Malloc(8 + strlen(s));