--- /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 <string.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <physfs.h>
+
+#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);
+}