Up | Previous | Next | Title Page | Contents

2.1 General VICAR conventions

There are two types of RTL routines: those that take a constant number of arguments, and those that take optional arguments of the form “key word”, ”value”, “key word”,” value”, etc.
All routines that accept keyword-value pairs, whether or not the pairs are used in any particular call, must have an argument list terminator. The terminator is a language-dependent argument at the end of the argument list, where the next key word would be if it existed.
In FORTRAN, the terminator is a single blank in quotes at the end of the argument list:
call xvopen(unit, status, 'op', 'write','open_act','sa',' ') 
call xvread(unit, buffer, status, 'line', 1, ' ') 
call xvclose(unit, status, '')
In C, the terminator is a 0 or NULL argument ( not a blank):
status = zvopen(unit, “op”, “write”, “open_act”, “sa”, 0); 
status = zvread(unit, buffer, “line”, 1, 0); 
status = zvclose(unit, 0);
Certain RTL routines used to take pure optional arguments (not keyword/value), but that practice is not portable and is now obsolete.

Up | Previous | Next | Title Page | Contents