misc/libphysfs/extras/hwpacksmounter.c
branchphysfslayer
changeset 8524 a65e9bcf0a03
parent 8522 1853628ae285
child 8526 9f2bd885d773
equal deleted inserted replaced
8522:1853628ae285 8524:a65e9bcf0a03
     1 #include <string.h>
       
     2 #include <stdio.h>
       
     3 #include <stdlib.h>
       
     4 
       
     5 #include "hwpacksmounter.h"
       
     6 
       
     7 PHYSFS_DECL void hedgewarsMountPackages()
       
     8 {
       
     9     char ** filesList = PHYSFS_enumerateFiles("/");
       
    10     char **i;
       
    11 
       
    12     for (i = filesList; *i != NULL; i++)
       
    13     {
       
    14         char * fileName = *i;
       
    15         int fileNameLength = strlen(fileName);
       
    16         if (fileNameLength > 4)
       
    17             if (strcmp(fileName + fileNameLength - 4, ".hwp") == 0)
       
    18             {
       
    19                 const char * dir = PHYSFS_getRealDir(fileName);
       
    20                 if(dir)
       
    21                 {
       
    22                     char * fullPath = (char *)malloc(strlen(dir) + fileNameLength + 2);
       
    23                     strcpy(fullPath, dir);
       
    24                     strcat(fullPath, "/");
       
    25                     strcat(fullPath, fileName);
       
    26 
       
    27                     PHYSFS_mount(fullPath, NULL, 1);
       
    28 
       
    29                     free(fullPath);
       
    30                 }
       
    31             }
       
    32     }
       
    33 
       
    34     PHYSFS_freeList(filesList);
       
    35 }