From 55cacc9c2c2a64c1ca7a859497504a5ecc954c01 Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Sat, 7 Nov 2020 13:04:50 +0100 Subject: [PATCH] fix build on archs with 32bit pointers --- xrdp-int_ptr.patch | 49 ++++++++++++++++++++++++++++++++++++++++++++++ xrdp.spec | 2 ++ 2 files changed, 51 insertions(+) create mode 100644 xrdp-int_ptr.patch diff --git a/xrdp-int_ptr.patch b/xrdp-int_ptr.patch new file mode 100644 index 0000000..8e9f0f1 --- /dev/null +++ b/xrdp-int_ptr.patch @@ -0,0 +1,49 @@ +From a7462404d5dbf3a1b8a041851aee3dfd00f8c83f Mon Sep 17 00:00:00 2001 +From: Alexandre Quesnel <131881+aquesnel@users.noreply.github.com> +Date: Tue, 8 Sep 2020 21:04:02 +0000 +Subject: [PATCH] Adding casts for narrowing to pointer width for issue #1678 + +--- + sesman/chansrv/chansrv_fuse.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/sesman/chansrv/chansrv_fuse.c b/sesman/chansrv/chansrv_fuse.c +index 62ee050a7..2f043d7a8 100644 +--- a/sesman/chansrv/chansrv_fuse.c ++++ b/sesman/chansrv/chansrv_fuse.c +@@ -1607,7 +1607,7 @@ static void xfuse_cb_readdir(fuse_req_t req, fuse_ino_t ino, size_t size, + log_error("inode %ld is not valid", ino); + fuse_reply_err(req, ENOENT); + } +- else if ((dh = (struct xfs_dir_handle *) fi->fh) == NULL) ++ else if ((dh = (struct xfs_dir_handle *) (tintptr) fi->fh) == NULL) + { + /* something seriously wrong somewhere! */ + fuse_reply_buf(req, 0, 0); +@@ -2095,7 +2095,7 @@ static void xfuse_cb_read(fuse_req_t req, fuse_ino_t ino, size_t size, + + log_debug("want_bytes %zd bytes at off %lld", size, (long long) off); + +- if ((fh = (XFUSE_HANDLE *)fi->fh) == NULL) ++ if ((fh = (XFUSE_HANDLE *) (tintptr) fi->fh) == NULL) + { + fuse_reply_err(req, EINVAL); + } +@@ -2168,7 +2168,7 @@ static void xfuse_cb_write(fuse_req_t req, fuse_ino_t ino, const char *buf, + log_debug("write %zd bytes at off %lld to inode=%ld", + size, (long long) off, ino); + +- if ((fh = (XFUSE_HANDLE *)fi->fh) == NULL) ++ if ((fh = (XFUSE_HANDLE *) (tintptr) fi->fh) == NULL) + { + log_error("file handle fi->fh is NULL"); + fuse_reply_err(req, EINVAL); +@@ -2436,7 +2436,7 @@ static void xfuse_cb_opendir(fuse_req_t req, fuse_ino_t ino, + static void xfuse_cb_releasedir(fuse_req_t req, fuse_ino_t ino, + struct fuse_file_info *fi) + { +- struct xfs_dir_handle *dh = (struct xfs_dir_handle *) fi->fh; ++ struct xfs_dir_handle *dh = (struct xfs_dir_handle *) (tintptr) fi->fh; + xfs_closedir(g_xfs, dh); + fuse_reply_err(req, 0); + } diff --git a/xrdp.spec b/xrdp.spec index 9748937..afc70b5 100644 --- a/xrdp.spec +++ b/xrdp.spec @@ -19,6 +19,7 @@ Source5: startwm.sh Patch0: config.patch Patch1: quiet.patch Patch2: x32.patch +Patch3: %{name}-int_ptr.patch URL: http://www.xrdp.org/ BuildRequires: autoconf >= 2.65 BuildRequires: automake >= 1:1.7.2 @@ -112,6 +113,7 @@ Statyczne biblioteki xrdp. %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 install %{SOURCE3} README.PLD install %{SOURCE4} README.PLD.pl -- 2.44.0