diff -r 133e22b5c410 -r 845b5ae03841 misc/physfs/extras/hwpacksmounter.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/misc/physfs/extras/hwpacksmounter.c Sun Nov 18 00:37:23 2012 +0400 @@ -0,0 +1,36 @@ +#include +#include +#include +#include + +#include "hwpacksmounter.h" + +void hedgewarsMountPackages() +{ + char ** filesList = PHYSFS_enumerateFiles("/"); + char **i; + + for (i = filesList; *i != NULL; i++) + { + char * fileName = *i; + int fileNameLength = strlen(fileName); + if (fileNameLength > 4) + if (strcmp(fileName + fileNameLength - 4, ".hwp") == 0) + { + const char * dir = PHYSFS_getRealDir(fileName); + if(dir) + { + char * fullPath = (char *)malloc(strlen(dir) + fileNameLength + 2); + strcpy(fullPath, dir); + strcat(fullPath, "/"); + strcat(fullPath, fileName); + + PHYSFS_mount(fullPath, NULL, 1); + + free(fullPath); + } + } + } + + PHYSFS_freeList(filesList); +}