Ignore files and hidden dirs which are not actually addons

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3187 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
avolkov
2009-10-07 02:44:38 +00:00
parent 12a0e5f9cd
commit 0778e1aec5
2 changed files with 25 additions and 16 deletions
+24 -14
View File
@@ -64,8 +64,6 @@ uio_MountHandle* contentMountHandle;
char baseContentPath[PATH_MAX];
uio_DirList *availableAddons;
extern uio_Repository *repository;
extern uio_DirHandle *rootDir;
@@ -358,8 +356,7 @@ mountAddonDir (uio_Repository *repository, uio_MountHandle *contentMountHandle,
uio_DirHandle *addonsDir;
static uio_AutoMount *autoMount[] = { NULL };
uio_MountHandle *mountHandle;
availableAddons = NULL;
uio_DirList *availableAddons;
if (addonDirName != NULL)
{
@@ -396,22 +393,37 @@ mountAddonDir (uio_Repository *repository, uio_MountHandle *contentMountHandle,
if (availableAddons != NULL)
{
int i, count;
count = availableAddons->numNames;
if (count != 1)
// count the actual addon dirs
count = 0;
for (i = 0; i < availableAddons->numNames; ++i)
{
log_add (log_Info, "%d available addon packs.", count);
struct stat sb;
if (availableAddons->names[i][0] == '.' ||
uio_stat (addonsDir, availableAddons->names[i], &sb) == -1
|| !S_ISDIR (sb.st_mode))
{ // this dir entry ignored
availableAddons->names[i] = NULL;
continue;
}
else
{
log_add (log_Info, "1 available addon pack.");
++count;
}
for (i = 0; i < count; i++)
log_add (log_Info, "%d available addon pack%s.", count,
count == 1 ? "" : "s");
count = 0;
for (i = 0; i < availableAddons->numNames; ++i)
{
static char mountname[128];
uio_DirHandle *addonDir;
const char *addon = availableAddons->names[i];
log_add (log_Info, " %d. %s", i+1, addon);
if (!addon)
continue;
++count;
log_add (log_Info, " %d. %s", count, addon);
snprintf(mountname, 128, "addons/%s", addon);
mountname[127]=0;
@@ -433,8 +445,6 @@ mountAddonDir (uio_Repository *repository, uio_MountHandle *contentMountHandle,
}
uio_DirList_free (availableAddons);
availableAddons = NULL;
uio_closeDir (addonsDir);
}
-1
View File
@@ -50,7 +50,6 @@ extern uio_DirHandle *saveDir;
extern uio_DirHandle *meleeDir;
extern char baseContentPath[PATH_MAX];
extern uio_DirList *availableAddons;
extern const char **optAddons;
/* These get edited by TEXTENTRY widgets, so they should have room to