lws_write изменит буфер источника строки?

#c #libwebsockets

#c #libwebsockets

Вопрос:

Я попытался отправить данные с помощью lws_write, но обнаружил, что буфер был изменен, когда он возвращается.

 INFO("Now write head data %d",n);
lwsl_hexdump_notice(pstPosTmp->data, pstPosTmp->len);
n = lws_write(wsi,pstPosTmp->data   LWS_SEND_BUFFER_PRE_PADDING,pstPosTmp->len,LWS_WRITE_TEXT);
INFO("Now write payload data %d %p %s ",n,pstPosTmp->data,(char *)(pstPosTmp->data   LWS_SEND_BUFFER_PRE_PADDING));
lwsl_hexdump_notice(pstPosTmp->data, pstPosTmp->len);
  

дважды lwsl_hexdump_notice будет отображать разное содержимое.

Комментарии:

1. Заголовок протокола записывается в область PRE буфера — это задокументировано. Однако он не должен перезаписывать ваши данные.