rem: for( remaining_data = sizeof(struct hand_struct); remaining_data > 0;)
add: for( remaining = sizeof(struct hand_struct); remaining > 0;)
context: void receive_and_update(hand_class *hand)	{	using namespace local_tcp_glove_ns;	static char         *hand_char_ptr = (char *)(new hand_struct);	static unsigned int  remaining;  // amount of data left to read	static unsigned int  amt_sent;  // temporary for amount left	for( remaining_data = sizeof(struct hand_struct); remaining_data > 0;)		{		if ( -1 == (amt_sent = recv(new_socket, &hand_char_ptr[sizeof(struct hand_struct)-remaining], remaining, 0)))			{cerr<<"failed to read"<<endl; break; }		remaining -= amt_sent;		}	hand->set_hand(*((hand_struct*)hand_char_ptr));	return;	}