diff --git a/mongoose.c b/mongoose.c index 8b680df6..b956826d 100644 --- a/mongoose.c +++ b/mongoose.c @@ -4103,9 +4103,9 @@ static void read_websocket(struct mg_connection *conn) { // Exit the loop if callback signalled to exit, // or "connection close" opcode received. - if ((conn->ctx->callbacks.websocket_data != NULL && - !conn->ctx->callbacks.websocket_data(conn, bits, data, data_len)) || - (bits & 0xf) == 8) { // Opcode == 8, connection close + if ((bits & WEBSOCKET_OPCODE_CONNECTION_CLOSE) || + (conn->ctx->callbacks.websocket_data != NULL && + !conn->ctx->callbacks.websocket_data(conn, bits, data, data_len))) { stop = 1; }