Ключевые слова:patch, (найти похожие документы)
_ RU.UNIX (2:5077/15.22) _____________________________________________ RU.UNIX _
From : Yura.Bilik 2:463/617.4 15 Nov 99 01:14:56
Subj : tin - построчная перемотка стpок
________________________________________________________________________________
>>>>> "IN" == Igor Nikolaev <Igor.Nikolaev@f266.n5030.z2.fidonet.org> writes:
>> Там в этом /page.c такой ужас, что лучше его не патчить. ИМХО
>> только испортить можно. Я как увидел, сразу на gnus перешел.
IN> Да нет там особого ужаса, просто очень древняя программа, тогда
IN> так было принято.
Видимо, он с самого начала не предназначался для доработки, например
я там насчитал 14 #ifdef HAV_COLORS хотя можно было обойтись одним
в функции fcol.
IN> Я её уже попатчил на тему замены бестолковой rot13 на бнопню и
IN> псевдографигов в \octal.
IN> Можно довольно просто сделать перемотку не полных страниц, а
IN> сколько надо строк, если в show_note_page, которая собственно
IN> отвечает за показывание страницы, вовремя засовывать в note_mark
IN> нужную позицию (там всё на ftell/fseek сделано).
Ты меня не правильно понял, Для построчной перемотки достаточно,
хотя бы этого. Hо все это бесполезно, ибо к сожалению page.c
написан КРИВО. Впрочем, этот патч прямизны не добавит ;)
для tin-19990216, но подойдет и остальным, IMHO.
- --- page.orig.c Fri Feb 12 13:36:18 1999
+++ page.c Mon Nov 15 00:56:45 1999
@@ -1036,12 +1034,12 @@
break;
} /* loop show_note_page */
-
- if (!show_last_line_prev_page)
- note_mark[++note_page] = ftell (note_fp);
- else
- note_page++;
-
+ {
+ char temp[1000];
+
fseek(note_fp,note_mark[note_page]>0?note_mark[note_page]:mark_body,SEEK_SET);
+ fgets(temp,1000,note_fp);
+ }
+ note_mark[++note_page]=ftell(note_fp);
if (ftell (note_fp) == note_size)
note_end = TRUE;
--
Yura.Bilik@p4.f617.n463.z2.fidonet.org
If you have never been hated by your child, you have never been a parent.
-- Bette Davis
--- Gnus v5.5/XEmacs 20.4 - "Emerald" * Origin: BDPS (2:463/617.4)