<div dir="ltr">Hi Silas,<div>Thanks for your answer.</div><div>The point you highlighted seems the origin of my problem.</div><div>I was aware about that and don't know why I didn't add this terminator.</div><div>Thanks again</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Nov 18, 2019 at 12:07 PM Silas Parker <<a href="mailto:skyhisi%2Blibwebsockets@gmail.com">skyhisi+libwebsockets@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">It looks like you're missing the terminating protocol.<br>
The docs say "The list is ended with an entry that has a NULL callback pointer"<br>
So you need to add an additional entry to your list so it doesn't run<br>
off into memory.<br>
_protocols.push_back({nullptr,nullptr,0,0,0,nullptr});<br>
<br>
Thanks,<br>
Silas<br>
<br>
On Mon, 18 Nov 2019 at 11:02, Gilles Printemps <<a href="mailto:gprintemps@gmail.com" target="_blank">gprintemps@gmail.com</a>> wrote:<br>
><br>
> Hi,<br>
> When I'm executing the following example (using libwebsockets 3.2.0), I got the following output through the logs<br>
>   "Creating Vhost 'default' port 9000, 5 protocols, IPv6 off"<br>
> Can someone explain why "5 protocols" are returned?<br>
> BR<br>
><br>
><br>
> #include <vector><br>
> #include <libwebsockets.h><br>
><br>
> static int WSCallback(struct lws *wsi,enum lws_callback_reasons reason,void *session,void *data,size_t len) {}<br>
><br>
> int main(int argc, char* argv[]) {<br>
>   lws_set_log_level(12,NULL);<br>
>   std::vector<lws_protocols> _protocols;<br>
>   _protocols.push_back({"ZWave",WSCallback,128,128,0,nullptr});<br>
><br>
>   struct lws_context *context=NULL;<br>
>   struct lws_context_creation_info info;<br>
>   memset(&info, 0, sizeof info);<br>
>   info.port = 9000;<br>
>   info.protocols = _protocols.data();<br>
>   info.gid = -1;<br>
>   info.uid = -1;<br>
>   info.options = 0;<br>
>   context=lws_create_context(&info);<br>
><br>
>   if (context==NULL) {<br>
>     printf("libwebsocket init failed\n");<br>
>     return -1;<br>
>   }<br>
><br>
>   lws_context_destroy(context);<br>
> }<br>
> _______________________________________________<br>
> Libwebsockets mailing list<br>
> <a href="mailto:Libwebsockets@ml.libwebsockets.org" target="_blank">Libwebsockets@ml.libwebsockets.org</a><br>
> <a href="https://libwebsockets.org/mailman/listinfo/libwebsockets" rel="noreferrer" target="_blank">https://libwebsockets.org/mailman/listinfo/libwebsockets</a><br>
</blockquote></div>