mirror of
https://github.com/Fledge68/WiiFlow_Lite.git
synced 2024-12-24 10:51:55 +01:00
-fixed nand extractor
This commit is contained in:
parent
75ff081c0c
commit
338f552d02
@ -790,7 +790,7 @@ void Nand::CreatePath(const char *path, ...)
|
||||
folder[strlen(folder)-1] = 0;
|
||||
|
||||
char *check = folder;
|
||||
while (true)
|
||||
while(true)
|
||||
{
|
||||
check = strstr(folder, "//");
|
||||
if (check != NULL)
|
||||
@ -798,8 +798,7 @@ void Nand::CreatePath(const char *path, ...)
|
||||
else
|
||||
break;
|
||||
}
|
||||
|
||||
fsop_MakeFolder(folder);
|
||||
__makedir(folder);
|
||||
free(folder);
|
||||
}
|
||||
va_end(args);
|
||||
@ -1098,3 +1097,64 @@ void Nand::PatchAHB()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
part of miniunz.c
|
||||
Version 1.01e, February 12th, 2005
|
||||
|
||||
Copyright (C) 1998-2005 Gilles Vollant
|
||||
*/
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <utime.h>
|
||||
|
||||
struct stat exists;
|
||||
static int mymkdir(const char* dirname)
|
||||
{
|
||||
if(stat(dirname, &exists) == 0)
|
||||
return 0;
|
||||
return mkdir(dirname, S_IREAD | S_IWRITE);
|
||||
}
|
||||
|
||||
int Nand::__makedir(char *newdir)
|
||||
{
|
||||
if(stat(newdir, &exists) == 0)
|
||||
return 0;
|
||||
|
||||
int len = (int)strlen(newdir);
|
||||
if(len <= 0)
|
||||
return 0;
|
||||
|
||||
char *buffer = (char*)MEM2_alloc(len + 1);
|
||||
strcpy(buffer, newdir);
|
||||
|
||||
if(buffer[len-1] == '/')
|
||||
buffer[len-1] = '\0';
|
||||
if(mymkdir(buffer) == 0)
|
||||
{
|
||||
MEM2_free(buffer);
|
||||
return 1;
|
||||
}
|
||||
|
||||
char *p = buffer + 1;
|
||||
while(1)
|
||||
{
|
||||
char hold;
|
||||
while(*p && *p != '\\' && *p != '/')
|
||||
p++;
|
||||
hold = *p;
|
||||
*p = 0;
|
||||
if((mymkdir(buffer) == -1) && (errno == ENOENT))
|
||||
{
|
||||
gprintf("couldn't create directory %s\n",buffer);
|
||||
MEM2_free(buffer);
|
||||
return 0;
|
||||
}
|
||||
if(hold == 0)
|
||||
break;
|
||||
*p++ = hold;
|
||||
}
|
||||
MEM2_free(buffer);
|
||||
return 1;
|
||||
}
|
||||
|
@ -111,6 +111,7 @@ private:
|
||||
s32 __FlashNandFolder(const char *source, const char *dest);
|
||||
s32 __DumpNandFile(const char *source, const char *dest);
|
||||
s32 __DumpNandFolder(const char *source, const char *dest);
|
||||
int __makedir(char *newdir);
|
||||
|
||||
u32 MountedDevice;
|
||||
u32 EmuDevice;
|
||||
|
Loading…
Reference in New Issue
Block a user