aboutsummaryrefslogtreecommitdiffstats
path: root/main/asterisk/fix-strerror_r.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/asterisk/fix-strerror_r.patch')
-rw-r--r--main/asterisk/fix-strerror_r.patch72
1 files changed, 0 insertions, 72 deletions
diff --git a/main/asterisk/fix-strerror_r.patch b/main/asterisk/fix-strerror_r.patch
deleted file mode 100644
index 97894309bd..0000000000
--- a/main/asterisk/fix-strerror_r.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 3d7089121731a1122e1306e631adaf5004ac323c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Fri, 11 Nov 2016 08:29:40 +0200
-Subject: [PATCH] addons/chan_mobile: do not use strerror_r
-
-The two reasons why it might be used are that some systems do not
-implement strerror in thread safe manner, and that strerror_r returns
-the error code in the string in case there's no error message.
-
-However, all of asterisk elsewhere uses strerror() and assumes it
-to be thread safe. And in chan_mobile the errno is also explicitly
-printed so neither of the above reasons are valid.
-
-The reasoning to remove usage is that there are actually two versions
-of strerror_r: XSI and GNU. They are incompatible in their return
-value, and there's no easy way to figure out which one is being
-used. glibc gives you the GNU version if _GNU_SOURCE is defined,
-but the same feature test macro is needed for other symbols. On
-all other systems you assumedly get XSI symbol, and compilation warnings
-as well as non-working error printing.
-
-Thus the easiest solution is to just remove strerror_r and use
-strerror as rest of the code. Alternative is to introduce ast_strerror
-in separate translation unit so it can request the XSI symbol in
-glibc case, and replace all usage of strerror.
-
-Change-Id: I84d35225b5642d85d48bc35fdf399afbae28a91d
----
- addons/chan_mobile.c | 13 +++----------
- 1 file changed, 3 insertions(+), 10 deletions(-)
-
-diff --git a/addons/chan_mobile.c b/addons/chan_mobile.c
-index 64d53b7..8d13c96 100644
---- a/addons/chan_mobile.c
-+++ b/addons/chan_mobile.c
-@@ -3855,10 +3855,7 @@ static void *do_monitor_phone(void *data)
- }
-
- if ((at_msg = at_read_full(hfp->rsock, buf, sizeof(buf))) < 0) {
-- /* XXX gnu specific strerror_r is assummed here, this
-- * is not really safe. See the strerror(3) man page
-- * for more info. */
-- ast_debug(1, "[%s] error reading from device: %s (%d)\n", pvt->id, strerror_r(errno, buf, sizeof(buf)), errno);
-+ ast_debug(1, "[%s] error reading from device: %s (%d)\n", pvt->id, strerror(errno), errno);
- break;
- }
-
-@@ -3995,7 +3992,7 @@ static void *do_monitor_phone(void *data)
- ast_debug(1, "[%s] error parsing message\n", pvt->id);
- goto e_cleanup;
- case AT_READ_ERROR:
-- ast_debug(1, "[%s] error reading from device: %s (%d)\n", pvt->id, strerror_r(errno, buf, sizeof(buf)), errno);
-+ ast_debug(1, "[%s] error reading from device: %s (%d)\n", pvt->id, strerror(errno), errno);
- goto e_cleanup;
- default:
- break;
-@@ -4073,11 +4070,7 @@ static void *do_monitor_headset(void *data)
- continue;
-
- if ((at_msg = at_read_full(pvt->rfcomm_socket, buf, sizeof(buf))) < 0) {
-- if (strerror_r(errno, buf, sizeof(buf)))
-- ast_debug(1, "[%s] error reading from device\n", pvt->id);
-- else
-- ast_debug(1, "[%s] error reading from device: %s (%d)\n", pvt->id, buf, errno);
--
-+ ast_debug(1, "[%s] error reading from device: %s (%d)\n", pvt->id, strerror(errno), errno);
- goto e_cleanup;
- }
- ast_debug(1, "[%s] %s\n", pvt->id, buf);
---
-2.10.2
-