FS-4338 gsmopen: added patch to compile in FreeBSD
This commit is contained in:
parent
a6068d25fe
commit
648ce206c6
|
@ -0,0 +1,9 @@
|
|||
This patch (updated to be applied today) was sent via Jira by royj@yandex.ru, with Jira issue FS-4338.
|
||||
|
||||
Apply in this way:
|
||||
# patch -p6 < FREEBSD_patch.diff
|
||||
|
||||
I have not tested it, but it works for him.
|
||||
Please open another Jira issue if anything wrong.
|
||||
|
||||
-giovanni
|
|
@ -0,0 +1,171 @@
|
|||
diff --git a/src/mod/endpoints/mod_gsmopen/Makefile b/src/mod/endpoints/mod_gsmopen/Makefile
|
||||
index 18943c8..5324c52 100644
|
||||
--- a/src/mod/endpoints/mod_gsmopen/Makefile
|
||||
+++ b/src/mod/endpoints/mod_gsmopen/Makefile
|
||||
@@ -1,5 +1,5 @@
|
||||
MODNAME=mod_gsmopen
|
||||
-LOCAL_CFLAGS += -I../../../../libs/spandsp/src -I../../../..//libs/tiff-4.0.2/libtiff -DGSMOPEN_C_VER=\"`git log -1 --format="%h" gsmopen_protocol.cpp`\" -DMODGSMOPEN_C_VER=\"`git log -1 --format="%h" mod_gsmopen.cpp`\"
|
||||
+LOCAL_CFLAGS += -I/usr/local/include -I../../../../libs/spandsp/src -I../../../..//libs/tiff-4.0.2/libtiff -DGSMOPEN_C_VER=\"`git log -1 --format="%h" gsmopen_protocol.cpp`\" -DMODGSMOPEN_C_VER=\"`git log -1 --format="%h" mod_gsmopen.cpp`\"
|
||||
LOCAL_LDFLAGS=-L../../../../libs/spandsp/src -lspandsp -lctb-0.16 -lgsmme
|
||||
LOCAL_OBJS=gsmopen_protocol.o
|
||||
include ../../../../build/modmake.rules
|
||||
diff --git a/src/mod/endpoints/mod_gsmopen/gsmopen_protocol.cpp b/src/mod/endpoints/mod_gsmopen/gsmopen_protocol.cpp
|
||||
index 5bdda08..73ef93d 100644
|
||||
--- a/src/mod/endpoints/mod_gsmopen/gsmopen_protocol.cpp
|
||||
+++ b/src/mod/endpoints/mod_gsmopen/gsmopen_protocol.cpp
|
||||
@@ -2356,7 +2356,7 @@ int ucs2_to_utf8(private_t *tech_pvt, char *ucs2_in, char *utf8_out, size_t outb
|
||||
iconv_t iconv_format;
|
||||
int iconv_res;
|
||||
char *outbuf;
|
||||
- char *inbuf;
|
||||
+ //char *inbuf;
|
||||
size_t inbytesleft;
|
||||
int c;
|
||||
char stringa[5];
|
||||
@@ -2376,9 +2376,10 @@ int ucs2_to_utf8(private_t *tech_pvt, char *ucs2_in, char *utf8_out, size_t outb
|
||||
}
|
||||
|
||||
outbuf = utf8_out;
|
||||
- inbuf = converted;
|
||||
+ const char *inbuf = converted;
|
||||
|
||||
- iconv_format = iconv_open("UTF8", "UCS-2BE");
|
||||
+ //iconv_format = iconv_open("UTF8", "UCS-2BE");
|
||||
+ iconv_format = iconv_open("UTF-8", "UCS-2BE");
|
||||
//iconv_format = iconv_open("UTF8", "UCS2");
|
||||
if (iconv_format == (iconv_t) -1) {
|
||||
ERRORA("error: %s\n", GSMOPEN_P_LOG, strerror(errno));
|
||||
@@ -2417,12 +2418,12 @@ int utf8_to_iso_8859_1(private_t *tech_pvt, char *utf8_in, size_t inbytesleft, c
|
||||
iconv_t iconv_format;
|
||||
int iconv_res;
|
||||
char *outbuf;
|
||||
- char *inbuf;
|
||||
+ //char *inbuf;
|
||||
|
||||
outbuf = iso_8859_1_out;
|
||||
- inbuf = utf8_in;
|
||||
+ const char *inbuf = utf8_in;
|
||||
|
||||
- iconv_format = iconv_open("ISO_8859-1", "UTF8");
|
||||
+ iconv_format = iconv_open("ISO_8859-1", "UTF-8");
|
||||
if (iconv_format == (iconv_t) -1) {
|
||||
ERRORA("error: %s\n", GSMOPEN_P_LOG, strerror(errno));
|
||||
return -1;
|
||||
@@ -2467,7 +2468,7 @@ int iso_8859_1_to_utf8(private_t *tech_pvt, char *iso_8859_1_in, char *utf8_out,
|
||||
iconv_t iconv_format;
|
||||
int iconv_res;
|
||||
char *outbuf;
|
||||
- char *inbuf;
|
||||
+ //char *inbuf;
|
||||
size_t inbytesleft;
|
||||
//int c;
|
||||
//char stringa[5];
|
||||
@@ -2477,9 +2478,9 @@ int iso_8859_1_to_utf8(private_t *tech_pvt, char *iso_8859_1_in, char *utf8_out,
|
||||
DEBUGA_GSMOPEN("iso_8859_1_in=%s\n", GSMOPEN_P_LOG, iso_8859_1_in);
|
||||
|
||||
outbuf = utf8_out;
|
||||
- inbuf = iso_8859_1_in;
|
||||
+ const char *inbuf = iso_8859_1_in;
|
||||
|
||||
- iconv_format = iconv_open("UTF8", "ISO_8859-1");
|
||||
+ iconv_format = iconv_open("UTF-8", "ISO_8859-1");
|
||||
if (iconv_format == (iconv_t) -1) {
|
||||
ERRORA("error: %s\n", GSMOPEN_P_LOG, strerror(errno));
|
||||
return -1;
|
||||
@@ -2514,7 +2515,7 @@ int utf8_to_ucs2(private_t *tech_pvt, char *utf8_in, size_t inbytesleft, char *u
|
||||
iconv_t iconv_format;
|
||||
int iconv_res;
|
||||
char *outbuf;
|
||||
- char *inbuf;
|
||||
+ //char *inbuf;
|
||||
char converted[16000];
|
||||
int i;
|
||||
char stringa[16];
|
||||
@@ -2523,9 +2524,9 @@ int utf8_to_ucs2(private_t *tech_pvt, char *utf8_in, size_t inbytesleft, char *u
|
||||
memset(converted, '\0', sizeof(converted));
|
||||
|
||||
outbuf = converted;
|
||||
- inbuf = utf8_in;
|
||||
+ const char *inbuf = utf8_in;
|
||||
|
||||
- iconv_format = iconv_open("UCS-2BE", "UTF8");
|
||||
+ iconv_format = iconv_open("UCS-2BE", "UTF-8");
|
||||
if (iconv_format == (iconv_t) -1) {
|
||||
ERRORA("error: %s\n", GSMOPEN_P_LOG, strerror(errno));
|
||||
return -1;
|
||||
diff --git a/src/mod/endpoints/mod_gsmopen/libctb-0.16/include/ctb-0.16/linux/serport.h b/src/mod/endpoints/mod_gsmopen/libctb-0.16/include/ctb-0.16/linux/serport.h
|
||||
index d88528b..f8851cc 100644
|
||||
--- a/src/mod/endpoints/mod_gsmopen/libctb-0.16/include/ctb-0.16/linux/serport.h
|
||||
+++ b/src/mod/endpoints/mod_gsmopen/libctb-0.16/include/ctb-0.16/linux/serport.h
|
||||
@@ -10,7 +10,7 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "ctb-0.16/serportx.h"
|
||||
-#include <linux/serial.h>
|
||||
+//#include <linux/serial.h>
|
||||
#include <termios.h>
|
||||
|
||||
namespace ctb {
|
||||
@@ -40,7 +40,7 @@ namespace ctb {
|
||||
need the errors during a active connection, we must save the actual
|
||||
error numbers in this separate structurs.
|
||||
*/
|
||||
- struct serial_icounter_struct save_info, last_info;
|
||||
+ //struct serial_icounter_struct save_info, last_info;
|
||||
|
||||
/*!
|
||||
\brief adaptor member function, to convert the plattform independent
|
||||
diff --git a/src/mod/endpoints/mod_gsmopen/libctb-0.16/src/linux/serport.cpp b/src/mod/endpoints/mod_gsmopen/libctb-0.16/src/linux/serport.cpp
|
||||
index a369abc..d190567 100644
|
||||
--- a/src/mod/endpoints/mod_gsmopen/libctb-0.16/src/linux/serport.cpp
|
||||
+++ b/src/mod/endpoints/mod_gsmopen/libctb-0.16/src/linux/serport.cpp
|
||||
@@ -136,7 +136,7 @@ namespace ctb {
|
||||
//
|
||||
int SerialPort::Ioctl(int cmd, void* args)
|
||||
{
|
||||
- int count = 0;
|
||||
+ /* int count = 0;
|
||||
int err = 0;
|
||||
struct serial_icounter_struct info;
|
||||
SerialPort_EINFO einfo;
|
||||
@@ -184,7 +184,8 @@ namespace ctb {
|
||||
return -1;
|
||||
}
|
||||
last_info = info;
|
||||
- return 0;
|
||||
+ return 0;*/
|
||||
+ return -1;
|
||||
};
|
||||
|
||||
int SerialPort::IsOpen()
|
||||
@@ -292,9 +293,9 @@ namespace ctb {
|
||||
// request the actual numbers of breaks, framing, overrun
|
||||
// and parity errors (because Linux summing all of them during
|
||||
// system lifetime, not only while serial port is open.
|
||||
- ioctl(fd,TIOCGICOUNT,&save_info);
|
||||
+ //ioctl(fd,TIOCGICOUNT,&save_info);
|
||||
// it's also careless, but we assume, that there was no error
|
||||
- last_info = save_info;
|
||||
+ //last_info = save_info;
|
||||
|
||||
// in case of a non-standard rate, the termios struct have to set
|
||||
// with the B38400 rate, see above!
|
||||
@@ -359,7 +360,7 @@ namespace ctb {
|
||||
|
||||
int SerialPort::SetBaudrateAny( int baudrate )
|
||||
{
|
||||
- struct serial_struct ser_info;
|
||||
+ /* struct serial_struct ser_info;
|
||||
|
||||
int result = ioctl( fd, TIOCGSERIAL, &ser_info );
|
||||
|
||||
@@ -369,7 +370,8 @@ namespace ctb {
|
||||
|
||||
result = ioctl( fd, TIOCSSERIAL, &ser_info );
|
||||
|
||||
- return result;
|
||||
+ return result;*/
|
||||
+ return -1;
|
||||
}
|
||||
|
||||
int SerialPort::SetBaudrateStandard( int baudrate )
|
Loading…
Reference in New Issue