LINUX.ORG.RU

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

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

А void ** не имеет смысла в двойне.

int funcname(void **pointer, int size)
{
        *pointer = malloc(size);
        return *pointer ? 0 : -1;
}

Ну ок, убираем void ** из параметров, получаем этот ужас:

int funcname(void *pointer, int size)
{
        *(void **)pointer = malloc(size);
        return *(void **)pointer ? 0 : -1;
}

Хотя да, void * в параметрах позволяет убрать каст при вызове, а внутри функции можно сделать так:

int funcname(void *pointer, int size)
{
        void **p = pointer;
        *p = malloc(size);
        return *p ? 0 : -1;
}

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

А void ** не имеет смысла в двойне.

int funcname(void **pointer, int size)
{
        *pointer = malloc(size);
        return *pointer ? 0 : -1;
}

Ну ок, убираем void ** из параметров, получаем этот ужас:

int funcname(void *pointer, int size)
{
        *(void **)pointer = malloc(size);
        return *(void **)pointer ? 0 : -1;
}