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...