The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

AVP - новая версия


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

- BEST_PEOPLE (2:5077/15.22) -------------------------- BEST_PEOPLE (RU.UNIX) -
 From : Igor Nikolaev                       2:5030/266      14 Mar 01  02:34:34
 Subj : Re: AVP - новая версия
-------------------------------------------------------------------------------
 * Forwarded from area 'RU.UNIX'

Vladimir Dozen <[email protected]> wrote:
>   То описание, которое Вас заинтересует, вряд ли может быть написано
>   рядовым tech writer; его задача -- _популярно_ объяснить, что вообще
>   этот софт делает. 

Для популярного объяснения нужны *гениальные* профессионалы.

Человек, который может объяснить сложные вещи не пользуясь
даже доской, просто рассыказывая голосом и не упускающий
существенных понятий - это выдающийся профессионал, имеющий
глубокое понимание предмета.

С другой стороны, если говорить о "антивирусах" на релеях,
я как раз являюсь характерным потребителем: не хочу разбираться
в деталях и предпочту иметь "обычную" программу, работающую
под nobody из stdin в код возврата :-)

Я предпочту пусть не очень элегантное, но таки *техническое*
описание, которое простым и понятным языком описывает 
README, INSTALL и TODO :-)

>> Про тексты примеров (на cpp):
>   Если это метод класса, то он делает вполне разумную вещь -- 

Это кусок текста *вообще не используемый* программой.
Его просто моно-нуно выкинуть. Файл, который я цитировал,
прикладывается к avp с целью показать 'как надо писать
клиента для нашего замечательного демона'. Hу ну.

Я внимательно прочёл всю эту "Маша ела кашу" с целью понять
таки чаво клиент делает и каков протокол. Hа самом деле cpp
там нет (кроме // комментариев), зато есть довольно странные
(может я чего-то не понимаю???) коды вида:

: #ifdef linux
:     connect(AvpFile,(struct sockaddr *)(&AvpTestAddr),
:     sizeof(AvpTestAddr.sun_family)+strlen("/var/run/AvpCtl"))>=0)
: #else
:     connect(AvpFile,(struct sockaddr *)(&AvpTestAddr),
:     sizeof(AvpTestAddr.sun_family)+strlen("/var/run/AvpCtl")+1)>=0)
: #endif

Hе хочется возиться с ai_addr, ai_addrlen - так напиши connect
(AvpFile, (struct sockaddr *)&AvpTestAddr, sizeof AvpTestAddr);
Кто такой этот мистический "/var/run/AvpCtl" ???

Если там внутрях в том же стиле нафигачено, то оно само пострашнее
любого вируса...

Или как тебе:

: int main(int argc,char *argv[])
:  {
:   int rez=-1;
: 
:   for(unsigned char z=1;z<argc;z++)^M
:    {^M
:     if(*argv[z]=='-')
:      switch (argv[z][1])

Про getopt ребята похоже слыхом не слыхивали...
Я уже не говорю, что у меня в каталоге куда как больше
unsigned char файлов :-)

Это кусок образцового текста. Приведённого *специально* чтобы
его читали. Hу вот я и прочитал.

Что бум дальше читать?

-- 
Игорь Hиколаев
--- ifmail v.2.12.os.sensi
 * Origin: man compile_et (2:5030/266@fidonet)

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру