The question was related to following procedures:
/* Procedure A */ | /* Procedure B */ address command | address command oldqueue=queued() | parse pull fn ft fm . | 'MAKEBUF' ; buffer=rc 'MAKEBUF' ; buffer=rc | 'IDENTIFY (STACK' 'LISTFILE PROFILE * (STACK' | parse pull userid . nodeid . do queued()-oldqueue | 'QUERY DISK R/W (STACK' parse pull fileid | pull . /* get rid of header */ 'EXEC B' fileid | parse pull . . FirstRWMode . end | if ft=userid then call errexit EXIT: | 'DROPBUF' buffer | ... /* process file */ exit | exit | ERREXIT: | 'DROPBUF' buffer | exit
As one never knows how many stack buffers were created before procedure A was called, the correct answer to the question is the value of variable buffer in procedure B is one more than the value of buffer in procedure A.
Note as well that, at the end of procedure A, no records will remain in the stack, whatever procedure B may have caused.
Use backward navigation to return to the lesson text.