why the variable was reset after if statements
print the following message:
recv len1: 122
recv len2: 0
R *r;
void on_recv(struct bufferevent *bev, void *arg)
{
    struct evbuffer *src;
    size_t len;
    src = bufferevent_get_input(bev);
    len = evbuffer_get_length(src);
    ......
    BaseHandler *handler = r->get_handler();
    char data[MAX_BUFSIZE] = { 0 };
    char new_data[MAX_BUFSIZE] = { 0 };
    evbuffer_copyout(src, data, len);
    LOGE("recv len1: %d\n", len);
    if (handler->handle(data, new_data)) {
        LOGE("recv len2: %d\n", len);
    }
    ......
}
 
     
    