aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_minivm.c
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-22 04:35:12 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-06-22 04:35:12 +0000
commited2b193e6c6d0cce882796969369e305075103e0 (patch)
tree45f02eef0ac120e193459b71f73a7b62b7db8784 /apps/app_minivm.c
parentde3fbdf9699a307db497cd68d3d9d044936d7b4f (diff)
Issue 9990 - New API ast_mkdir, which creates parent directories as necessary (and is faster than an outcall to mkdir -p)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71040 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_minivm.c')
-rw-r--r--apps/app_minivm.c27
1 files changed, 5 insertions, 22 deletions
diff --git a/apps/app_minivm.c b/apps/app_minivm.c
index 682520b1c..73ef61b28 100644
--- a/apps/app_minivm.c
+++ b/apps/app_minivm.c
@@ -1159,28 +1159,11 @@ static int check_dirpath(char *dest, int len, char *domain, char *username, char
*/
static int create_dirpath(char *dest, int len, char *domain, char *username, char *folder)
{
- mode_t mode = VOICEMAIL_DIR_MODE;
-
- if(!ast_strlen_zero(domain)) {
- make_dir(dest, len, domain, "", "");
- if(mkdir(dest, mode) && errno != EEXIST) {
- ast_log(LOG_WARNING, "mkdir '%s' failed: %s\n", dest, strerror(errno));
- return -1;
- }
- }
- if(!ast_strlen_zero(username)) {
- make_dir(dest, len, domain, username, "");
- if(mkdir(dest, mode) && errno != EEXIST) {
- ast_log(LOG_WARNING, "mkdir '%s' failed: %s\n", dest, strerror(errno));
- return -1;
- }
- }
- if(!ast_strlen_zero(folder)) {
- make_dir(dest, len, domain, username, folder);
- if(mkdir(dest, mode) && errno != EEXIST) {
- ast_log(LOG_WARNING, "mkdir '%s' failed: %s\n", dest, strerror(errno));
- return -1;
- }
+ int res;
+ make_dir(dest, len, domain, username, folder);
+ if ((res = ast_mkdir(dest, 0777))) {
+ ast_log(LOG_WARNING, "ast_mkdir '%s' failed: %s\n", dest, strerror(res));
+ return -1;
}
ast_debug(2, "Creating directory for %s@%s folder %s : %s\n", username, domain, folder, dest);
return 0;