Ahoj snažím se udělat to, že když ve FUSE čtu adresář a narazím v něm na určitý soubor tak chci v jiné složce vytvořit adresář se mnou definovaným názvem ale funkce mkdir mi vrací -1 a nevím moc přoč tomu tak je. Cesty i nalezení souboru proběhne bez problémů. Není nějaká dobrá duše kde dělám chybu?
static int fs_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
off_t offset, struct fuse_file_info *fi)
{
DIR *dp_real;
struct dirent *de_real;
(void) offset;
(void) fi;
char *realpath = myrealpath(path);
if (!realpath) return -errno;
dp_real = opendir(realpath);
if (dp_real == NULL)
return -errno;
while ((de_real = readdir(dp_real)) != NULL) {
int res = strcmp(de_real->d_name,"soubor.dat");
if(res == 0){
char *newfusepath;
newfusepath = mydirpath("/abcdeee");
mode_t mode = umask(0);
int res2 = mkdir(newfusepath,mode & 0777);
closedir(dp_real);
return 0;
}
}
closedir(dp_real);
return 0;
}