iucar / rpms / root

Forked from rpms/root 3 years ago
Clone
Blob Blame History Raw
diff -ur root-5.34.09.orig/io/hdfs/src/THDFSFile.cxx root-5.34.09/io/hdfs/src/THDFSFile.cxx
--- root-5.34.09.orig/io/hdfs/src/THDFSFile.cxx	2013-06-26 17:05:06.000000000 +0200
+++ root-5.34.09/io/hdfs/src/THDFSFile.cxx	2013-08-31 03:00:10.323742733 +0200
@@ -40,6 +40,7 @@
 
 #include "syslog.h"
 #include "assert.h"
+#include "stdlib.h"
 
 #include "THDFSFile.h"
 #include "TError.h"
@@ -93,8 +94,7 @@
    if (has_authn) {
       UserGroup_t *ugi = gSystem->GetUserInfo(0);
       const char *user = (ugi->fUser).Data();
-      const char * groups[1] = {(ugi->fGroup.Data())};
-      fFS = hdfsConnectAsUser("default", 0, user, groups, 1);
+      fFS = hdfsConnectAsUser("default", 0, user);
       delete ugi;
    } else {
       fFS = hdfsConnect("default", 0);
@@ -167,7 +167,7 @@
    // See documentation for TFile::SysRead().
 
    TRACE("READ")
-   tSize num_read = hdfsPread(fFS, (hdfsFile)fHdfsFH, fSysOffset, buf, len);
+   tSize num_read = hdfsPread((hdfsFS)fFS, (hdfsFile)fHdfsFH, fSysOffset, buf, len);
    fSysOffset += len;
    if (num_read < 0) {
       gSystem->SetErrorStr(strerror(errno));
@@ -192,7 +192,7 @@
          return -1;
       }
       if (fSize == -1) {
-         hdfsFileInfo *info = hdfsGetPathInfo(fFS, fPath);
+         hdfsFileInfo *info = hdfsGetPathInfo((hdfsFS)fFS, fPath);
          if (info != 0) {
             fSize = info->mSize;
             free(info);
@@ -224,7 +224,7 @@
       SysError("THDFSFile", "Unable to allocate memory for path.");
    }
    strlcpy(fPath, file,path_size+1);
-   if ((fHdfsFH = hdfsOpenFile(fFS, fPath, flags, 0, 0, 0)) == 0) {
+   if ((fHdfsFH = hdfsOpenFile((hdfsFS)fFS, fPath, flags, 0, 0, 0)) == 0) {
       SysError("THDFSFile", "Unable to open file %s in HDFS", pathname);
       return -1;
    }
@@ -236,7 +236,7 @@
 {
    // Close the file in HDFS.
 
-   int result = hdfsCloseFile(fFS, (hdfsFile)fHdfsFH);
+   int result = hdfsCloseFile((hdfsFS)fFS, (hdfsFile)fHdfsFH);
    fFS = 0;
    fHdfsFH = 0;
    return result;
@@ -258,7 +258,7 @@
 
    *id = ::Hash(fPath);
 
-   hdfsFileInfo *info = hdfsGetPathInfo(fFS, fPath);
+   hdfsFileInfo *info = hdfsGetPathInfo((hdfsFS)fFS, fPath);
    if (info != 0) {
       fSize = info->mSize;
       *size = fSize;
@@ -306,8 +306,7 @@
    if (has_authn) {
       UserGroup_t *ugi = gSystem->GetUserInfo(0);
       const char *user = (ugi->fUser).Data();
-      const char * groups[1] = {(ugi->fGroup.Data())};
-      fFH = hdfsConnectAsUser("default", 0, user, groups, 1);
+      fFH = hdfsConnectAsUser("default", 0, user);
       delete ugi;
    } else {
       fFH = hdfsConnect("default", 0);
@@ -339,7 +338,7 @@
    }
 
    if (R__HDFS_ALLOW_CHANGES == kTRUE) {
-      return hdfsCreateDirectory(fFH, path);
+      return hdfsCreateDirectory((hdfsFS)fFH, path);
    } else {
       return -1;
    }
@@ -366,14 +365,14 @@
 */
 
    hdfsFileInfo * dir = 0;
-   if ((dir = hdfsGetPathInfo(fFH, path)) == 0) {
+   if ((dir = hdfsGetPathInfo((hdfsFS)fFH, path)) == 0) {
       return 0;
    }
    if (dir->mKind != kObjectKindDirectory) {
       return 0;
    }
 
-   fDirp = (void *)hdfsListDirectory(fFH, path, &fDirEntries);
+   fDirp = (void *)hdfsListDirectory((hdfsFS)fFH, path, &fDirEntries);
    fDirCtr = 0;
 
    fUrlp = new TUrl[fDirEntries];
@@ -449,7 +448,7 @@
       Error("GetPathInfo", "No filesystem handle (should never happen)");
       return 1;
    }
-   hdfsFileInfo *fileInfo = hdfsGetPathInfo(fFH, path);
+   hdfsFileInfo *fileInfo = hdfsGetPathInfo((hdfsFS)fFH, path);
 
    if (fileInfo == 0)
       return 1;
@@ -481,7 +480,7 @@
       return kTRUE;
    }
 
-   if (hdfsExists(fFH, path) == 0)
+   if (hdfsExists((hdfsFS)fFH, path) == 0)
       return kFALSE;
    else
       return kTRUE;
@@ -499,7 +498,7 @@
    }
 
    if (R__HDFS_ALLOW_CHANGES == kTRUE) {
-      return hdfsDelete(fFH, path);
+      return hdfsDelete((hdfsFS)fFH, path, 1);
    } else {
       return -1;
    }