THIS FILE IS DAMAGED en do; 91 call add (" "); 92 call convert_status_code_ (ecode, short_mess, long_mess); 93 call strip_add ((long_mess)); 94 end; 95 96 /* add ioa_ message to buffer */ 97 98 call cu_$arg_count (nargs); 99 if nargs > 3 then do; 100 call add (" "); 101 call cu_$arg_list_ptr (argp); 102 call ioa_$general_rs (argp, 4, 5, ioa_string, len, "0"b, "0"b); 103 call strip_add (substr (ioa_string, 1, len)); 104 end; 105 106 /* now just spit it out */ 107 108 finish: call admin_gate_$syserr (15, substr (buffer, 1, bi)); 109 return; 110 111 112 strip_add: proc (item); /* strips trailing blanks and adds item to buffer */ 113 114 dcl item char (*); 115 dcl (i, j) fixed bin; 116 dcl strip_sw bit (1) aligned; 117 118 119 strip_sw = "1"b; /* strip trailing blanks */ 120 go to join; 121 122 add: entry (item); /* adds item to buffer */ 123 124 strip_sw = "0"b; 125 126 127 join: i = length (item); 128 if i = 0 then return; 129 130 if strip_sw then do; 131 j = verify (reverse (item), " "); 132 if j = 0 then return; /* item was all blanks */ 133 i = i -j + 1; 134 end; 135 136 if bi + i > length (buffer) then i = length (buffer) - bi; 137 substr (buffer, bi+1, i) = substr (item, 1, i); 138 bi = bi + i; 139 if bi = length (buffer) then go to finish; 140 141 end strip_add; 142 143 144 end mseg_error_v4_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/06/85 1619.0 mseg_error_v4_.pl1 >spec>on>mseg>mseg_error_v4_.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. admin_gate_$syserr 000024 constant entry external dcl 55 ref 108 argp 000432 automatic pointer dcl 42 set ref 101* 102* bi 000300 automatic fixed bin(17,0) dcl 33 set ref 59* 108 108 136 136 137 138* 138 139 buffer 000100 automatic char(512) dcl 32 set ref 108 108 136 136 137* 139 caller parameter char unaligned dcl 30 set ref 11 63 64* code 000364 automatic fixed bin(35,0) dcl 37 set ref 71* 72 convert_status_code_ 000014 constant entry external dcl 51 ref 92 cu_$arg_count 000016 constant entry external dcl 52 ref 98 cu_$arg_list_ptr 000020 constant entry external dcl 53 ref 101 dir 000301 automatic char(168) unaligned dcl 34 set ref 71* 76 76 dirlen 000353 automatic fixed bin(17,0) dcl 35 set ref 71* 76 76 ecode parameter fixed bin(35,0) dcl 29 set ref 11 90 92* ent 000354 automatic char(32) unaligned dcl 36 set ref 71* 78* get_group_id_ 000012 constant entry external dcl 50 ref 85 hcs_$fs_get_path_name 000010 constant entry external dcl 49 ref 71 i 000100 automatic fixed bin(17,0) dcl 115 set ref 127* 128 133* 133 136 136* 137 137 138 ioa_$general_rs 000022 constant entry external dcl 54 ref 102 ioa_string 000434 automatic char(256) unaligned dcl 43 set ref 102* 103 103 item parameter char unaligned dcl 114 ref 112 122 127 131 137 j 000101 automatic fixed bin(17,0) dcl 115 set ref 131* 132 133 len 000534 automatic fixed bin(17,0) dcl 44 set ref 102* 103 103 length builtin function dcl 47 ref 127 136 136 139 long_mess 000400 automatic char(100) dcl 40 set ref 92* 93 mptr parameter pointer dcl 28 set ref 11 70 71* nargs 000431 automatic fixed bin(17,0) dcl 41 set ref 98* 99 null builtin function dcl 47 ref 70 pgid 000365 automatic char(32) unaligned dcl 38 set ref 85* 86* reverse builtin function dcl 47 ref 131 short_mess 000376 automatic char(8) dcl 39 set ref 92* strip_sw 000102 automatic bit(1) dcl 116 set ref 119* 124* 130 substr builtin function dcl 47 set ref 76 76 103 103 108 108 137* 137 verify builtin function dcl 47 ref 131 NAMES DECLARED BY EXPLICIT CONTEXT. add 000520 constant entry internal dcl 122 ref 65 72 75 76 77 84 91 100 finish 000450 constant label dcl 108 ref 139 join 000534 constant label dcl 127 ref 120 mseg_error_v4_ 000034 constant entry external dcl 11 strip_add 000501 constant entry internal dcl 112 ref 64 78 86 93 103 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 740 766 611 750 Length 1144 611 26 142 127 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mseg_error_v4_ 442 external procedure is an external procedure. strip_add 68 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mseg_error_v4_ 000100 buffer mseg_error_v4_ 000300 bi mseg_error_v4_ 000301 dir mseg_error_v4_ 000353 dirlen mseg_error_v4_ 000354 ent mseg_error_v4_ 000364 code mseg_error_v4_ 000365 pgid mseg_error_v4_ 000376 short_mess mseg_error_v4_ 000400 long_mess mseg_error_v4_ 000431 nargs mseg_error_v4_ 000432 argp mseg_error_v4_ 000434 ioa_string mseg_error_v4_ 000534 len mseg_error_v4_ strip_add 000100 i strip_add 000101 j strip_add 000102 strip_sw strip_add THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs call_ext_out_desc call_ext_out call_int_this_desc return tra_ext shorten_stack ext_entry_desc int_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. admin_gate_$syserr convert_status_code_ cu_$arg_count cu_$arg_list_ptr get_group_id_ hcs_$fs_get_path_name ioa_$general_rs NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000030 59 000047 63 000050 64 000056 65 000066 70 000100 71 000105 72 000136 75 000157 76 000171 77 000210 78 000223 84 000233 85 000245 86 000254 90 000264 91 000267 92 000301 93 000315 98 000330 99 000337 100 000342 101 000354 102 000363 103 000430 104 000447 108 000450 109 000476 112 000500 119 000514 120 000516 122 000517 124 000533 127 000534 128 000536 130 000537 131 000541 132 000555 133 000556 136 000562 137 000571 138 000600 139 000602 141 000610 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved