- "SendingComplete"-Patch reverted => 2.0.8 was not binaer compartible

- Bugfix: capi20_register() with MaxB3Connection == 0 results in a
  core dump. Now at least one buffer is allocated.
This commit is contained in:
Carsten Paeth 2004-10-06 15:24:43 +00:00
parent af94f800dc
commit d5caba36f0
5 changed files with 15 additions and 13 deletions

View File

@ -9,7 +9,7 @@ lib_LTLIBRARIES = libcapi20.la
lib_LIBRARIES = libcapi20dyn.a
libcapi20_la_SOURCES = capi20.c capifunc.c convert.c
libcapi20_la_LDFLAGS = -version-info 2:8:0
libcapi20_la_LDFLAGS = -version-info 2:9:0
libcapi20_la_CFLAGS = -fno-strict-aliasing
libcapi20dyn_a_SOURCES = capidyn.c

View File

@ -2,6 +2,9 @@
* $Id$
*
* $Log$
* Revision 1.22 2004/06/14 11:23:48 calle
* Erweiterungen fuer ALERT_REQ.
*
* Revision 1.21 2004/03/31 18:12:40 calle
* - add receive buffer managment according to CAPI2.0 spec.
* - send buffer is now on stack.
@ -201,7 +204,7 @@ static struct applinfo *alloc_buffers(unsigned MaxB3Connection,
unsigned MaxSizeB3)
{
struct applinfo *ap;
unsigned nbufs = MaxB3Connection * (MaxB3Blks + 1);
unsigned nbufs = 1 + MaxB3Connection * (MaxB3Blks + 1);
size_t recvbuffersize = 128 + MaxSizeB3;
unsigned i;
size_t size;

View File

@ -2,6 +2,9 @@
* $Id$
*
* $Log$
* Revision 1.5 2004/06/14 11:23:48 calle
* Erweiterungen fuer ALERT_REQ.
*
* Revision 1.4 1999/09/10 17:20:33 calle
* Last changes for proposed standards (CAPI 2.0):
* - AK1-148 "Linux Extention"
@ -22,14 +25,12 @@ unsigned ALERT_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber,
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray,
_cstruct SendingComplete) {
_cstruct Facilitydataarray) {
capi_cmsg_header (cmsg,ApplId,0x01,0x80,Messagenumber,adr);
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
cmsg->SendingComplete = SendingComplete;
return capi_put_cmsg (cmsg);
}

View File

@ -218,7 +218,6 @@ typedef struct {
_cword Reason_B3;
_cword Reject;
_cstruct Useruserdata;
_cstruct SendingComplete;
unsigned char *Data;
/* intern */
@ -919,8 +918,7 @@ unsigned ALERT_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber
,_cstruct BChannelinformation
,_cstruct Keypadfacility
,_cstruct Useruserdata
,_cstruct Facilitydataarray
,_cstruct SendingComplete);
,_cstruct Facilitydataarra);
unsigned CONNECT_REQ (_cmsg *cmsg, _cword ApplId, _cword Messagenumber
,_cdword adr
,_cword CIPValue
@ -1099,15 +1097,13 @@ static inline void capi_fill_ALERT_REQ(_cmsg * cmsg, _cword ApplId, _cword Messa
_cstruct BChannelinformation,
_cstruct Keypadfacility,
_cstruct Useruserdata,
_cstruct Facilitydataarray,
_cstruct SendingComplete)
_cstruct Facilitydataarray)
{
capi_cmsg_header(cmsg, ApplId, 0x01, 0x80, Messagenumber, adr);
cmsg->BChannelinformation = BChannelinformation;
cmsg->Keypadfacility = Keypadfacility;
cmsg->Useruserdata = Useruserdata;
cmsg->Facilitydataarray = Facilitydataarray;
cmsg->SendingComplete = SendingComplete;
}
static inline void capi_fill_CONNECT_REQ(_cmsg * cmsg, _cword ApplId, _cword Messagenumber,

View File

@ -2,6 +2,9 @@
* $Id$
*
* $Log$
* Revision 1.12 2004/06/14 11:23:48 calle
* Erweiterungen fuer ALERT_REQ.
*
* Revision 1.11 2001/03/01 14:59:11 paul
* Various patches to fix errors when using the newest glibc,
* replaced use of insecure tempnam() function
@ -333,12 +336,11 @@ static _cdef cdef[] = {
/*2f*/{_CWORD, offsetof(_cmsg, Reject)},
/*30*/{_CSTRUCT, offsetof(_cmsg, Useruserdata)},
/*31*/{_CQWORD, offsetof(_cmsg, Data64)},
/*32*/{_CSTRUCT, offsetof(_cmsg, SendingComplete)},
};
static unsigned char *cpars[] = {
/*00*/ 0,
/*01 ALERT_REQ*/ (unsigned char*)"\x03\x04\x0c\x28\x30\x1c\x32\x01\x01",
/*01 ALERT_REQ*/ (unsigned char*)"\x03\x04\x0c\x28\x30\x1c\x01\x01",
/*02 CONNECT_REQ*/ (unsigned char*)"\x03\x14\x0e\x10\x0f\x11\x0d\x06\x08\x0a\x05\x07\x09\x01\x0b\x29\x23\x04\x0c\x28\x30\x1c\x01\x01",
/*03*/ 0,
/*04 DISCONNECT_REQ*/ (unsigned char*)"\x03\x04\x0c\x28\x30\x1c\x01\x01",