diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-06-22 04:35:12 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2007-06-22 04:35:12 +0000 |
commit | a1bc8231365c9bdea0d3881a8cd056f6abecb07b (patch) | |
tree | 45f02eef0ac120e193459b71f73a7b62b7db8784 /apps/app_minivm.c | |
parent | 0b98b2a659dca13c8b7fe4a6682ede8e2ae110b7 (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: https://origsvn.digium.com/svn/asterisk/trunk@71040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'apps/app_minivm.c')
-rw-r--r-- | apps/app_minivm.c | 27 |
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; |