330 |
} |
} |
331 |
} |
} |
332 |
|
|
333 |
|
/* creation de tous les repertoires necessaires */ |
334 |
|
gint sc_mkdir(const gchar *Aname, mode_t Amode) { |
335 |
|
gchar **Llist = g_strsplit(Aname, G_DIR_SEPARATOR_S, 0); |
336 |
|
gchar *Ldir = NULL, *Ltmp = NULL; |
337 |
|
gint Lstatus = TRUE; |
338 |
|
gint i; |
339 |
|
|
340 |
|
for (i=0; Llist[i]; i++) { |
341 |
|
if (!*Llist[i]) continue; |
342 |
|
|
343 |
|
if (Ldir) { |
344 |
|
Ltmp = g_strconcat(Ldir, "/", Llist[i], NULL); |
345 |
|
g_free(Ldir); |
346 |
|
} else { |
347 |
|
Ltmp = g_strconcat("/", Llist[i], NULL); |
348 |
|
} |
349 |
|
Ldir = Ltmp; |
350 |
|
|
351 |
|
if (g_file_test(Ldir, G_FILE_TEST_IS_DIR)) continue; |
352 |
|
|
353 |
|
if (g_file_test(Ldir, G_FILE_TEST_EXISTS)) { |
354 |
|
Lstatus = FALSE; |
355 |
|
break; |
356 |
|
} |
357 |
|
|
358 |
|
if (mkdir(Ldir, Amode)!=0) { |
359 |
|
Lstatus = FALSE; |
360 |
|
break; |
361 |
|
} |
362 |
|
} |
363 |
|
|
364 |
|
g_free(Ldir); |
365 |
|
g_strfreev(Llist); |
366 |
|
|
367 |
|
return Lstatus; |
368 |
|
} |
369 |
|
|
370 |
/* |
/* |
371 |
* vim:et:ts=8:sts=2:sw=2 |
* vim:et:ts=8:sts=2:sw=2 |