Anuncios Google

[C] ¿Por qué crashea? Que yo sepa no leo tantos datos... :-(

Gracias a DeVianTe por sus explicaciones, y a la documentación del PSPSDK, conseguí hacerme este código para copiar carpetas:

int sceIoCopyDirectory(const char * sourcepath, const char * destpath, int * overwrite) {
	int dfdsrc, dfddest, bytes_readed = -1;
 
	dfdsrc = sceIoDopen(sourcepath); // Assign the directory descriptor to the int 'dfd_src'
	if(dfdsrc < 0) return 0; // If 'dfd_src' is not a valid directory descriptor, then returns 0 and exit function
 
	int check = sceIoDirectoryExists(destpath); // Assign the directory check to the int 'check'
	if(check == 0) { // If the 'destpath' folder doesn't exists...
		sceIoMkdir(destpath, 0777); // Create a folder
	} else if(check == 1 && overwrite == 0) {
		return 0;
	} else if(check == 1 && overwrite == 1) {
		sceIoRmdir(destpath);
	}
 
	dfddest = sceIoDopen(destpath);
	if(dfddest < 0) {sceIoDclose(dfdsrc); return 0;} // If 'dfddest' is not a valid directory descriptor, then closes the opened directory descriptor of the source directory and return 0 for exit the function
 
	SceIoDirent ent;
 
	bytes_readed = sceIoDread(dfdsrc, &ent);
 
	while(bytes_readed > 0) {
		sceIoWrite(dfddest, ent.d_private, bytes_readed);
		bytes_readed = sceIoDread(dfdsrc, &ent);
	}
 
	sceIoDclose(dfdsrc);
	sceIoDclose(dfddest);
 
	return 1;
 
}

Pero crashea la PSP al usarlo. ¿Qué tiene mal?

Y por cierto, yo ya 'presupongo' que tiene recursividad, pero claro, como me ha funcionado,... lol...

gracias


http://www.mhypnok.blogspot.com/

Gracias a Dark_AleX, Total_Noob, VirtuousFlame, Coldbird, Codestation...


Anuncios Google