if PrinterRoutine! NULL
lots of code
if SetupPage()
{
lots of code
...
if AllocMem PrintData
lots of code
...
} if AllocMem
if SetupPage()*
if PrinterRountine*
if Error
lots of code*
C
if Error==None
*lots of code*
...
if PrinterRoutine!= NULL
{
*lots of code*
...
}
if Error== None && PrinterRoutine!= NULL && SetupPage
{
*lots of code*
...
if AllocMem &PrintData
{
*lots of code*
...
}