LINUX.ORG.RU

Microsoft предупреждает: использование Linux грозит судебными исками


1

0

На конференции в Сингапуре 18-го ноября CEO Microsoft Стив Баллмер заявил, что азиатские правительства, в последнее время активно продвигающие Linux в качестве своей основной ОС, будут преследоваться судом за нарушение патентов на интеллектуальную собственность (IP). По утверждению Баллмера, Linux нарушает более 228-ми разнообразных патентов. Хотя ни разу не было сказано, что иски будет подавать именно Microsoft, но подтекст высказывания вполне четок: Microsoft начинает IP-войну против сообщества Open Source. Строгое соблюдение прав на интеллектуальную собственность является одним из условий вступления страны в ВТО, куда сейчас вступают многие азиатские страны. Как сказал Баллмер, "рано или поздно, во всех странах, вступивших в ВТО, кто-то будет искать свои потерянные деньги, которые ему должны за использование его IP rights."

>>> Статья в Register

★★★★

Проверено: Demetrio ()

Ответ на: комментарий от anonymous

>Ах ну да , не только о пожрать думают, а еще проститутку снять...действительно, есть и другие идеи но они все в деньги упираются. А что ты не хочешь работать за идею? Чтож тогда мне тут глупости про опенсурс говоришь?

если ты тупой то что с тобой делать, ничего не понял и вопишь.

>Короче с тобой все ясно....ты как все -буржуй. Чужие должны писать бесплатно то, на чем ты делаешь деньги...

А ты думал что open-source это значит бесплатно? кто тебе такое сказал? Иди учись лучше.

>А ты работаешь за сколько? Мне просто интересно сколько получают распространители открытого кода...;)

В разы больше чем ты зарабатываю.

alphex_kaanoken ★★★
()
Ответ на: комментарий от McMCC

Не ссы, они там все могут. И программеры у них не хуже чем у Ляпиха. Просто не актуально это все. Ну нет сейчас персоналок 64битных. Зачем выпускать то чего нет?

anonymous
()
Ответ на: комментарий от alphex_kaanoken

> лет 8-10 надо да - никто и не спорит, может и меньше - все от обстоятельств- вон свой дилнныйрог откложили до 2006 года и ничего нового у них только пИар - а кому нужен чисто пИар - или они как рекламное агенство работают по принципу - "с хорошей рекламой товар не нужен" ? Если так то кому нужна это m$? а когда поймут что не нужна акции падать начнут и все ...

по крайней мере у них есть что пиарить енд юзерам в отличие от..

anonymous
()
Ответ на: комментарий от anonymous

>Ну нет сейчас персоналок 64битных. Зачем выпускать то чего нет?

Хочешь сказать, что я сейчас сижу за несуществующей персоналкой?

McMCC ★★★
()
Ответ на: комментарий от alphex_kaanoken

если ты тупой то что с тобой делать, ничего не понял и вопишь

Да это ты муйню несешь.

А ты думал что open-source это значит бесплатно? кто тебе такое сказал? Иди учись лучше.

А что мне учится, я вкурсе что Линукс стал уже далеко не бесплатным. Но если станут платные те продукты, из которых состоит он, то он будет еще дороже.

В разы больше чем ты зарабатываю.

Ооо, это круто, да? ;) Так сколько ты зарабатываешь? Какая сеть, сколько компов в ней. :) Структуру сети опиши как ты без винды работаешь. Да и вообще я понял ты кодер, сидишь за одним компом-тебе пофигу сколько в сети машин 2 или 10. ;))

anonymous
()
Ответ на: комментарий от anonymous

>по крайней мере у них есть что пиарить енд юзерам в отличие от..

а что пиарить? недоделку виндовс? которую преподносят как идеал для end-user? кто сказал что виндовс мега почетно для end-user? это ж навязала та же пиар кампания от m$ - так что помолчал бы лучше.

Да и что впихивать? продукты трех летней давности? а в 2006 году они что снова будут поделку свою откоадывать и пиарить 6-и летнюю поделку?

alphex_kaanoken ★★★
()
Ответ на: комментарий от anonymous

>по крайней мере у них есть что пиарить енд юзерам в отличие от..

Вспоминаются 90-е, эпоха лохотронов, как они процветали, пока....

McMCC ★★★
()
Ответ на: комментарий от anonymous

Чувак, ты по-моему вообще ни во что не втыкаешь. Не вдавайся в крайности, никто за бесплатно не работает. А дальше есть но: Кто то бухает по черному, кто-то с телками бегает, кто-то на постеры дрочит, а кто-то увлечен идеей и приносит пользу, и себе и другим. Так вот в этом но alphex_kaanoken пользу приносит, а ты являешься ярко выраженным паразитирующим чучелом, которое, во-первых пользы не приносит, во-вторых других отвлекает. Ни в одном проекте, если он не работает более менее, исходники не выкладывают, они просто не нужны никому. И решать программеру, когда его продукт готов (alpha, beta, etc) и можно выложить исходники. К тому же он еще может выбрать себе лицензию, которая ЕГО устраивает. А распространитель исходного кода получает нормальные деньги, чтобы не ныть и без моральных угрызений совести работать над open-source продуктом. А если тебе за хату платить не чем, то займись своим самообразованием лучше, чтобы быть конкурентноспособным на рынке труда, получать достойные деньги и заниматься любимым и интересным проектом.

Lblsa
()
Ответ на: комментарий от anonymous

>Да это ты муйню несешь

ошибаешся

>Ооо, это круто, да? ;) Так сколько ты зарабатываешь? Какая сеть, сколько компов в ней. :) Структуру сети опиши как ты без винды работаешь. Да и вообще я понял ты кодер, сидишь за одним компом-тебе пофигу сколько в сети машин 2 или 10. ;))

Мне до того сколько в сети компов по фигу - понимаешь Я не эникейщик который по ним бегает и кнопочки жмакает. Без винды легко и просто работаю всю жизнь, что есть в винде чего нет в линуксе? ничего такого нет, у меня есть и gcc - autotools - emacs - gdb - firefox - pine - .... мне хватает, мне не надо играться по сети в игрулечки Я работаю а не дурью маюсь. И не кодер а разработчик - не путай пожалуйста.

alphex_kaanoken ★★★
()
Ответ на: комментарий от alphex_kaanoken

Не тупи. То что было у них 6 лет назад ты до сих пор сравниваешь со своими современными системами и чуть ли не на равне получается...чуть чуть винда впереди. ;))

anonymous
()
Ответ на: комментарий от anonymous

>Не тупи. То что было у них 6 лет назад ты до сих пор сравниваешь со своими современными системами и чуть ли не на равне получается...чуть чуть винда впереди. ;))

Уважаемый, m$ отстала и очень сильно не смотря на то что имеет более длинную историю нежели линукс...

alphex_kaanoken ★★★
()
Ответ на: комментарий от Lblsa

ак вот в этом но alphex_kaanoken пользу приносит, а ты являешься ярко выраженным паразитирующим чучелом, которое, во-первых пользы не приносит, во-вторых других отвлекает.

Так вот я и спрашиваю какую пользу он приносит? Я сижу здесь сейчас. Флеймлю об одном и том же, но я жду завтра что бы работать, а он чем занимается я так и не понял. Во всяком случае он сейчас точно не кодит. ;))))

anonymous
()
Ответ на: комментарий от anonymous

>Я не спорю, что Линукс занимает 3 процента десктопов, видимо ты тот >случай. ;)

Меня просто вынудили, потому-что я не могу свои любимые Windows XP
использовать в соответствии с архитектурой моей новой персоналки,
накой хрен мне на 64 разрядной персоналке 32-х разрядная система?
Я хочу 64 разрядную систему....

McMCC ★★★
()
Ответ на: комментарий от alphex_kaanoken

Мне до того сколько в сети компов по фигу - понимаешь

А что ж тогда мне тут втираешь сколько у меня компов в сети? ;))))

Я не эникейщик который по ним бегает и кнопочки жмакает.

Так кто ты? ;))) Я вообще компы не вижу может быть как и сервера. ;)))

ничего такого нет, у меня есть и gcc - autotools - emacs - gdb - firefox - pine

Аааа, ты тот самый программер? :)) Еще бы кодеров к компам подпускать. ;) Пусть в своем мирке живут. ;))

Я работаю а не дурью маюсь.

На ЛОРе твоя работа? :)))))

И не кодер а разработчик - не путай пожалуйста.

Какая разница? :((( Обыделса. Кто ты? Пупкин, ответь мне...

anonymous
()
Ответ на: комментарий от McMCC

Ну и много у тебя 64битного софта?

anonymous
()
Ответ на: комментарий от WerNA

Да нет, Балмер не псих и уж тем более не дебил! Его задача завести/разогреть аудиторию!!! И он это делает мастерски!!! Похоже что американцы от такого очень сильно возюуждаются... ;-)

curious
()
Ответ на: комментарий от anonymous

> И не кодер а разработчик - не путай пожалуйста.

> Какая разница? :((( Обыделса. Кто ты? Пупкин, ответь мне...

Между кодером и разработчиком огромная разница.

Кодером может себя считать любой, кто из книжки списал пример программы Hello world, а разработчик, это прежде всего человек, который обязан продумать архитектуру будущего программного обеспечения, разбить на логические модули, составить диаграммы взаимодействие этих модулей. Оценить объем работ, расписать план работ (хотя бы приблизительный). А потом уже приступать к написанию кода и unit-тестов. А так же озаботиться

документированием проекта и тестированием.

Если ты этого не понимаешь, то мне тебя жаль. Чем раньше возьмешься за самообразование, тем будет лучше для тебя. Тогда ты может и поймешь идею "Just for fun", и то, как люди к ней приходят.

Lblsa
()
Ответ на: комментарий от anonymous

>Я сижу здесь сейчас. Флеймлю об одном и том же, но я жду завтра что бы работать

Попробуй сегодня начать работать. Не жди завтра.

>а он чем занимается я так и не понял.

Не дано, должно быть, тебе понять. Скажем "образования не хватает"

kraw ★★★★
()
Ответ на: комментарий от anonymous

>А что ж тогда мне тут втираешь сколько у меня компов в сети? ;))))

Я тебе как пример привел.

>Аааа, ты тот самый программер? :)) Еще бы кодеров к компам подпускать. ;) Пусть в своем мирке живут. ;))

разработчик говорил уже.

>Какая разница? :((( Обыделса. Кто ты? Пупкин, ответь мне...

Я не обиделся, разница большая - кодеру дают алгоритм и он строго по нему пишет код, разработчик разрабатывает алгоритмы - улучшает и прочее плюс реализует их те пишет если есть кодер то кодер помогает в реализации.

>На ЛОРе твоя работа? :)))))

Сейчас у меня перерыв поэтому Я тебе и отвечаю, работа тяжелая и постоянно сидеть и думать очень тяжело - это ты работаешь ничего не делаешь.

alphex_kaanoken ★★★
()

"В ходе технического прогресса сложность процесса
копирования во всех отраслях постоянно снижалась, процесс
копирования требовал все меньше и меньше человеческого труда, а
оборудование для копирования становилось все более миниатюрным
и дешевым. К концу двадцатого века в некоторых отраслях уже
сложилась такая ситуация, когда любой человек, сидя у себя
дома, в одиночку может довольно быстро скопировать любое
изделие создаваемое в этой отрасли. В силу этого, конец
двадцатого века стал эпохой массового пиратства, остановить
которое в принципе не возможно. Я не имею в виду заводы
где-нибудь в Китае, которые гонят нелицензионную продукцию -
их-то как раз легко обнаружить и закрыть, была бы на то
политическая воля. Нет, я имею в виду индивидуальное пиратство
у себя дома, когда мы записываем с телевизора на
видеомагнитофон какой-нибудь художественный фильм, переписываем
у приятеля на свою дискету какую-нибудь компьютерную игру, или
распечатываем у себя дома на принтере чужую книгу. И домашний
принтер - это только начало. Если мысленно продолжить эту
тенденцию технического развития, то через несколько десятилетий
появится универсальный домашний робот, способный изготовить
любое изделие, а не только книгу. И тогда индивидуальное
пиратство распространится на все отрасли промышленности, а не
только на видео и аудио индустрию, программное обеспечение и
издательское дело, как сегодня.
Причем доступность информации тоже будет расти. Наверное
все Вы слышали про сеть "Интернет", а многие, наверное, даже
пользовались ею. На сегодня домашний принтер - это, пожалуй,
единственный "станок", который можно подключить к Интернету. Но
как только появится универсальный домашний робот, на Интернете
тут же будут опубликованы программы изготовления самых
различных вещей с помощью этого робота. Достаточно будет одного
хакера на весь мир, чтобы сделать любое лицензионное изделие
практически бесплатно доступным для всего человечества.
Конечно, создатели информации будут пытаться защитить свои
авторские права и патенты. Будут приниматься все более жесткие
законы об их охране. Но единственный способ провести такие
законы в жизнь - это создать полицейское тоталитарное
государство, контролирующее каждый шаг своих граждан, каждый их
звонок по телефону, и устраивающее регулярные обыски в каждой
квартире на предмет наличия в этой квартире нелицензионных
вещей. Как результат развития информационных технологий, из
общества экономической свободы капитализм превратится в
общество внеэкономического принуждения. Интернет,
разрекламированный как триумф капитализма, на самом деле
является его могильщиком."

Александр Лазаревич. Сеть "Нанотех"


И это правильно !!!

anonymous
()
Ответ на: комментарий от Lblsa

Кодером может себя считать любой, кто из книжки списал пример программы Hello world, а разработчик, это прежде всего человек, который обязан продумать архитектуру будущего программного обеспечения, разбить на логические модули,

Ооо, точно, лет 10 назад я точно разработчиком был. Программу писал. :))) А кодер не думает над тем что у него в программе? функции, процедуры? Или все с книжки списывает? ;))) Разработчики. :))))

Если ты этого не понимаешь, то мне тебя жаль

Какая молодежь пошла нынча. Так и любит себя как нибудь назвать покруче. :) Раньше было просто компьютерщик в трудовой писали, потом инженер программист, не важно что он вообще программы не писал, а сейчас РАЗРАБОТЧИК!!! :))

anonymous
()
Ответ на: комментарий от alphex_kaanoken

Я тебе как пример привел.

Так твой пример неудачный получился. ;))) Я в сети больше компов видел чем ты. :)))

разработчик говорил уже.

Что у тебя в трудовой написано?

Я не обиделся, разница большая - кодеру дают алгоритм и он строго по нему пишет код, разработчик разрабатывает алгоритмы - улучшает и прочее плюс реализует их те пишет если есть кодер то кодер помогает в реализации.

ссылку плиз дай мне, а неотсебячену неси.

Сейчас у меня перерыв поэтому Я тебе и отвечаю, работа тяжелая и постоянно сидеть и думать очень тяжело - это ты работаешь ничего не делаешь.

Ага. :)) Я понял уже что это перерыв. Соизволь ссылку дать на различие между программистом и разработчиком дать. :) Разработчик программного обеспечения в бухгалтерии может сидеть. Он говорит что и как делать надо. ;))) Ты он?

anonymous
()
Ответ на: комментарий от abdulla

> Есть такой чудный фильмец (практически документальный) "Pirates of Silicon Valley".

торрент есть? или фтп

anonymous
()
Ответ на: комментарий от alphex_kaanoken

Альфекс, ты сам уже достал. Твой код мы видели. За такую работу я бы на месте твоих работодателей не только денег не платил, но еще и в суд подал бы.

brainf_cker
()
Ответ на: комментарий от alphex_kaanoken

А раз я видел в сети больше компов чем ты, то как ты думаешь, кто лучше осведомлен что легче в управление в масштабе преприятия? Линуксы...или винда? ;)

anonymous
()
Ответ на: комментарий от brainf_cker

>Альфекс, ты сам уже достал. Твой код мы видели. За такую работу я бы на месте твоих работодателей не только денег не платил, но еще и в суд подал бы.

где ? нормальный у меня код можешь скачаать и посмотреть - так что сам достал уже.

alphex_kaanoken ★★★
()
Ответ на: комментарий от anonymous

>Разработчик программного обеспечения в бухгалтерии может сидеть. Он говорит что и как делать надо. ;))) Ты он?

парень иди лучше с девкой пиво пить - ты тупой и не понять тебе и при чем тут бухгалтерия вообще?

alphex_kaanoken ★★★
()
Ответ на: комментарий от anonymous

>А раз я видел в сети больше компов чем ты, то как ты думаешь, кто лучше осведомлен что легче в управление в масштабе преприятия? Линуксы...или винда? ;)

что ты видел? где ты видел? иди гуляй красноглазик.

alphex_kaanoken ★★★
()
Ответ на: комментарий от alphex_kaanoken

Глядя на твою фотку, ты как раз больше на красноглазика похож. Да и шапочка такая прикольная. Может ты клоуном работаеш?

CVlad
()
Ответ на: комментарий от anonymous

>Ооо, точно, лет 10 назад я точно разработчиком был. Программу писал. :))) А кодер не думает над тем что у него в программе? функции, процедуры? Или все с книжки списывает? ;))) Разработчики. :))))

Не был ты никогда разработчиком и не будешь... Теперь уже ясно. Ты даже не знаешь разницы между программой и программным продуктом. Очень тебя жаль. Вот из за таких как ты, учащихся по книжкам "C++ за 24 часа", а потом мнящих себя крутыми "кодерами", приходится много мучиться. Сколько таких долбо..в приходит на собеседование, брыщет слюнами, а сделать нихрена не может.

>Какая молодежь пошла нынча. Так и любит себя как нибудь назвать покруче. >:) Раньше было просто компьютерщик в трудовой писали, потом инженер >программист, не важно что он вообще программы не писал, а сейчас >РАЗРАБОТЧИК!!! :))

Похоже ты горд этим, хоте тебе явно больше чем техник писать в трудовой не стоит. А насчет "молодеж", ты тоже не прав. Во первых я уже давно дипломированный специалист с приличным опытом работы и разработки, в во-вторых некоторая "молодеж", которая не ленится, а интересуется хоть чем то, сидит вечерами и ботает книги, руководства и маны, по знаниям, тебя "старичка" просто засунет тебя за пояс по знаниям. Ты в жизни то хоть чего нибудь добился? кроме как доступа к компьютеру и возможности безаргументированного пи$..жа? Что то я сомневаюсь.

Lblsa
()
Ответ на: комментарий от alphex_kaanoken

:))) Обыделся все же. С бухгалтером сравнил. :))) К чему бухгалтерия? Да откуда простому программеру знать ежедневно меняющиеся правила ведения бухгалтерии какой либо. :)) Ему бухгалтер помогает. Судя по тому что этим ты занимаешься...;))) Прости, ушел кино смотреть, там детектив показывают и любовь обманную. :))))

anonymous
()
Ответ на: комментарий от alphex_kaanoken

>парень иди лучше с девкой пиво пить - ты тупой и не понять тебе и при чем тут бухгалтерия вообще?

пять баллов :)) он поди и институтов не кончал, а в пту каком-нибудь на "разработчика программного обеспечения" учился..Авторитет.. :)

Lblsa
()
Ответ на: комментарий от CVlad

Слушай, дай линк на этого разработчика, хоть посмотрю. Обещаю здесь не иронизировать по его поводу. :))

anonymous
()
Ответ на: комментарий от alphex_kaanoken

Так в том то и дело, что скачивали и смотрели. Такое ощущение, что образование у тебя не профильное, или ты в лучшем случае закончил ПТУ по специальности "Пользователь ПК". Мордой в конкретные места ткнуть? Пжалста:

// function that determine is a flag or "word"
int TagIs(int symbol)
{
int out=0;
char *one=calloc(1,1);
sprintf(one,"%c",symbol);
if(strcmp(one,"<")==0)
out=1;
if(strcmp(one,">")==0)
out=2;
free(one);
return out;
}

...

/*
* for information
* 32 is a " "
* 10 is a "\n"
* use it ;-)
* so and max charasters in "word" is 512 ;-)
*/
if(TagIs(un_sym)==0 && TagB!=1)
TagB=0;
if(TagIs(un_sym)==1)
TagB=1;
if(un_sym==10)
LineC++;
if((un_sym!=32) & (un_sym!=10) & (TagB!=1) & (un_sym!=0)) // test if it not spacing
WordB=1;

brainf_cker
()
Ответ на: комментарий от brainf_cker

Он же сказал что он не программист, он разработчик. Он говорит алгоритм, а другие пишут.

anonymous
()
Ответ на: комментарий от anonymous

> один серьезный проект где люди работают за идею назови!

ardour

anonymous
()
Ответ на: комментарий от alphex_kaanoken

debian, freedesktop недавно, кто-то еще...
думаешь это пианэры развлекаются?
даже если и так, кто надо давно за этими пианэрами присматривает

anonymous
()
Ответ на: комментарий от alphex_kaanoken

> угу и где это и что это?

что, скажешь не твое?

anonymous
()
Ответ на: комментарий от brainf_cker

на вот тебе если ты хотел уличить меня в неумении писать парсеры 
хотя сам ничего писать не умеешь.

/*
 * Originally written by Alphex Kaanoken <kaanoken@crew.org.ru>
 *
 * init and loading config file, part of X Neural Switcher
 * 
 * (c) Crew IT Research Labs
 *
 * under CIPL 
 */

#include "xconfig.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <stdarg.h>
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>

/*linked list operations*/
app_list * AddItem(app_list *ptr,char *name)
{
  app_list *lp=ptr;
  int id=0;
  if(ptr!=NULL){
    ++id;
    while(ptr->next!=NULL)
      {
	ptr=ptr->next;
	++id;
      }
    ptr->next=(app_list*) malloc(sizeof(app_list)+strlen((const char*)name)+2);
    ptr=ptr->next;
    ptr->next=NULL;
    ptr->id=id;
    ptr->name=malloc(strlen((const char*)name)+1);
    ptr->name=strdup((const char*)name);
    return lp;
  }
  else{
    ptr=(app_list*) malloc(sizeof(app_list)+strlen((const char*)name)+2);
    ptr->next=NULL;
    ptr->id=id;
    ptr->name=malloc(strlen((const char*)name)+1);
    ptr->name=strdup((const char*)name);
    return ptr;
  }
}

app_list * DelItem(app_list *ptr,int id)
{
  app_list *prev=NULL;
  app_list *curr;
  curr=ptr;

  while(curr!=NULL && curr->id!=id){
    prev=curr;
    curr=curr->next;
  }
  if(curr==NULL)
    return ptr;
  if(curr==ptr)
    ptr=curr->next;
  else
    prev->next=curr->next;
  free(curr->name);
  free(curr);
  return ptr;
}

app_list * FreeItems(app_list *ptr)
{
  if(ptr!=NULL){
    while(ptr!=NULL)
      ptr=DelItem(ptr,ptr->id);
  }
  return ptr;
}

/*copy file,read file and parse it functions*/
int XConfigCopyFile(const char *src_path,const char *dst_path,int *new_dst)
{
  char *buf;
  int buf_size;
  int dest_desc;
  int source_desc;
  struct stat sb;
  struct stat src_open_sb;
  char *cp;
  int *ip;
  int return_val=0;
  off_t n_read_total=0;
  int last_write_made_hole=0;
  int make_holes=0;

  source_desc=open(src_path,O_RDONLY);/*open file*/
  if (source_desc<0){
    fprintf(stderr,"ERR: Can't open source file: %s\n",src_path);
    return -1;
  }
  /* We cool hackers - let's test for copy or moving
     our file and open it.  */
  if(!new_dst){
    printf("ERR:\n");
    dest_desc=open(dst_path,O_WRONLY | O_CREAT,S_IRWXU | S_IRGRP | S_IROTH);
  }
  else{
    dest_desc=open(dst_path,O_WRONLY | O_TRUNC,S_IRWXU | S_IRGRP | S_IROTH );
    /*TODO: unlink(remove) file if it's exists*/
  }

  if(dest_desc<0){
    fprintf(stderr,"Can't create new file: %s\n",dst_path);
    return_val=-1;
    goto close_src_desc;/*goto rulezz! =)*/
  }

  /*Determine the optimal buffer size*/
  if (fstat (dest_desc, &sb)){
    fprintf(stderr,"Can't read status of: %s\n",dst_path);
    return_val = -1;
    goto close_src_and_dst_desc;
  }
  buf_size=2048;/*so, for compatibility with win32 I think better is 2048*/

  /*Make buffer with space at end*/
  buf=malloc(buf_size+sizeof(int));
  /*so and try to copy*/
  for (;;)
    {
      ssize_t n_read = read (source_desc, buf, buf_size);
      if (n_read < 0){
	fprintf(stderr,"Error while reading source: %s",src_path);
	return_val=-1;
	goto close_src_and_dst_desc;
      }
      if (n_read == 0)
	break;/*the end (EOF)*/
      n_read_total += n_read;/*inc counter*/
      ip=0;/*reset*/
      if (make_holes)/*TODO: make holes and zeros determine!*/
	{
	  buf[n_read]=1;/*stop loop|not*/
	  /*Find first specific;-) symbol*/
	  ip=(int *)buf;
	  while(*ip++ ==0)/*reduce*/
	    ;
	  /*Find first non-zero symbol*/
	  cp=(char *) (ip - 1);
	  while(*cp++ ==0)/*reduce*/
	    ;
	  /* if we found its it rules,we can make a hole*/
	  if(cp>buf + n_read)
	    {
	      /*make hole-sucks with lseek*/
	      if(lseek(dest_desc,(off_t)n_read,SEEK_CUR)<0L)
		{
		  fprintf(stderr,"Can't seek in \n");
		  return_val=-1;
		  goto close_src_and_dst_desc;
		}
	      last_write_made_hole=1;
	    }
	  else
	    /*reset we don't need ih hole*/
	    ip=0;
	}
      if(ip==0)
	{
	  size_t n = n_read;
	  if(write(dest_desc,buf,n)!=n){
	    fprintf(stderr,"Can't write to file: %s\n",dst_path);
	    return_val=-1;
	    goto close_src_and_dst_desc;
	  }
	  last_write_made_hole = 0;
	}
    }
  /*TODO: if we make a hole in last write, we need put to file
   * something at end*/
close_src_and_dst_desc:
  if (close(dest_desc)<0)
    {
      fprintf(stderr,"Can't close destination!\n");
      return_val=-1;
    }
close_src_desc:
  if (close (source_desc) < 0)
    {
      fprintf(stderr,"Can't close the source!\n");
      return_val = -1;
    }
  free(buf);
  /*just end - return the value*/
  return return_val;
}

xconf * ParseLine(xconf *ptr,const char *line)
{
  char *f_word=malloc(strlen(line)+1);
  int cp=0;
  int j=-1;
  int i=0;
  while(line[i]!=' '){
    f_word[i]=line[i];
    ++i;
  }

  f_word[++i]='\0';

  if(!strcmp(f_word,"DefaultMode"))
    cp=1;
  if(!strcmp(f_word,"ConvPoint"))
    cp=2;
  if(!strcmp(f_word,"AddApp"))
    cp=3;
  if(!cp)
    fprintf(stderr,"[WRN]: Unrecognized option '%s' in config file!\n",f_word);

  --i;
  f_word=memset(f_word,'\0',strlen(line)+1);

  while(line[++i]!='\0')
    f_word[++j]=line[i];

  switch(cp){
  case 1:
    if((ptr->DefaultMode=atoi(f_word))>1 || (ptr->DefaultMode=atoi(f_word))<0){
      fprintf(stderr,"[WRN]: Bad value '%d' (use 0 or 1 for default mode), using default.\n",atoi(f_word));
      ptr->DefaultMode=0;
    }
    break;
  case 2:
    if((ptr->ConvPoint=atoi(f_word))<30 || (ptr->ConvPoint=atoi(f_word))>300){
      fprintf(stderr,"[WRN]: Bad value '%d' (values must be in 30-300), using default.\n",atoi(f_word));
      ptr->ConvPoint=55;
    }
    break;
  case 3:
    ptr->alist=AddItem(ptr->alist,f_word);
    break;
  default:
    fprintf(stderr,"[WRN]: Ignored value '%s'.\n",f_word);
    break;
  }

  free(f_word);
  return ptr;
}

xconf * XConfigInit(xconf *ptr)
{
  ptr=(struct _xconf *) malloc(sizeof(xconf));
  ptr->DefaultMode=0;
  ptr->PrimaryMode = AUTO;
  ptr->SecondaryMode = MANUAL;
  ptr->ConvPoint=55;/*default values*/
  ptr->ScaningDelay = 2000000;
  ptr->alist=NULL;
  return ptr;
}

xconf * XConfigLoad(xconf *ptr,const char *fl_name)
{
  FILE *stream=NULL;
  int sym=0;
  int i=-1;
  /*States of Parser*/
  int isRead=1;
  int t=0;
  char *t_word=malloc(258);

  if((stream=fopen(fl_name,"r"))!=NULL)
    {
      while((sym=fgetc(stream))!=EOF){
	  switch(sym){
	  case '#':
	    isRead=0;
	    break;
	  case '\n':
	    if((t=strlen((const char*)t_word))!=0)
	      isRead=10;
	    else
	      isRead=0;
	    if(isRead){
	      t_word[++i]='\0';
	      ptr=ParseLine(ptr,(const char*)t_word);
	      t_word=memset(t_word,'\0',258);
	      i=-1;
	    }
	    isRead=1;
	    break;
	  default:
	    if(isRead)
	      t_word[++i]=(unsigned char)sym;
	    break;
	  }
	  if(i>255){
	    fprintf(stderr,"[ERR]: Configuration file '%s' is bad!\nExit(1)\n");
	    free(t_word);
	    fclose(stream);
	    exit(1);
	  }
	}
      fclose(stream);
      free(t_word);
      return ptr;
    }
  else
    {
      fprintf(stderr,"[WRN]: Cannot read config file: %s, using default settings!\n",
	      fl_name);
      free(t_word);
      return ptr;
    }
}

xconf * XConfigFree(xconf *ptr)
{
  ptr->alist=FreeItems(ptr->alist);
  free(ptr);
  return ptr; /*just free*/
}

ищи что тут такого страшного? Иди гуляй со своими наездами.

alphex_kaanoken ★★★
()
Ответ на: комментарий от alphex_kaanoken

>http://cidnet.crew.org.ru/projects/xneur/ скачай и посмотри вот это а потом уже пиши тут =))

Ты хош показаться еще смешнее? Кто тебя учил так писать? Что это за бред в char *ConvToRussian(const char *word)? Я просто прозрел с нее... Использование case тож на примитивном уровне. Судя по коду, складывается впечатление, что ты обладаешь лишь школьными знаниями по программированию... Язык как таковой ты не знаешь. И ты после этого себя називаешь разработчиком? Скорее эникейщик...

CVlad
()
Ответ на: комментарий от McMCC

> Хочешь сказать, что я сейчас сижу за несуществующей персоналкой?

Ты просто маргинал и винду не купишь. Такой мизерный рынок Microsoft не интересует. Они Итаник больше не хотят поддерживать, несмотря на дружбу с Интел, потому что рынок мизерный и им это не надо. То, что продукция Microsoft отлично портируема - уже давно доказано и не видят этого только не желающие видеть. Cм. на скольки платформах работает Windows CE. См. офис для Mac. До такой портируемости пингивнам как до Луны раком.

Далее. Насчёт невозможности использовать "голую винды" - гон. Практика показывает, что народу более того, что есть в винде + офис, не надо. Плюс гамло. Больше надо, опять же, маргиналам, у которых чешется. МС этот рынок не интерсует.

Другое дело, что эти самые маргиналы громче всех орут. И этому надо как-то противостоять. Для этого и есть клоуны и клоунады. Смокойнее. МС всех пингвинов переживёт десять раз.

lenin
()
Ответ на: комментарий от anonymous

>У тебя такой проект оказывается серьезный. Форум аж кишит обсуждением. ;)

а оно надо? много кто о нем знает? выпушен стабильный релиз ? нет вот и нет обсуждений пока что.

alphex_kaanoken ★★★
()
Ответ на: комментарий от alphex_kaanoken

Ну, посмотрел. Ужасы начались с первого же по алфавиту исходника (conv.c). Уже по тексту ф-ции ConvToRussian видно, что автор с указателями не знаком, раз использует настолько маразматичные способы итерации по строке, что является очевидным признаком отсутствия специального образования. Далее. В AllToLower в возвращаемую строку не добавляется '\0', хотя в main'е результат вызова этой функции передается в isCyrWord, который подразумевает наличие завершающего нуля. Продолжать дальше? Это я только один исходник посмотрел и еще в 2 заглянул просто.

brainf_cker
()
Ответ на: комментарий от alphex_kaanoken

Я понимаю, программа...гм, большая...я правда побольше проги писал еще в далеком 1990ом, но это...зачем флудить то?

anonymous
()
Ответ на: комментарий от CVlad

>Ты хош показаться еще смешнее? Кто тебя учил так писать? Что это за бред в char *ConvToRussian(const char *word)? Я просто прозрел с нее... Использование case тож на примитивном уровне. Судя по коду, складывается впечатление, что ты обладаешь лишь школьными знаниями по программированию... Язык как таковой ты не знаешь. И ты после этого себя називаешь разработчиком? Скорее эникейщик...

ф-ция созданая автоматически - цель - чтобы быстро работало и номрально работало - цель достигнута - все.

Ты сам клоун.

alphex_kaanoken ★★★
()
Ответ на: комментарий от brainf_cker

с указателями знаком что дальше?

>В AllToLower в возвращаемую строку не добавляется '\0', хотя в main'е результат вызова этой функции передается в isCyrWord, который подразумевает наличие завершающего нуля.

см внимательней

>Продолжать дальше? Это я только один исходник посмотрел и еще в 2 заглянул просто.

давай свои исходники тоже буду над ошибками смеяться или ты без ошибок пишешь - такой умный что вообще- или ты так только языком молоть ?

alphex_kaanoken ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.