Fix for UNICOS CC: first argument to readlink must not be const, or we
[rsync/rsync.git] / flist.c
diff --git a/flist.c b/flist.c
index 1082c40..27025df 100644 (file)
--- a/flist.c
+++ b/flist.c
@@ -149,8 +149,7 @@ int readlink_stat(const char *Path, STRUCT_STAT *Buffer, char *Linkbuf)
                return -1;
        }
        if (S_ISLNK(Buffer->st_mode)) {
-               int l;
-               if ((l = readlink(Path,Linkbuf,MAXPATHLEN-1)) == -1) {
+               if (readlink((char *) Path, Linkbuf, MAXPATHLEN-1) == -1) {
                        return -1;
                }
                Linkbuf[l] = 0;
@@ -203,7 +202,7 @@ static void set_filesystem(char *fname)
 
 static int to_wire_mode(mode_t mode)
 {
-       if (S_ISLNK(mode) && (S_IFLNK != 0120000)) {
+       if (S_ISLNK(mode) && (_S_IFLNK != 0120000)) {
                return (mode & ~(_S_IFMT)) | 0120000;
        }
        return (int)mode;
@@ -211,8 +210,8 @@ static int to_wire_mode(mode_t mode)
 
 static mode_t from_wire_mode(int mode)
 {
-       if ((mode & (_S_IFMT)) == 0120000 && (S_IFLNK != 0120000)) {
-               return (mode & ~(_S_IFMT)) | S_IFLNK;
+       if ((mode & (_S_IFMT)) == 0120000 && (_S_IFLNK != 0120000)) {
+               return (mode & ~(_S_IFMT)) | _S_IFLNK;
        }
        return (mode_t)mode;
 }