]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
revert-aix-afsdb-20050815
authorDerrick Brashear <shadow@dementia.org>
Fri, 23 Sep 2005 15:55:38 +0000 (15:55 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 23 Sep 2005 15:55:38 +0000 (15:55 +0000)
FIXES 20801

revert this until it's corrected.

src/afs/afs_cell.c

index ad43d10fc0f26a1d9735fc3a3addea36c7601740..e961a5e55964c2b1e9428ea72a3da4227e8acda6 100644 (file)
@@ -132,7 +132,7 @@ afs_GetCellHostsAFSDB(char *acellName, afs_int32 * acellHosts, int *timeout,
     ObtainWriteLock(&afsdb_req.lock, 686);
 
     *acellHosts = 0;
-    afsdb_req.cellname = afs_strdup(acellName);
+    afsdb_req.cellname = acellName;
     afsdb_req.cellhosts = acellHosts;
     afsdb_req.timeout = timeout;
     afsdb_req.realname = realName;
@@ -147,8 +147,6 @@ afs_GetCellHostsAFSDB(char *acellName, afs_int32 * acellHosts, int *timeout,
        afs_osi_Sleep(&afsdb_req);
        ObtainReadLock(&afsdb_req.lock);
     };
-
-    afs_osi_FreeStr(afsdb_req.cellname);
     ReleaseReadLock(&afsdb_req.lock);
     ReleaseWriteLock(&afsdb_client_lock);
 
@@ -163,41 +161,24 @@ void
 afs_LookupAFSDB(char *acellName)
 {
 #ifdef AFS_AFSDB_ENV
-    afs_int32 *cellHosts;
-    char **realName=NULL;
-    int code;
-    int *timeout=NULL;
-
-    if(!(cellHosts = afs_osi_Alloc(MAXCELLHOSTS)))
-       goto done;
-
-    if(!(realName = afs_osi_Alloc(sizeof(char **))))
-       goto done;
-    *realName = NULL;
-
-    if(!(timeout = afs_osi_Alloc(sizeof(int *))))
-       goto done;
+    afs_int32 cellHosts[MAXCELLHOSTS];
+    char *realName = NULL;
+    int code, timeout;
 
-    code = afs_GetCellHostsAFSDB(acellName, cellHosts, timeout, realName);
+    code = afs_GetCellHostsAFSDB(acellName, cellHosts, &timeout, &realName);
     if (code)
        goto done;
-    code = afs_NewCell(*realName, cellHosts, CNoSUID, NULL, 0, 0, *timeout);
+    code = afs_NewCell(realName, cellHosts, CNoSUID, NULL, 0, 0, timeout);
     if (code && code != EEXIST)
        goto done;
 
     /* If we found an alias, create it */
-    if (afs_strcasecmp(acellName, *realName))
-       afs_NewCellAlias(acellName, *realName);
+    if (afs_strcasecmp(acellName, realName))
+       afs_NewCellAlias(acellName, realName);
 
   done:
-    if(timeout)
-       afs_osi_Free(timeout, sizeof(int *));
-    if (realName && *realName)
-       afs_osi_FreeStr(*realName);
-    if(realName)
-       afs_osi_Free(realName, sizeof(char **));
-    if(cellHosts)
-       afs_osi_Free(cellHosts, MAXCELLHOSTS);
+    if (realName)
+       afs_osi_FreeStr(realName);
 #endif
 }