ecore_file_mkpath:

- do the right checks.


SVN revision: 14595
This commit is contained in:
sebastid 2005-05-04 07:15:26 +00:00 committed by sebastid
parent c9b724a3c0
commit f41eaabb1a
1 changed files with 10 additions and 9 deletions

View File

@ -75,25 +75,26 @@ int
ecore_file_mkpath(const char *path)
{
char ss[PATH_MAX];
int i, ii;
int i;
ss[0] = 0;
i = 0;
ii = 0;
while (path[i])
{
if (ii == sizeof(ss) - 1) return 0;
ss[ii++] = path[i];
ss[ii] = 0;
if (i == sizeof(ss) - 1) return 0;
ss[i] = path[i];
ss[i + 1] = 0;
if (path[i] == '/')
{
if (!ecore_file_is_dir(ss)) ecore_file_mkdir(ss);
else if (!ecore_file_is_dir(ss)) return 0;
ss[i] = 0;
if ((ecore_file_exists(ss)) && (!ecore_file_is_dir(ss))) return 0;
else if (!ecore_file_exists(ss)) ecore_file_mkdir(ss);
ss[i] = '/';
}
i++;
}
if (!ecore_file_is_dir(ss)) ecore_file_mkdir(ss);
else if (!ecore_file_is_dir(ss)) return 0;
if ((ecore_file_exists(ss)) && (!ecore_file_is_dir(ss))) return 0;
else if (!ecore_file_exists(ss)) ecore_file_mkdir(ss);
return 1;
}