10 Function integer TPU$CALLUSER ( some_integer% , & input_string$ , & return_string$ ) !++ ! FACILITY: TPU$calluser routine ! ! ABSTRACT: Use the system system to set and show logical names !-- 20 external integer function lib$sys_trnlog external integer function lib$set_logical external integer function lib$signal external integer function lib$sys_getmsg external integer constant ss$_normal external long constant ss$_supersede external long constant ss$_bufferovf external long constant ss$_accvio external long constant ss$_ivlogname declare integer code declare integer return_code return_string$ = "" ! parse the input string: logname "," parameter ! find and extract the logname comma_location = pos ( input_string$, ",", 1% ) if comma_location = 0 then go to all_done end if logname$ = seg$( input_string$, 1%, comma_location - 1% ) ! find and extract the parameter_value log_parameter$ = seg$( input_string$, comma_location + 1% , & len( input_string$) ) Return_code = lib$set_logical ( logname$ , log_parameter$ ) SELECT Return_code CASE SS$_NORMAL ! everthing is ok Return_code = SS$_normal CASE SS$_supersede ! everthing is ok Return_code = SS$_normal CASE SS$_bufferovf ! Not good but not going to die either Return_code = SS$_normal END SELECT 9999 all_done: ! return_string$ is defined TPU$CALLUSER = Return_code end function