\r
static BOOL\r
CheckUserName(HWND hwndDlg,\r
- INT nIdDlgItem)\r
+ INT nIdDlgItem,\r
+ LPTSTR lpUserName)\r
{\r
TCHAR szUserName[256];\r
UINT uLen;\r
\r
- uLen = GetDlgItemText(hwndDlg, nIdDlgItem, szUserName, 256);\r
+ if (lpUserName)\r
+ uLen = _tcslen(lpUserName);\r
+ else\r
+ uLen = GetDlgItemText(hwndDlg, nIdDlgItem, szUserName, 256);\r
\r
/* Check the user name */\r
- if (uLen > 0 && _tcspbrk(szUserName, TEXT("\"*+,/\\:;<=>?[]|")) != NULL)\r
+ if (uLen > 0 &&\r
+ _tcspbrk((lpUserName) ? lpUserName : szUserName, TEXT("\"*+,/\\:;<=>?[]|")) != NULL)\r
{\r
MessageBox(hwndDlg,\r
TEXT("The user name you entered is invalid! A user name must not contain the following charecters: *+,/:;<=>?[\\]|"),\r
break;\r
\r
case IDOK:\r
- if (!CheckUserName(hwndDlg, IDC_USER_NEW_NAME))\r
+ if (!CheckUserName(hwndDlg, IDC_USER_NEW_NAME, NULL))\r
{\r
SetFocus(GetDlgItem(hwndDlg, IDC_USER_NEW_NAME));\r
SendDlgItemMessage(hwndDlg, IDC_USER_NEW_NAME, EM_SETSEL, 0, -1);\r
}\r
\r
\r
+static VOID\r
+UserRename(HWND hwndDlg)\r
+{\r
+ HWND hwndLV;\r
+ INT nItem;\r
+\r
+ hwndLV = GetDlgItem(hwndDlg, IDC_USERS_LIST);\r
+ if (hwndLV == NULL)\r
+ return;\r
+\r
+ nItem = ListView_GetNextItem(hwndLV, -1, LVNI_SELECTED);\r
+ if (nItem != -1)\r
+ {\r
+ (void)ListView_EditLabel(hwndLV, nItem);\r
+ }\r
+}\r
+\r
+\r
static BOOL\r
UserDelete(HWND hwndDlg)\r
{\r
if (lstrcmp(szOldUserName, szNewUserName) == 0)\r
return FALSE;\r
\r
+ /* Check the user name for illegal characters */\r
+ if (!CheckUserName(NULL, 0, szNewUserName))\r
+ return FALSE;\r
\r
/* Change the user name */\r
useri0.usri0_name = szNewUserName;\r
break;\r
\r
case IDM_USER_RENAME:\r
- {\r
- INT nItem;\r
- HWND hwndLV;\r
-\r
- hwndLV = GetDlgItem(hwndDlg, IDC_USERS_LIST);\r
- nItem = ListView_GetNextItem(hwndLV, -1, LVNI_SELECTED);\r
- if (nItem != -1)\r
- {\r
- (void)ListView_EditLabel(hwndLV, nItem);\r
- }\r
- }\r
+ UserRename(hwndDlg);\r
break;\r
\r
case IDM_USER_NEW:\r