2012-02-13 babolo Версия 3.07 Издание закомиченного, комментарий на будущее. 2011-12-18 babolo Вторая серия правки копилефтов. Добавлено TODO в Makefile. 2011-12-14 babolo Ликвидирован файл get.c, mife_get() без изменений перенесена в read.c. Еще немного инклудов ликвидировано. 2011-12-14 babolo Убраны инклуды err.h из библиотечных файлов за ненадобностью. Мелкие перестановки .h файлов. Вместо предопределенного уровня болтливости при недоступности флагов используется уровень из глобальной переменной, по умолчанию уровень в ней остался прежний. Устанавливается глобальный уровень при первом создании mife_descriptorа или mife_aoutа при помощи нового макроса SETBDEF(). В mife.h добавлено предупреждение о необходимости babolo/BLINflag.h и инклуд. Поправлены отладочные сообщения. Форматирование. 2011-12-13 babolo В mife_get() было неоправданное ограничение - нельзя было получить адрес конца буфера. Исправление мана, под него буду подгонять программу. Выброшен автомат из mife_read() mem за его излишностью: тут все просто. Убраны лишние навороты из tools/Makefile. Исправлнен комментарий в tools/gen.c об аргументах. Результат mife_get() в tools/test.c не проверялся на NULL. В тестере добавлен тест на чтение после дырки и тестовый файл теперь удаляется. 2011-12-13 babolo Поправлены копилефты. Функции mife_writ() и mife_get() переписаны, у них теперь по одной точке возврата. Форматирование и мелкие перестановки. 2011-12-13 babolo Теперь разрешено сдвигать окно назад, кроме варианта pipe. Проверка направления сдвига осталась только в pipe. Отредактированы форматы отладочной выдачи. Некоторые последовательные if склеены в if .. else if. Убраны вычитания в вычислениях в read pipe, что бы случайно не возник знак. Добавлены комментарии в тестовой части. tools/test.c стал выводить начало буфера. Форматирование. 2011-12-12 babolo Структура mife_aout описана без извращения над массивом в конце. Соответственно поменялся макрос AOUSIZE(). Еще в дополнение к предыдущему коммиту выходы из функций сделаны единственными. Исправлено перемешивание знаковых и беззнаковых. Некоторые ifBLIN_QX? поменяны на ifBLIN_QX? за счет использования своей же errno. Добавлены проверки на допустимость параметров. В mife_aclose() в цикле по буферам неправильно обрабатывался вариант, когда не было ни одного вывода. Лишний typedef eoldetector. Форматирование. 2011-12-12 babolo В Makefile добавлена -Wextra. В ifBLIN_Q?? добавлены концы строк, потерянные в предыдущем релизе. Сделано сообщение при вызове функции с дескриптором NULL. Выходы из функций сделаны единственными (за исключением mife_get()). Функции mife_eolinit() и mife_eoldetect() теперь аккуратно отрабатывают ситуацию, когда дескриптор NULL. mife_eoldetect() теперь может возвращать -2, если вызвана с NULL дескриптором. Некоторые ifBLIN_QX? поменяны на ifBLIN_QX? за счет использования своей же errno. В mife_ope?() были утечки памяти при некоторых ошибках. В mife_read() plb стал size_t вместо int и введена проверка, что длинна информации в буфере не превышает размера буфера. Начата перепись вычислений с беззнаковыми, где есть риск появления знака. Форматирование. 2011-11-15 babolo Версия 3.06 Переход на babolo-libmake-2.15, замена ifBLIN_QVn на ifBLIN_QXn и ifBLIN_QWn. В mife_aclose() неправильно обрабатывалась ошибка close() подлежащего файла, передавалась дальше. Форматирование. 2010-09-29 babolo Версия 3.05 Состав .h файлов. 2008-09-17 babolo Версия 3.04 Поправлены варнинги при трансляции на amd64. 2008-06-16 babolo Предупреждения при трансляции на 64бит архитектуре. 2008-05-13 babolo Версия 3.03 Добавлен флаг MIFE_STRI для неиспользования strlen() при определении размера памяти в mife_opes() и mife_opem(). Теперь mife_opes() и mife_opem() сразу устанавливают MIFE_EOFL. 2008-05-13 babolo В typedef определены имена для использования с struct в декларациях. В awrit.c стремный для использования слева от присваивания макрос раскрыт. mindelta() зря определялась с const. mife.h защищен от повторного включения и приспособлен к включению в c++. 2007-06-06 babolo Версия 3.02 Исправлен детектор конца записи (eoln). Введен новый флаг MIFE_SLID для по возможности неагрессивной буферизации файла. Мелкие правки для улучшения читаемости. Мелкие правки мана. 2007-05-29 babolo Версия 3.01 Добавлена асинхронная запись. Добавлены пропущенные #include. Для лучшей совместимости в read вместо machine/limits.h инклудится limits.h. При нехватке памяти errno не устанавливается, потому использовать warn() неправильно, исправлено на warnx(). 2007-05-24 babolo Версия 3.00 Убрана struct из определения типа mife_descriptor. Последний параметр у mife_read() удален в пользу mife_eolinit(). Переписан eol.h в самостоятельный eol.c. В интерфейсе новые функции mife_eolinit() и mife_eoldetect(). Содержимое структуры eoldetector вошло в mife_descriptor. Описания функций в mife.h дополнены названиями параметров. В opeX() флаги исправляются при необходимости. 2007-05-23 babolo Версия 2.08 Исправлена ошибка при определении конца строки, когда он задан многосимвольным ограничителем. Подготовка к убиранию struct из определения типа mife_descriptor. Из определения внутренней struct eoldetector убрана struct. Исправлен формат для распечатки offset (8 байтов). Слегка поправлены комментарии. 2006-07-24 babolo Версия 2.07 Реакция на изменение babolo-libmake. 2005-12-14 babolo Освоил новую макрокоманду Ns и убрал ею из мана лишние пробелы перед скобками. 2005-11-11 babolo Уточнен man. 2005-06-26 babolo Версия 2.06 В close.c и get.c проверяется mife на NULL. В мане mife_close() описываются возвращаемые значения. 2004-12-12 babolo Версия 2.05 В предыдущей версии при оценке: надо ли дочитывать в буфер? не оценивались крайние случаю, при которых дочитать все же надо. 2004-12-07 babolo Версия 2.04 Не пытается дочитать, если в буфере достаточно данных, или если обнаружен конец файла. 2004-11-21 babolo Версия 2.03 В автомат, принимающий решения, добавлена возможность не читать данные. Уточнены рассчеты вариантов к решению. Были возможны совпадения, из-за которых нельзя получить очередной блок. Исправлен ман в соответствии с версией. 2004-11-10 babolo Версия 2.02 Теперь правильно обрабатывается заказ неизвестной длинны (==0) При исправимой ошибке (read() < 0) не перевычисляются все параметры. 2004-11-09 babolo Версия 2.01 Очень лихо вычислялся MIFE_BUFL в open. В вычислениях с needlen были возможны переполнения. Не контролировался размер буфера. 2004-11-06 babolo Версия 2.00 Увеличена длинна структуры mife_descriptor для экономии обращений к stat. В ман добавлена ссылка на #include . Добавлены макро kukMIFE_{RTRY|BUFL}. writ: ошибочно ожидал после успешной записи. 2004-02-03 babolo Версия 1.01 Добавлены макро {g|s}etMIFE_RTRY и {g|s}etMIFE_BUFL Некоторое упрощение записи за счет новых макро и babolo-libmake:0.12 Более правильная передача флагов при трансляции тестов Исправлена и дополнена документация 2004-02-02 babolo Версия 1.00 Добавлен тестовый комплект. Написан man. Веточка с mmap пока заблокирована. Используется BLINflag вместо своих собственных. len в структуре mife_descriptor заменен на actlen Поменялся интерфейс mife_ope* (не только параметры местами, но и флаги) Улучшена отладочная печать. Исправлены многочисленные ошибки версии 0.01 Появилась возможность использовать ввод mife в диалоге - ввод до конца строки, строка, обозначающая конец строки, задается. Массовые изменения и улучшения. 2003-11-26 babolo Забыл writ.c 2003-11-26 babolo Версия 0.01 Работоспособна.