| 705 | endPtr += 4; |
| 706 | beginPtr = (char*)malloc(totalLen); |
| 707 | memcpy(beginPtr, endPtr, ptr - endPtr); |
| 708 | ptr = beginPtr + (ptr - endPtr); |
| 709 | endPtr = beginPtr + totalLen; |
| 710 | left = endPtr - ptr; |
| 711 | |
| 712 | // read the rest of data: |
| 713 | errCounter = 12; |
| 714 | do |
| 715 | { |
| 716 | ti.tv_sec = 5; |
| 717 | ti.tv_usec = 0; // are 5 seconds enough? |
| 718 | FD_ZERO(&mask); |
| 719 | FD_SET(sock, &mask); |
| 720 | if (!select(sock + 1, &mask, nullptr, nullptr, &ti)) |
| 721 | { |