[Info-vax] libvbisam for VMS
Arne Vajhøj
arne at vajhoej.dk
Mon Mar 13 08:32:39 EDT 2023
On 3/13/2023 7:25 AM, JOUKJ wrote:
> Arne Vajhøj wrote:
>> https://www.vajhoej.dk/arne/vmsstuff/vbisam/
>>
>> vbisam-2_0.tar-gz : original VBISAM 2.0 kit
>> vbisam-2_0-av.zip : my changes to make VBISAM 2.0 build and work
>> work (*) VMS
>>
>> vbisam-2_0_1.tar-gz : original VBISAM 2.0.1 kit
>> vbisam-2_0_1-av.zip : my changes to make VBISAM 2.0.1 build and work
>> (*) on VMS
>>
>> vbisam-2_1_1.zip : original VBISAM 2.1.1 kit
>> vbisam-2_1_1-av.zip : my changes to make VBISAM 2.1.1 build and work
>> (*) on VMS
>>
>> *) Hacks:
>> - no locking in library only what RMS provides
>> - no check for if same file is opened twice with different name
>>
>> vbi.zip : VBISAM extras
>> - VMS API callable from
>> Cobol/Fortran/Pascal/Basic
>> - standalone utility to create simple VBISAM
>> files
>> - JNI implementation for my Java ISAM library
> When compiling this stuff I got (apart from your specific directories) 2
> problems
>
> 1) in isam.com scan_globals_for_option.com is calledbut missing in the
> distribution. However I can guess what happens here.
SCAN_GLOBALS_FOR_OPTION.COM and JAVA$BUILD_OPTION.EXE comes
with VMS Java.
I suppose I could leave the generated OPT file in the dist.
> 2) when running @vms_vbisam.com I get:
> spawn-tango-jj) @vms_vbisam.com
>
> *buflen = isreclen;
> ..............^
> %CC-E-UNDECLARED, In this statement, "isreclen" is not declared.
> at line number 78 in file
> $DISK16:[JOUKJ.public.vbisam.vbisam-2^.1^.1]vms_vbisam
> .c;1
>
> *buflen = isreclen;
> ..............^
> %CC-E-UNDECLARED, In this statement, "isreclen" is not declared.
> at line number 94 in file
> $DISK16:[JOUKJ.public.vbisam.vbisam-2^.1^.1]vms_vbisam
> .c;1
>
> *buflen = isreclen;
> ..............^
> %CC-E-UNDECLARED, In this statement, "isreclen" is not declared.
> at line number 100 in file
> $DISK16:[JOUKJ.public.vbisam.vbisam-2^.1^.1]vms_vbisa
> m.c;1
>
> isreclen is a member of a structure but not a global variable. No idea
> what is meant here.
VMS_VBISAM is intended to be build against 2.0 or 2.0.1 - to build
against 2.1.1 then one need to replace isreclen with
vb_get_rtd()->isreclen.
I should probably create 2 COM files or make something conditional.
It is a bad breaking change, but apperently someone did not like
the idea of exposing data directly from a shareable image
(DLL on Windows).
Thanks for the error report. I will update.
Arne
More information about the Info-vax
mailing list