Index: apps/app_voicemail.c =================================================================== RCS file: /usr/cvsroot/asterisk/apps/app_voicemail.c,v retrieving revision 1.210 diff -u -r1.210 app_voicemail.c --- apps/app_voicemail.c 8 May 2005 16:44:25 -0000 1.210 +++ apps/app_voicemail.c 9 May 2005 19:54:29 -0000 @@ -4409,6 +4409,12 @@ } if (useadsi) adsi_password(chan); + if (prefix && !ast_strlen_zero(prefix)) { + char fullusername[80] = ""; + strncpy(fullusername, prefix, sizeof(fullusername) - 1); + strncat(fullusername, mailbox, sizeof(fullusername) - 1 - strlen(fullusername)); + strncpy(mailbox, fullusername, mailbox_size - 1); + } vmu = find_user(&vmus, context, mailbox); if (vmu && (vmu->password[0] == '\0' || (vmu->password[0] == '-' && vmu->password[1] == '\0'))) { /* saved password is blank, so don't bother asking */ @@ -4423,12 +4429,7 @@ return -1; } } - if (prefix && !ast_strlen_zero(prefix)) { - char fullusername[80] = ""; - strncpy(fullusername, prefix, sizeof(fullusername) - 1); - strncat(fullusername, mailbox, sizeof(fullusername) - 1 - strlen(fullusername)); - strncpy(mailbox, fullusername, mailbox_size - 1); - } + if (vmu) { passptr = vmu->password; if (passptr[0] == '-') passptr++;