1 /* BEGIN INCLUDE FILE  gtss_filact_intp1x.incl.pl1 */
 2 /* Author: Dave Ward 1981
 3    Modified: Ron Barstad  83-07-22  Fix status and arglist overlap test
 4 */
 5 validate_status: proc (status_address, sp);
 6 
 7 dcl  status_address           fixed bin(18)unsigned unal parm;
 8 dcl  sp                       ptr parm;
 9 dcl  status_pointer           ptr init(null());
10 
11 
12 /**       Assure 2 word status within memory.     **/
13                if (status_address < mem_bottom) |
14                (status_address >= mem_top) then goto return_err4;
15 
16 /**       Assure status words and arglist do not overlap.   **/
17                if status_address -1 >= filact_args.L_arglist &
18                status_address < (filact_args.L_arglist+ 2) then goto return_err4;
19 
20 /**       Obtain pointer to status words.         **/
21                sp, status_pointer = addrel (gseg, status_address);
22                unspec (status_pointer -> status_word) = "0"b;
23                return;
24 
25 dcl 1 filact_args             aligned based(arg_ptr), /* 1st word only. */
26     2 zero                    fixed bin(18)unsigned unal unal,
27     2 L_arglist               fixed bin(18)unsigned unal unal;
28           end                                               /* validate_status */;
29 
30 /*   END INCLUDE FILE  gtss_filact_intp1x.incl.pl1 */