словник | перекладачка | факти | тексти | програми
щодо | посилання | новини | гостьова книга | пошук
початок << тексти  << автор  << зміст  << сторінка

next up previous contents index
Далі: Термінолоґічний словник (початковий варіант) Вгору: Linux System Administrators' Guide Назад: Коли годинник відстає

   
Вимірювання дірок

Цей додаток містить цікаву частину програми, яка використовується для вимірювання потенційних дірок в файлових системах. Вихідний текст книжки має повний текст програми. (sag/measure-holes/measure-holes.c).

int process(FILE *f, char *filename) {
        static char *buf = NULL;
        static long prev_block_size = -1;
        long zeroes;
        char *p;

        if (buf == NULL || prev_block_size != block_size) {
                free(buf);
                buf = xmalloc(block_size + 1);
                buf[block_size] = 1;
                prev_block_size = block_size;
        }
        zeroes = 0;
        while (fread(buf, block_size, 1, f) == 1) {
                for (p = buf; *p == '\0'; )
                        ++p;
                if (p == buf+block_size)
                        zeroes += block_size;
        }
        if (zeroes > 0)
                printf("%ld %s\n", zeroes, filename);
        if (ferror(f)) {
                errormsg(0, -1, "read failed for `%s'", filename);
                return -1;
        }
        return 0;
}


Dmytro Kovalev
1999-06-10
вгору
 
Без реклами
2004-03-23 13:54:40
TopList
© 2000-2003, Київ, Соломко Валентин -- ідея та наповнення, графічне опрацювання -- проєкт дизайн, змiнено -- 08.06.2003 14:25:52