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