LINUX.ORG.RU

Сообщения octy

 

HTML: TEXTAREA: отображение в браузерах

Добрый день,

Использую в своей страничке элемент TEXTAREА вот таким образом:

<TEXTAREA name="title" cols="50" rows="3"></TEXTAREA>

На проведенной картинке 
(png, 60кб) http://www.ineos.ac.ru/~xray/staff/fedyanin/temp/forms.png,
можно видеть, что в трех браузерах форма отображается по разному. Ладно
еще полоса прокрутки, но почему в firefox вместо трех строчек
отображаются четыре? Это несоответствие стандарту или все-же
что-то еще можно указать, чтобы отображалось именно 3 строчки?
octy
()

Модераторы? Несколько раз новость это чтобы доходило лучше?!

octy
()

getchar() после перевода терминала в raw режим

Добрый день,
необходимо получать один символ с клавитуры, в течении, допустим, 5
секунд, если не получен - ждать следующие 5 секунд и так далее.

Один раз всё прекрасно работает:

static struct termios tosave;

is_char()
...
struct termios towork;
tcgetattr(0,&tosave);
memcpy(&towork,&tosave,sizeof(struct termios));

towork.c_cc[VTIME]=50;
towork.c_cc[VMIN]=0;
towork.c_lflag &= ~( ICANON | ECHO );

tcsetattr(0,TCSANOW,&towork);
result=getchar();
tcsetattr(0,TCSANOW,&tosave);
return result;
}


Однако в цикле, например,

for (i=0;i<20;i++){
printf ("%d ",i);
ch=is_char();
if (is_char != -1){
printf("Interupted\n");
return 1;
}
}

нормально ждет первые 5 секунд (и выходит при нажатии), а потом
сразу печатает 1...19.
Как я понял, с буфером stdin это никак не связано, подозреваю,
что дело в таймере; но ведь после считывания символа структура
termios полностью восттанавливается! Поиски подходящего примера в
google ничего не дали :(

octy
()

grep и комбинация шаблонов

При выполнении

ps aux | grep "emake"

выдает

<...>  0:00 /bin/bash /usr/lib/portage/bin/emake
<...>  0:00 grep emake

1. Как сделать, чтобы grep не вывдавал совпадение с самим собой в данном 
конкретном случае? (ps aux | grep emake | grep -v grep не предлагать :))

2. Можно ли вообще задать в одном регекспе два паттерна ("ABC" и "DEF")
так, чтобы находились строки, в которых ABC присутствует, а DEF - нет?

octy
()

С:sscanf: считывание int или char* из строки произвольного формата

Добрый всем день, есть задачка: существует файл со строками, в котором
в произвольном порядке расставлены значения int или char*, которые 
необходимо из нее получить, например:

a  1  4  6  5
3 bc 5 7 11
...
6  8  7  0  xy

причем формат каждой из строк _заранее известен_.

Нельзя ли как-нибудь передать sscanf подядок значений в строке для
всех 5 случаев?

{ char cv[4]; int iv[4];
  sscanf (bfr, format_str, ??????)
}
где format_str это "%3s%3d%3d%3d%3d" и так далее,
а не писать 5 в данном случае (как сейчас сделано) sscanf() 
в зависимости от format_str?

Парсить всю строку посимвольно не хочется, а значений может быть больше, чем 5...

Заранее спасибо.
octy
()

mv, cp: memory exhausted

После нескольких дней работы с машиной начинает твориться что-то непонятное: часть комманд работает, часть (вроде cp и mv) перестает с ошибкой "memory exhausted".

На машине крутится squid, по которому ошибка и обнаруживается (вылетает он). При попытке повторного запуска squid выдает ошибку:

"Bungled Default Configuration line 10: cache_mem 8 MB"

Подскажите, в чем может заключаться проблема?

Система: Linux 2.6.8-gentoo x86_64 GNU/Linux;

squid: Version 2.5.STABLE7

octy
()

3ware Raid controller и Linux - насколько стабильно работает?

Доброго времени суток!

Подумываем купить контроллер для организации, поскольку, как я понимаю, это единственный ATA RAID контроллер, поддерживаеющий hardware RAID в ядре. Если кто использует, скажаите, как впечатление? Нет никаких траблов?

Конкретно интересует серия 7006-2 или 75xx.

Заранее спасибо.

octy
()

С: Освобождение памяти и закрытие файлов

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

Как Вы считаете, как в данном случае корректнее всего освобождать пямять и закрывать файлы? Проверять все инициализованные переменные типа type* и ранее открытые файлы в каждом случае проверки ошибок? Полагаться на саму программу, что она корректно освободит пямять при завершении? Использовать глобальные переменные и в слечае ошибки вызывать некую функцию finalize(), которая закрывает все файлы, освобождает пяиять и завершает работу с exit(1)? Или даже использовать goto?

Заранее спасибо.

octy
()

Вопрос про выделение памяти в С функции.

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

main.c:
...
int main ()
{
Tchem * array=NULL;
...
result=get_data(handle, array, &count);
...
}

util.c:
int get_data(FILE *hnd, Tchem *arr, int *count)
{
...
/* подсчёт элементов в count */
...
arr=(Tchem *)malloc(count*sizeof(Tchem));
...
}

естественно не получается.
Можно ли как-нибудь это сделать, не используя глобальную переменную?
octy
()

Вопрос по форматированию вывода printf()

Всем добрый день!
Не подскажете, можно ли сформатировать вывод числа типа double в виде
0.123145D+01,
где важно что на первой позиции стоит 0 (а не первое значащие число),
а вместо E или e для показателя экспоненты используется D??
Можно ли сделать это в чистом C и если не printf то какой функцией?
Заранее спасибо.
octy
()

Portable Batch System для Debian

Всем здраствуйте.

Не встечал ли кто сабж в сборке для Debian? Срочно надо, а найти никак не могу (может, руки кривые).

Заранее спасибо.

octy
()

VIM под Windows: проблема со шрифтами.

Приходится на работе использовать offtopic, ввиду наличия множества специальных научных программ, не работающих и под wine. Желая использовать любимый и удобный редактор, скачал с vim.org и поставил. Очень рад, всё просто замечательно, но есть одна проблема: тексты в cp1251 отображаются неправильно, в DOS-кодировке. Понятно, что это проблема консольных приложений, непонятно, как её решать. iconv не помогает - на команду:

:e ++enc=866

пишет: NO converted (что понятно), а

:e ++enc=ср1251

просто молчаливо съедает. Если кто знает решение, помогите, plz. Заранее благодарен.

octy
()

С: ввод данных в структуру из неворматированного текста.

Задача такая: есть текстовый файл, в который в произвольном порядке идет
вывод программы. Среди этого текста (известно в каком месте) идут строки
типа:

A1 B1 C1 D1
A2 B2 C2 D2
...........
An Bn Cn Dn

Причем n _заранее неизвестно_.
Требуется: _за один проход_ считать эти строки в структуру типа

struct {
	type A, B, C, D;
}

Так вот: самое главное - за один проход чтения. Как это сделать?
Я программист неопытный, но думаю что проще всего с помощью динамически
образуемого связного списка...
Заранее всем спасибо.
octy
()

Необходимо собрать маленький кластер. Что где почитать?

Необходимо создать маленький кластер для распределенных вычислений под Linux. Что посоветуете почитать (желательно online)?

Порядка 8 однопроцессорных Athlon , сеть 100Mb :(, это так, для справки.

P.S. Просьба в гугль не отсылать, времени не хватает. К тому же хотелось бы узнать мнение использовавших (или слышавших) конкретные решения.

Заранее спасибо.

octy
()

Как определить адрес машины, с которой...

Конкретная задача: пользуюсь X через ssh, с разных адресов. Необходимо до запкска bash определить адрес, с которого я подключился, чтобы установить переменную DISPLAY и прописать ее в .bash_profile или .cshrs (облоча значения не имеет). Как это можно сделать? Ситуация вроде проста, но моих знаний не хватает :(. Да, сразу скажу что $REMOTEHOST не оределена.
octy
()