[amirus] Re: rusgrammar.library

  • From: 4afc <ml@xxxxxxx>
  • To: Andrei Shestakov <amirus@xxxxxxxxxxxxx>
  • Date: Sun, 23 Mar 2008 15:51:09 +0300

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


Other related posts: