per-user-registry-20040320
[openafs.git] / src / WINNT / client_config / dlg_automap.cpp
index 096b324..5cce7a3 100644 (file)
 extern "C" {
 #include <afs/param.h>
 #include <afs/stds.h>
+#include <afs/fs_utils.h>
 }
 
 #include "afs_config.h"
 #include <stdio.h>
+#include <lanahelper.h>
 
 /*
  * DEFINITIONS ________________________________________________________________
@@ -32,7 +34,6 @@ enum DDDACTION  { DDD_ADD, DDD_REMOVE };
  * PROTOTYPES _________________________________________________________________
  *
  */
-
 void AutoMap_OnInitDialog (HWND hDlg);
 void AutoMap_OnAdd (HWND hDlg);
 void AutoMap_OnSelect (HWND hDlg);
@@ -217,7 +218,7 @@ BOOL UpdateRegistry(DRIVEMAP *pDrive, BOOL bRemove)
    if (!pDrive)
       return FALSE;
 
-   _stprintf(szKeyName, TEXT("%s\\GlobalAutoMapper"), AFSConfigKeyName);
+   _stprintf(szKeyName, TEXT("%s\\GlobalAutoMapper"), AFSDConfigKeyName);
 
    if (RegCreateKeyEx(HKEY_LOCAL_MACHINE, szKeyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_SET_VALUE, NULL, &hKey, &dwDispo) != ERROR_SUCCESS)
       return FALSE;
@@ -448,7 +449,13 @@ void AutoMapEdit_OnInitDialog (HWND hDlg)
    SendMessage (hCombo, CB_SETCURSEL, iItemSel, 0);
 
    TCHAR szMapping[ MAX_PATH ];
-   AdjustAfsPath (szMapping, ((pMap->szMapping[0]) ? pMap->szMapping : TEXT("/afs")), TRUE, FALSE);
+#ifdef NOLANA
+   AdjustAfsPath (szMapping, ((pMap->szMapping[0]) ? pMap->szMapping : cm_slash_mount_root), TRUE, FALSE);
+#else
+    memset(szMapping, '\0', sizeof(szMapping));
+    szMapping[0] = '\\';
+    lana_GetNetbiosName(&szMapping[1], LANA_NETBIOS_NAME_FULL);
+#endif
    SetDlgItemText (hDlg, IDC_PATH, szMapping);
    SetDlgItemText (hDlg, IDC_DESC, pMap->szSubmount);
 
@@ -476,12 +483,25 @@ void AutoMapEdit_OnOK (HWND hDlg)
       return;
       }
 
-   if ( (lstrncmpi (pMap->szMapping, TEXT("/afs"), lstrlen(TEXT("/afs")))) &&
-        (lstrncmpi (pMap->szMapping, TEXT("\\afs"), lstrlen(TEXT("\\afs")))) )
+#ifdef NOLANA
+    if ( (lstrncmpi (pMap->szMapping, cm_slash_mount_root, lstrlen(cm_slash_mount_root))) &&
+         (lstrncmpi (pMap->szMapping, cm_back_slash_mount_root, lstrlen(cm_back_slash_mount_root))) )
+    {
+        Message (MB_ICONHAND, GetErrorTitle(), IDS_BADMAP_DESC);
+        return;
+    }
+#else
+   TCHAR szName[MAX_PATH];
+   memset(szName, '\0', sizeof(szName));
+   szName[0] = '\\';
+   lana_GetNetbiosName(&szName[1], LANA_NETBIOS_NAME_FULL);
+
+   if ( lstrncmpi (pMap->szMapping, szName, lstrlen(szName) ))
       {
       Message (MB_ICONHAND, GetErrorTitle(), IDS_BADMAP_DESC);
       return;
       }
+#endif
 
    // First get a proper submount
    if (pMap->szSubmount[0]) {