示例#1
0
void
SOCK_put_int(SocketClass *self, int value, short len)
{
	unsigned int rv;
	unsigned short rsv;

	if (!self)
		return;
	switch (len)
	{
		case 2:
			rsv = htons((unsigned short) value);
			if (self->reverse)
				rsv = REVERSE_SHORT(rsv);
			SOCK_put_n_char(self, (char *) &rsv, 2);
			return;

		case 4:
			rv = htonl((unsigned int) value);
			if (self->reverse)
				rv = REVERSE_INT(rv);
			SOCK_put_n_char(self, (char *) &rv, 4);
			return;

		default:
			SOCK_set_error(self, SOCKET_PUT_INT_WRONG_LENGTH, "Cannot write ints of that length");
			return;
	}
}
示例#2
0
void 
SOCK_put_int(SocketClass *self, int value, short len)
{
unsigned int rv;

	switch (len) {
	case 2:
		rv = self->reverse ? value : htons( (unsigned short) value);
		SOCK_put_n_char(self, (char *) &rv, 2);
		return;

	case 4:
		rv = self->reverse ? value : htonl( (unsigned int) value);
		SOCK_put_n_char(self, (char *) &rv, 4);
		return;

	default:
		self->errornumber = SOCKET_PUT_INT_WRONG_LENGTH;
		self->errormsg = "Cannot write ints of that length";
		return;
	 }
}