Hello Andrei, Tuesday, March 18, 2008, 12:07:27 AM, you wrote: >>>> NewRawDoFmt(). Это то же самое, только vararg'и у нее в формате >>>> SysV, а не старом амигаосном (массив на стеке). AS> 24afc: Насколько сложно это будет? К сожалению исходник функции DM_RawDoFmt написан на асме68 и занимает 50кб. Соответственно я его компилю на SASC. Самое простое добавить в ниже приведённые функции включение патча NewRawDoFmt()->DM_RawDoFmt(). Однако DM_RawDoFmt() всё равно вызывает внутри себя реальную OldRawDoFmt() скармливая ей текст с переменными. Т.е. это всё равно что сделать патч NewRawDoFmt() через RawDoFmt(), хотя я могу добавить его включение именно в Gramophone и допустим отправлять на обработку только строки с управляющими символами. void GramON(void) { GramStatus=1; Forbid(); OldRawDoFmt=SetFunction((struct Library *)SysBase,LVORAWDOFMT,(APTR)DM_RawDoFmt); Permit(); } void GramOFF(void) { GramStatus=0; Forbid(); SetFunction((struct Library *) SysBase,LVORAWDOFMT,(APTR) OldRawDoFmt); Permit(); } -- Best regards, 4afc mailto:ml@xxxxxxx