os: Hide the Connection{In,Out}put implementation details
Reviewed-by: Daniel Stone <daniel@fooishbar.org> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
78fa121f40
commit
48e7a2ef57
@ -1030,7 +1030,7 @@ CloseDownConnection(ClientPtr client)
|
||||
if (FlushCallback)
|
||||
CallCallbacks(&FlushCallback, NULL);
|
||||
|
||||
if (oc->output && oc->output->count)
|
||||
if (oc->output)
|
||||
FlushClient(client, oc, (char *)NULL, 0);
|
||||
#ifdef XDMCP
|
||||
XdmcpCloseDisplay(oc->fd);
|
||||
|
19
os/io.c
19
os/io.c
@ -84,6 +84,23 @@ SOFTWARE.
|
||||
CallbackListPtr ReplyCallback;
|
||||
CallbackListPtr FlushCallback;
|
||||
|
||||
typedef struct _connectionInput {
|
||||
struct _connectionInput *next;
|
||||
char *buffer; /* contains current client input */
|
||||
char *bufptr; /* pointer to current start of data */
|
||||
int bufcnt; /* count of bytes in buffer */
|
||||
int lenLastReq;
|
||||
int size;
|
||||
unsigned int ignoreBytes; /* bytes to ignore before the next request */
|
||||
} ConnectionInput, *ConnectionInputPtr;
|
||||
|
||||
typedef struct _connectionOutput {
|
||||
struct _connectionOutput *next;
|
||||
unsigned char *buf;
|
||||
int size;
|
||||
int count;
|
||||
} ConnectionOutput, *ConnectionOutputPtr;
|
||||
|
||||
static ConnectionInputPtr AllocateInputBuffer(void);
|
||||
static ConnectionOutputPtr AllocateOutputBuffer(void);
|
||||
|
||||
@ -889,7 +906,7 @@ FlushClient(ClientPtr who, OsCommPtr oc, const void *__extraBuf, int extraCount)
|
||||
long notWritten;
|
||||
long todo;
|
||||
|
||||
if (!oco)
|
||||
if (!oco || !oco->count)
|
||||
return 0;
|
||||
written = 0;
|
||||
padsize = padlength[extraCount & 3];
|
||||
|
18
os/osdep.h
18
os/osdep.h
@ -112,22 +112,8 @@ typedef Bool (*AddAuthorFunc)(unsigned name_length, const char *name,
|
||||
unsigned data_length, char *data);
|
||||
#endif
|
||||
|
||||
typedef struct _connectionInput {
|
||||
struct _connectionInput *next;
|
||||
char *buffer; /* contains current client input */
|
||||
char *bufptr; /* pointer to current start of data */
|
||||
int bufcnt; /* count of bytes in buffer */
|
||||
int lenLastReq;
|
||||
int size;
|
||||
unsigned int ignoreBytes; /* bytes to ignore before the next request */
|
||||
} ConnectionInput, *ConnectionInputPtr;
|
||||
|
||||
typedef struct _connectionOutput {
|
||||
struct _connectionOutput *next;
|
||||
unsigned char *buf;
|
||||
int size;
|
||||
int count;
|
||||
} ConnectionOutput, *ConnectionOutputPtr;
|
||||
typedef struct _connectionInput *ConnectionInputPtr;
|
||||
typedef struct _connectionOutput *ConnectionOutputPtr;
|
||||
|
||||
struct _osComm;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user