3 define(`FUNCTION',`$1_')
4 define(`ARGS',`($1`'undivert(1))')
5 define(`SAVE',`divert(1)$1`'divert(0)')
6 define(`STRING_ARG',`$1_ptr`'SAVE(`, $1_len')')
7 define(`STRING_ARG_DECL',`char * $1_ptr; int $1_len')
8 define(`STRING_LEN',`$1_len')
9 define(`STRING_PTR',`$1_ptr')