[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | VAXELN |
Notice: | Support - 2.*; Kits - 3.* |
Moderator: | HELIX::MIANO LO |
|
Created: | Fri Feb 08 1991 |
Last Modified: | Wed Jun 04 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 770 |
Total number of notes: | 2721 |
763.0. "FYI : patch to apply to ADA$ELNRTL.EXE" by SOS6::VOUTERS (Philippe VOUTERS, Evry (France)) Mon Feb 10 1997 08:51
Dear Sir,
I have definitely found the error that caused a DAP protocol error in your
ADA program. The error comes from the VAXELN-ADA RTL thaqt opened the file
without specifying a DAP buffer size at DAP$OPEN time. Therefore DAP was
taking, without the DAP header, a default buffersize of 4096 bytes which
was not enough for case 1 and 2 of your program below. Finally, as the
buffer used by the FILSERVER was 5120 bytes (case 2) and the user DAP buffer
was 4096 bytes, DAP on the user side raised the error.
In order to enable you to run, please find a patch to the ADA$ELNRTL.EXE.
Please note that this is NO LONGER supported and is provided as is.
Yours sincerely,
Philippe Vouters
-----------------------------------------------------------------------------
$ PATCH eln$:ADA$ELNRTL.EXE
replace/inst
75EE
' CLRL -(SP)'
' PUSHL B^10(R6)'
' MOVZWL B^14(R6),-(SP)'
exit
' JMP L^12140'
' NOP'
' NOP'
' NOP'
exit
replace/inst
12140
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
'HALT'
exit
' PUSHL B^3C(SP)'
' PUSHL B^10(R6)'
' MOVZWL B^14(R6),-(SP)'
' JMP l^75F7'
exit
update
exit
-------------------------------------------------------------------------------
---
with text_io;
with direct_io;
procedure record_test is
--(2) Tested OK with ADA$ELNRTL.EXE patch
--(2) type type_5_type is array ( 1 .. 5119 ) of character;
--(1) Tested OK with ADA$ELNRTL.EXE patch
--(1) type type_5_type is array ( 1 .. 5120 ) of character;
--(3) Tested OK with ADA$ELNRTL.EXE patch
type type_5_type is array ( 1 .. 256 ) of character;
package type_5_io is new direct_io ( type_5_type ) ;
file_5 : type_5_io.file_type;
type_5 : type_5_type;
location : CONSTANT string := "dua0:[000000]";
begin
text_io.put_line ("RECORD_TEST : START");
type_5_io.CREATE (
FILE => file_5,
NAME => location & "file_5.dat",
--(1 or 2) FORM => "FILE; ORGANIZATION SEQUENTIAL;");
--(3)
FORM => "FILE; ORGANIZATION SEQUENTIAL;" &
--(3)
"RECORD; SIZE 256;FORMAT FIXED;");
for i in 1 .. 3 loop
type_5_io.WRITE ( FILE => file_5, ITEM => type_5);
end loop;
--(3)
type_5_io.SET_INDEX (FILE=> file_5,TO => 1);
--(3)
type_5_io.read ( FILE => file_5, ITEM => type_5,FROM => 1);
type_5_io.CLOSE (FILE => file_5);
-- read test
text_io.put_line ( "RECORD_TEST : READ TEST");
type_5_io.OPEN (
FILE => FILE_5,
MODE => type_5_io.inout_file,
NAME => location & "file_5.dat",
FORM => "FILE; ORGANIZATION SEQUENTIAL;" &
--(1) "RECORD; SIZE 5120;FORMAT FIXED;");
--(2) "RECORD; SIZE 5119;FORMAT FIXED;");
--(3)
"RECORD; SIZE 256;FORMAT FIXED;");
for i in 1 .. 3 loop
type_5_io.read ( FILE => file_5, ITEM => type_5);
end loop;
type_5_io.CLOSE (FILE => file_5);
text_io.put_line ("RECORD_TEST : NORMAL END");
end record_test;
---
T.R | Title | User | Personal Name | Date | Lines
|
---|