diff options
Diffstat (limited to '')
-rw-r--r-- | src/tests/multiserver.cpp | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/tests/multiserver.cpp b/src/tests/multiserver.cpp index 22ce94b..85971b5 100644 --- a/src/tests/multiserver.cpp +++ b/src/tests/multiserver.cpp | |||
@@ -19,8 +19,12 @@ public: | |||
19 | 19 | ||
20 | virtual void onNewData( Bu::Client *pClient ) | 20 | virtual void onNewData( Bu::Client *pClient ) |
21 | { | 21 | { |
22 | pClient->write( pClient->getInput() ); | 22 | char buf[1024]; |
23 | pClient->seek( pClient->getInputSize() ); | 23 | while( pClient->hasInput() ) |
24 | { | ||
25 | int iAmnt = pClient->read( buf, 1024 ); | ||
26 | pClient->write( buf, iAmnt ); | ||
27 | } | ||
24 | } | 28 | } |
25 | }; | 29 | }; |
26 | 30 | ||
@@ -34,20 +38,23 @@ public: | |||
34 | 38 | ||
35 | virtual void onNewData( Bu::Client *pClient ) | 39 | virtual void onNewData( Bu::Client *pClient ) |
36 | { | 40 | { |
37 | Bu::FString sTmp = pClient->getInput(); | 41 | while( pClient->hasInput() ) |
38 | for( int j = 0; j < sTmp.getSize(); j++ ) | ||
39 | { | 42 | { |
40 | if( sTmp[j] >= 'a' && sTmp[j] <= 'z' ) | 43 | char sTmp[1024]; |
41 | { | 44 | int iAmnt = pClient->read( sTmp, 1024 ); |
42 | sTmp[j] = ((sTmp[j]-'a'+13)%26) + 'a'; | 45 | for( int j = 0; j < iAmnt; j++ ) |
43 | } | ||
44 | else if( sTmp[j] >= 'A' && sTmp[j] <= 'Z' ) | ||
45 | { | 46 | { |
46 | sTmp[j] = ((sTmp[j]-'A'+13)%26) + 'A'; | 47 | if( sTmp[j] >= 'a' && sTmp[j] <= 'z' ) |
48 | { | ||
49 | sTmp[j] = ((sTmp[j]-'a'+13)%26) + 'a'; | ||
50 | } | ||
51 | else if( sTmp[j] >= 'A' && sTmp[j] <= 'Z' ) | ||
52 | { | ||
53 | sTmp[j] = ((sTmp[j]-'A'+13)%26) + 'A'; | ||
54 | } | ||
47 | } | 55 | } |
56 | pClient->write( sTmp, iAmnt ); | ||
48 | } | 57 | } |
49 | pClient->write( sTmp ); | ||
50 | pClient->seek( pClient->getInputSize() ); | ||
51 | } | 58 | } |
52 | }; | 59 | }; |
53 | 60 | ||