49 return DRIZZLE_RETURN_INVALID_ARGUMENT;
54 drizzle_return_t ret= con->state_stack[con->state_current - 1](con);
55 if (ret != DRIZZLE_RETURN_OK)
57 if (ret != DRIZZLE_RETURN_IO_WAIT && ret != DRIZZLE_RETURN_PAUSE &&
58 ret != DRIZZLE_RETURN_ERROR_CODE)
60 drizzle_con_close(con);
67 return DRIZZLE_RETURN_OK;
70 drizzle_return_t drizzle_state_packet_read(drizzle_con_st *con)
74 return DRIZZLE_RETURN_INVALID_ARGUMENT;
79 if (con->buffer_size < 4)
82 return DRIZZLE_RETURN_OK;
85 con->packet_size= drizzle_get_byte3(con->buffer_ptr);
87 if (con->packet_number != con->buffer_ptr[3])
90 "bad packet number:%u:%u", con->packet_number,
92 return DRIZZLE_RETURN_BAD_PACKET_NUMBER;
96 con->packet_size, con->packet_number);
101 con->buffer_size-= 4;
104 return DRIZZLE_RETURN_OK;