<p>Good to know; thanks!</p>
<p>Mike Gagnon</p>
<div class="gmail_quote">On Apr 10, 2012 7:54 AM, "Piotr Sikora" <<a href="mailto:piotr.sikora@frickle.com">piotr.sikora@frickle.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am getting unexpected results from ngx_snprintf in the following statement:<br>
<br>
        ngx_snprintf((u_char *) buf, sizeof(buf), "%s\n",<br>
peer->peer_config->name.data);<br>
<br>
with peer->peer_config->name.data == "<a href="http://127.0.0.1:9000" target="_blank">127.0.0.1:9000</a>\0".<br>
<br>
I expect ngx_snprintf to yield buf == "<a href="http://127.0.0.1:9000" target="_blank">127.0.0.1:9000</a>\n\0", but<br>
instead it yields buf == "<a href="http://127.0.0.1:9000" target="_blank">127.0.0.1:9000</a>\n\bf\0" (I was not expecting<br>
that '\bf' character to be inserted there.)<br>
<br>
When I change ngx_snprintf to just snprintf, it works as expected.<br>
</blockquote>
<br>
ngx_snprintf isn't snprintf-equivalent (I was burned by this once myself), it doesn't add trailing '\0' and the "\bf\0" you're seeing is just the data that was in the buffer before.<br>
<br>
You should either add "%Z" ('\0') to the format string or explicitly set '\0' yourself after ngx_snprintf() call.<br>
<br>
Best regards,<br>
Piotr Sikora < <a href="mailto:piotr.sikora@frickle.com" target="_blank">piotr.sikora@frickle.com</a> ><br>
<br>
______________________________<u></u>_________________<br>
nginx-devel mailing list<br>
<a href="mailto:nginx-devel@nginx.org" target="_blank">nginx-devel@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx-devel" target="_blank">http://mailman.nginx.org/<u></u>mailman/listinfo/nginx-devel</a><br>
</blockquote></div>