static VOID ReadPassword( LPWSTR *lpPassword, LPBOOL lpAllocated) { WCHAR szPassword1[PWLEN + 1]; WCHAR szPassword2[PWLEN + 1]; LPWSTR ptr; *lpAllocated = FALSE; while (TRUE) { ConResPuts(StdOut, IDS_USER_ENTER_PASSWORD1); ReadFromConsole(szPassword1, PWLEN + 1, FALSE); ConPuts(StdOut, L"\n"); ConResPuts(StdOut, IDS_USER_ENTER_PASSWORD2); ReadFromConsole(szPassword2, PWLEN + 1, FALSE); ConPuts(StdOut, L"\n"); if (wcslen(szPassword1) == wcslen(szPassword2) && wcscmp(szPassword1, szPassword2) == 0) { ptr = HeapAlloc(GetProcessHeap(), 0, (wcslen(szPassword1) + 1) * sizeof(WCHAR)); if (ptr != NULL) { wcscpy(ptr, szPassword1); *lpPassword = ptr; *lpAllocated = TRUE; return; } } else { ConPuts(StdOut, L"\n"); ConResPuts(StdOut, IDS_USER_NO_PASSWORD_MATCH); ConPuts(StdOut, L"\n"); *lpPassword = NULL; } } }
static VOID ReadPassword( LPWSTR *lpPassword, LPBOOL lpAllocated) { WCHAR szPassword1[PWLEN + 1]; WCHAR szPassword2[PWLEN + 1]; LPWSTR ptr; *lpAllocated = FALSE; while (TRUE) { PrintMessageString(4358); ReadFromConsole(szPassword1, PWLEN + 1, FALSE); ConPuts(StdOut, L"\n"); PrintMessageString(4361); ReadFromConsole(szPassword2, PWLEN + 1, FALSE); ConPuts(StdOut, L"\n"); if (wcslen(szPassword1) == wcslen(szPassword2) && wcscmp(szPassword1, szPassword2) == 0) { ptr = HeapAlloc(GetProcessHeap(), 0, (wcslen(szPassword1) + 1) * sizeof(WCHAR)); if (ptr != NULL) { wcscpy(ptr, szPassword1); *lpPassword = ptr; *lpAllocated = TRUE; return; } } else { ConPuts(StdOut, L"\n"); PrintMessageString(3728); *lpPassword = NULL; } } }