miax: fix compilation errors under uClibc-ng and musl 582/head
authorRosen Penev <rosenp@gmail.com>
Sun, 30 Aug 2020 21:02:54 +0000 (14:02 -0700)
committerRosen Penev <rosenp@gmail.com>
Fri, 9 Oct 2020 09:34:21 +0000 (02:34 -0700)
usleep is deprecated. So are bcopy and bzero.

Added extra needed headers.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
net/miax/Makefile
net/miax/patches/010-usleep.patch [new file with mode: 0644]
net/miax/patches/020-includes.patch [new file with mode: 0644]

index d0fa026ab80a672fb0af79c3d17f64f0be7d5221..ec2893246f98bcfce8ae600791b6d1ca650d2978 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=miax
 PKG_VERSION:=1.4
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/miax
diff --git a/net/miax/patches/010-usleep.patch b/net/miax/patches/010-usleep.patch
new file mode 100644 (file)
index 0000000..fe45b2b
--- /dev/null
@@ -0,0 +1,24 @@
+--- a/modem.c
++++ b/modem.c
+@@ -76,10 +76,11 @@ int tty_modem(char* send, char *receive) {
+       
+       int l=0, in=0, out=0, timeout=10;
+       char tmp[4096];
++      struct timespec h = {0, 100 * 1000 * 1000};
+                
+       if (strlen(send)) {
+               while ((timeout--) > 0) {
+-                      usleep(100000);
++                      nanosleep(&h, NULL);
+                       ioctl(fd_modem,TIOCMGET,&out);
+                               if (out & TIOCM_CTS) {
+                               l=write(fd_modem,send,strlen(send));
+@@ -97,7 +98,7 @@ int tty_modem(char* send, char *receive) {
+                               strncat(receive,tmp,in); 
+                               if (strchr(receive,'\r')) { break; }
+                               }
+-                      else { usleep(100000); }
++                      else { nanosleep(&h, NULL); }
+                       }       
+               if (strlen(receive) > 0 && debug > 3) { fprintf(stderr, "%s\n", receive); }
+               
diff --git a/net/miax/patches/020-includes.patch b/net/miax/patches/020-includes.patch
new file mode 100644 (file)
index 0000000..4e667a2
--- /dev/null
@@ -0,0 +1,79 @@
+--- a/dtmf.c
++++ b/dtmf.c
+@@ -22,6 +22,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <math.h>
++#include <string.h>
+ #define RATE 8000
+ #define BLOCKLEN (RATE/100)
+--- a/iax/iax.c
++++ b/iax/iax.c
+@@ -344,7 +344,7 @@ static int iax_sched_event(struct iax_event *event, struct iax_frame *frame, int
+       sched = (struct iax_sched*)malloc(sizeof(struct iax_sched));
+       if (sched) {
+-              bzero(sched, sizeof(struct iax_sched));
++              memset(sched, 0, sizeof(struct iax_sched));
+               gettimeofday(&sched->when, NULL);
+               sched->when.tv_sec += (ms / 1000);
+               ms = ms % 1000;
+@@ -872,7 +872,7 @@ int iax_do_event(struct iax_session *session, struct iax_event *event)
+ #define MYSNPRINTF snprintf(requeststr + strlen(requeststr), sizeof(buf) - sizeof(struct ast_iax2_full_hdr) - strlen(requeststr), 
+-      bzero(buf, sizeof(buf));
++      memset(buf, 0, sizeof(buf));
+       /* Default some things in the frame */
+@@ -1523,7 +1523,7 @@ int iax_auth_reply(struct iax_session *session, char *password, char *challenge,
+               MD5Update(&md5, (const unsigned char *) challenge, strlen(challenge));
+               MD5Update(&md5, (const unsigned char *) password, strlen(password));
+               MD5Final((unsigned char *) reply, &md5);
+-              bzero(realreply, sizeof(realreply));
++              memset(realreply, 0, sizeof(realreply));
+               convert_reply(realreply, (unsigned char *) reply);
+               iax_ie_append_str(&ied, IAX_IE_MD5_RESULT, realreply);
+       } else {
+@@ -1546,7 +1546,7 @@ static int iax_regauth_reply(struct iax_session *session, char *password, char *
+               MD5Update(&md5, (const unsigned char *) challenge, strlen(challenge));
+               MD5Update(&md5, (const unsigned char *) password, strlen(password));
+               MD5Final((unsigned char *) reply, &md5);
+-              bzero(realreply, sizeof(realreply));
++              memset(realreply, 0, sizeof(realreply));
+               convert_reply(realreply, (unsigned char *) reply);
+               iax_ie_append_str(&ied, IAX_IE_MD5_RESULT, realreply);
+       } else {
+--- a/modem.c
++++ b/modem.c
+@@ -27,7 +27,7 @@
+ #include <string.h>
+ #include <unistd.h>
+ #include <sys/ioctl.h>
+-#include <unistd.h>
++#include <time.h>
+ static int baudrate=B9600, fd_modem, m_status=0;
+ extern int debug;
+@@ -50,7 +50,7 @@ int tty_modem_init(char *dev) {
+       char buf[4096];
+       struct termios newtio;
+   
+-      bzero(&newtio, sizeof(newtio));
++      memset(&newtio, 0, sizeof(newtio));
+       newtio.c_cflag = CRTSCTS | CS8 | CLOCAL | CREAD | O_NDELAY;
+       if ( fd_modem = open(dev, O_RDWR | O_NOCTTY | O_NONBLOCK) ) {
+               cfsetispeed(&newtio,baudrate);
+--- a/oss.c
++++ b/oss.c
+@@ -1,5 +1,8 @@
+ #include "iaxclient_lib.h"
+ #include <fcntl.h>
++#include <string.h>
++#include <unistd.h>
++#include <sys/ioctl.h>
+ #include <sys/soundcard.h>
+ #define RTP 320