projects
/
tedtools.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
89a9787
)
Clean up code
author
teodor
<teodor>
Thu, 30 Sep 2004 10:58:24 +0000
(10:58 +0000)
committer
teodor
<teodor>
Thu, 30 Sep 2004 10:58:24 +0000
(10:58 +0000)
tcp.c
patch
|
blob
|
history
diff --git
a/tcp.c
b/tcp.c
index
df10a46
..
d65060c
100644
(file)
--- a/
tcp.c
+++ b/
tcp.c
@@
-157,6
+157,8
@@
TC_Connection *
TC_fillConnection(TC_Connection *sc, char *name, u_int32_t port) {
if ( !sc )
sc = (TC_Connection *)t0malloc(sizeof(TC_Connection));
TC_fillConnection(TC_Connection *sc, char *name, u_int32_t port) {
if ( !sc )
sc = (TC_Connection *)t0malloc(sizeof(TC_Connection));
+ else
+ memset(sc, 0, sizeof(TC_Connection));
sc->serv_addr.sin_family = AF_INET;
sc->serv_addr.sin_addr.s_addr = (name) ? inet_addr(name) : htonl(INADDR_ANY);
sc->serv_addr.sin_port = htons(port);
sc->serv_addr.sin_family = AF_INET;
sc->serv_addr.sin_addr.s_addr = (name) ? inet_addr(name) : htonl(INADDR_ANY);
sc->serv_addr.sin_port = htons(port);
@@
-423,18
+425,20
@@
TC_FreeConnection( TC_Connection *cs ) {
u_int32_t
TC_Talk( TC_Connection *cs ) {
u_int32_t
TC_Talk( TC_Connection *cs ) {
- u_int32_t ret = TC_ServerInitConnect( cs );
+ if ( cs->state==CS_NOTINITED )
+ TC_ServerInitConnect( cs );
- while( ret == CS_INPROCESS ) {
- ret = TC_ServerConnect(cs, 100);
- }
+ while( cs->state == CS_INPROCESS )
+ TC_ServerConnect(cs, 100);
- if (
ret
!= CS_CONNECTED )
- return
ret
;
+ if (
cs->state
!= CS_CONNECTED )
+ return
cs->state
;
- while( ret != CS_FINISHSEND ) {
- ret = TC_Send(cs);
- if ( ret == CS_ERROR ) return ret;
+ cs->state = CS_SEND;
+ cs->ptr = cs->buf;
+ while( cs->state != CS_FINISHSEND ) {
+ while( !TC_ReadyIO( &cs, 1, 100) );
+ if ( TC_Send(cs) == CS_ERROR ) return CS_ERROR;
}
cs->state = CS_READ;
}
cs->state = CS_READ;