<?c
#include <stdio.h>

void escape(char *str, FILE *out);

int main(int argc, char *argv[])
{
    int i;

?>

Hello @!{argv[0]}@!

    <?c for (i = 1; i < argc; i++) { ?>
    
       @!{"%d", i}@
       @{argv[i]}@
    
    <?c } ?>

<?c

    return 0; 
}

void escape(char *str, FILE *out)
{
    char *pch;
    for (pch = str; *pch != '\0'; pch++) {
        switch (*pch) {
        case '&':   fputs("&",  out);  break;
        case '>':   fputs(">",   out);  break;
        case '<':   fputs("<",   out);  break;
        case '"':   fputs(""", out);  break;
        case '\'':  fputs("'", out);  break;
        default:    fputc(*pch, out);
        }
    }
}

?>
