LINUX.ORG.RU

История изменений

Исправление gh0stwizard, (текущая версия) :

fwrite(db->rows, sizeof(db->rows[0]), db->rows_size, fp);

Valgrind на это ругается. Даже несмотря на то, что calloc() все зануляет. Но файл так пишется верного размера. В тоже время, если делать через struct Child **rows + malloc/calloc на каждый db->rows[i], то все пишется как надо.

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

Да, опосля так и сделаю. Пока мучаюсь с тем, что знаю.

Исходная версия gh0stwizard, :

fwrite(db->rows, sizeof(db->rows[0]), db->rows_size, fp);

Valgrind на это ругается. Даже несмотря на то, что calloc() все зануляет. Но файл так пишется верного размера. В тоже время, если делать через struct Child **rows + malloc/calloc на каждый db->rows, то все пишется как надо.

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

Да, опосля так и сделаю. Пока мучаюсь с тем, что знаю.