void GB.SubstAdd ( const char * str , long len );
Вы вызываете эту функцию внутри обратного вызова подстановки, вместо возврата строки для замещения.
См. GB_SUBST_CALLBACK , где больше информации.