misc/physfs/extras/hwpacksmounter.c
author koda
Wed, 20 Feb 2013 02:21:58 +0100
branchwebgl
changeset 8450 404ddce27b23
parent 8119 257ffa847aa2
permissions -rw-r--r--
add support for clang 3.3 (although there has to be a better way for this) and output right version number

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#include "hwpacksmounter.h"

PHYSFS_DECL 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);
}