summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild1
-rw-r--r--app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch42
2 files changed, 43 insertions, 0 deletions
diff --git a/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild b/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild
index 38ed303734c..16257a67ce2 100644
--- a/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild
+++ b/app-cdr/cdrdao/cdrdao-1.2.3-r2.ebuild
@@ -44,6 +44,7 @@ S=${WORKDIR}/${P/_}
src_prepare() {
epatch "${FILESDIR}"/${P}-glibc212.patch
+ epatch "${FILESDIR}"/${P}-unsigned-char.patch #569344
}
src_configure() {
diff --git a/app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch b/app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch
new file mode 100644
index 00000000000..18c60830ba3
--- /dev/null
+++ b/app-cdr/cdrdao/files/cdrdao-1.2.3-unsigned-char.patch
@@ -0,0 +1,42 @@
+https://bugs.gentoo.org/69344
+https://sourceforge.net/p/cdrdao/patches/26/
+
+patch by qbt937@gmail.com
+
+--- a/dao/CdrDriver.cc
++++ b/dao/CdrDriver.cc
+@@ -495,7 +495,7 @@
+ 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0
+ };
+
+-char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 };
++unsigned char CdrDriver::REMOTE_MSG_SYNC_[4] = { 0xff, 0x00, 0xff, 0x00 };
+
+
+ /* Maps a string to the corresponding driver option value
+--- a/dao/CdrDriver.h
++++ b/dao/CdrDriver.h
+@@ -440,7 +440,7 @@
+ bool fullBurn_;
+
+ static unsigned char syncPattern[12];
+- static char REMOTE_MSG_SYNC_[4];
++ unsigned static char REMOTE_MSG_SYNC_[4];
+
+ static int speed2Mult(int);
+ static int mult2Speed(int);
+--- a/xdao/CdDevice.cc
++++ b/xdao/CdDevice.cc
+@@ -255,10 +255,10 @@
+
+ bool CdDevice::updateProgress(Glib::IOCondition cond, int fd)
+ {
+- static char msgSync[4] = { 0xff, 0x00, 0xff, 0x00 };
++ unsigned static char msgSync[4] = { 0xff, 0x00, 0xff, 0x00 };
+ fd_set fds;
+ int state = 0;
+- char buf[10];
++ unsigned char buf[10];
+ struct timeval timeout = { 0, 0 };
+
+ if (process_ == NULL)