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) ecore_file_mkpath(const char *path)
{ {
char ss[PATH_MAX]; char ss[PATH_MAX];
int i, ii; int i;
ss[0] = 0; ss[0] = 0;
i = 0; i = 0;
ii = 0;
while (path[i]) while (path[i])
{ {
if (ii == sizeof(ss) - 1) return 0; if (i == sizeof(ss) - 1) return 0;
ss[ii++] = path[i]; ss[i] = path[i];
ss[ii] = 0; ss[i + 1] = 0;
if (path[i] == '/') if (path[i] == '/')
{ {
if (!ecore_file_is_dir(ss)) ecore_file_mkdir(ss); ss[i] = 0;
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);
ss[i] = '/';
} }
i++; i++;
} }
if (!ecore_file_is_dir(ss)) ecore_file_mkdir(ss); if ((ecore_file_exists(ss)) && (!ecore_file_is_dir(ss))) return 0;
else if (!ecore_file_is_dir(ss)) return 0; else if (!ecore_file_exists(ss)) ecore_file_mkdir(ss);
return 1; return 1;
} }