Odpoved prijde dole, abyste nebyli osizeni, pokud vam to chodi mailem :D Lukas Jezek napsal(a):
Zdar,jsem dmnt :D Chybu jsem si objevil, delala to takova nevinnost (prejmenoval jsem argument funkce). Za odmenu vam dam maly kviz (v dalsim mailu bude odpoved):int vma_directory_create(vma_directory_t * dirp) { vma_directory_t directory = malloc(sizeof(struct vma_directory)); if (directory == NULL) { return ENOMEM; }STRUCT_SET_MAGICS(directory);... malloc_check_blocks(); //1 printk("VMA: directory %u allocated\n", *directory); malloc_check_blocks(); //2 (*dirp) = directory; malloc_check_blocks(); //3 return EOK; }Muzete si tipnout, ktera z vyse oznacenych funkci vyvolala assert v tabulkach malloc.funkce byla volana jako: vma_directory_t g_adresar; // globalni promenna ... vma_director_create(&g_adresar); Jeste dulezite info: sizeof(struct vma_directory) == 4128B Tak kdo je vitez (1, 2 nebo 3)?
Vitezem je //2, protoze jsem o radek vyse zapomnel hvezdicku a tak se misto 4B na stacku predavaly 4kB, coz ho trochu rozesralo :D
At zijou ladici vypisy (zvlast ty, ktere vas zdrzi asi tak na 3 hodiny od prace).
Lukas