mirror of
https://github.com/Brawl345/customizemii.git
synced 2024-12-12 17:32:36 +01:00
58 lines
964 B
C
58 lines
964 B
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <ogcsys.h>
|
|
|
|
#include "fat.h"
|
|
|
|
|
|
s32 Fat_Mount(fatDevice *dev)
|
|
{
|
|
s32 ret;
|
|
|
|
/* Initialize interface */
|
|
ret = dev->interface->startup();
|
|
if (!ret)
|
|
return -1;
|
|
|
|
/* Mount device */
|
|
ret = fatMountSimple(dev->mount, dev->interface);
|
|
if (!ret)
|
|
return -1;
|
|
|
|
return 0;
|
|
}
|
|
|
|
void Fat_Unmount(fatDevice *dev)
|
|
{
|
|
/* Unmount device */
|
|
fatUnmount(dev->mount);
|
|
|
|
/* Shutdown interface */
|
|
dev->interface->shutdown();
|
|
}
|
|
|
|
char *Fat_ToFilename(const char *filename)
|
|
{
|
|
static char buffer[128];
|
|
|
|
u32 cnt, idx, len;
|
|
|
|
/* Clear buffer */
|
|
memset(buffer, 0, sizeof(buffer));
|
|
|
|
/* Get filename length */
|
|
len = strlen(filename);
|
|
|
|
for (cnt = idx = 0; idx < len; idx++) {
|
|
char c = filename[idx];
|
|
|
|
/* Valid characters */
|
|
if ( (c >= '#' && c <= ')') || (c >= '-' && c <= '.') ||
|
|
(c >= '0' && c <= '9') || (c >= 'A' && c <= 'z') ||
|
|
(c >= 'a' && c <= 'z') || (c == '!') )
|
|
buffer[cnt++] = c;
|
|
}
|
|
|
|
return buffer;
|
|
}
|