Čtení souboru a vytvoření složky FUSE – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Čtení souboru a vytvoření složky FUSE – C / C++ – Fórum – Programujte.comČtení souboru a vytvoření složky FUSE – C / C++ – Fórum – Programujte.com

 

Honza
~ Anonymní uživatel
451 příspěvků
24. 2. 2014   #1
-
0
-

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;
}
Nahlásit jako SPAM
IP: 2001:718:2:80e:61f3:22a6:...–
KIIV
~ Moderátor
+43
God of flame
25. 2. 2014   #2
-
0
-

tak je asi na case precist si navod k mkdir ... neexistuje neco jako "nevim proc"

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Honza
~ Anonymní uživatel
451 příspěvků
25. 2. 2014   #3
-
0
-

Vytvořit složku mimo FUSE se mi bez problému podaří, ale i když volám svojí FUSE funkci fs_mkdir  tak dostávám stejný výsledek. Přečetl jsem si toho už dost, ale zkrátka pořád nevím kde dělám chybu

Nahlásit jako SPAM
IP: 2001:718:2:80e:f1d3:bab6:...–
KIIV
~ Moderátor
+43
God of flame
25. 2. 2014   #4
-
0
-

#3 Honza
proto sem rikal, at se podivas do navodu k mkdir abys zjistil, ze to signalizuje i duvod, proc to nemohlo vytvorit adresar...

spatne muze byt klidne ta funkce mydirpath.. treba to vraci absolutni cestu a nemas tam prava zapisovat - nicmene to ti vic napovi prave to errno, ktery tak zarputile ignorujes

+ tam mas jeste velice slusnej memory leak...

Nahlásit jako SPAM
IP: 62.216.147.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Honza
~ Anonymní uživatel
451 příspěvků
26. 2. 2014   #5
-
0
-

Mohl bych se zeptat jakej memory leak? S problémem jsem se díky errno posunul o kus dál, ale stále se mi nedaří to co bych potřeboval. Je vůbec to co chci principielně možné? protože co jsem našel příklady na FUSE tak tam se všude jednalo o zrcadlení těch složek.

Nahlásit jako SPAM
IP: 2001:718:2:80e:855c:81c6:...–
KIIV
~ Moderátor
+43
God of flame
26. 2. 2014   #6
-
0
-

mydirpath a myrealpath zminena v jinym vlakne, pouzivala asprintf, ktery vraci alokovany retezec a ten musi samozrejme byt uvolnen... (pokud si to tedy nezmenil)

v prispevku od uzivatele "z" to uvolneny je.. jen ty si to tu zrusil

Nahlásit jako SPAM
IP: 62.168.56.–
Program vždy dělá to co naprogramujete, ne to co chcete...
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 54 hostů

Podobná vlákna

Vytvoření složky — založil eidam1995

Vytvoření složky — založil Kalgys

Vytvoření nové složky — založil dragon124

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý