| 1163 | } |
| 1164 | |
| 1165 | void NetConnection::unpackString(BitStream *stream, char readBuffer[1024]) |
| 1166 | { |
| 1167 | U32 code = stream->readInt(2); |
| 1168 | switch(code) |
| 1169 | { |
| 1170 | case NullString: |
| 1171 | readBuffer[0] = 0; |
| 1172 | return; |
| 1173 | case CString: |
| 1174 | { |
| 1175 | stream->readString(readBuffer); |
| 1176 | return; |
| 1177 | } |
| 1178 | case TagString: |
| 1179 | U32 tag; |
| 1180 | tag = stream->readInt(ConnectionStringTable::EntryBitSize); |
| 1181 | readBuffer[0] = StringTagPrefixByte; |
| 1182 | dSprintf(readBuffer+1, 1023, "%d", tag); |
| 1183 | return; |
| 1184 | case Integer: |
| 1185 | bool neg; |
| 1186 | neg = stream->readFlag(); |
| 1187 | S32 num; |
| 1188 | if(stream->readFlag()) |
| 1189 | num = stream->readInt(7); |
| 1190 | else if(stream->readFlag()) |
| 1191 | num = stream->readInt(15); |
| 1192 | else |
| 1193 | num = stream->readInt(31); |
| 1194 | if(neg) |
| 1195 | num = -num; |
| 1196 | dSprintf(readBuffer, 1024, "%d", num); |
| 1197 | } |
| 1198 | } |
| 1199 | |
| 1200 | void NetConnection::packNetStringHandleU(BitStream *stream, NetStringHandle &h) |
| 1201 | { |
no test coverage detected