End Google Ads 201810 - BS.net 01 --> I'm an experienced mainframe developer familiar with old world ********s (COBOL, Assembler etc). I've recently written a couple of C batch programs, now successfully in production. I've now been briefed to write a C subroutine, for use by non C main programs, and have come across a fundamental problem: How do I exit a C subroutine? Is this a design issue ie should the code flow return to the top level where a normal'return' will take control back to the calling code or is there more to it?