Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 13 Jul 2007 12:40:38 +1100
From:      "Alexey Tarasov" <glorgster@gmail.com>
To:        "Hans Petter Selasky" <hselasky@c2i.net>
Cc:        Shteryana Shopova <syrinx@freebsd.org>, Perforce Change Reviews <perforce@freebsd.org>, "Constantine A. Murenin" <cnst@freebsd.org>
Subject:   Re: PERFORCE change 123376 for review
Message-ID:  <db2194de0707121840i2dc5de1fj614c7b4efad7b9d7@mail.gmail.com>
In-Reply-To: <200707121831.22913.hselasky@c2i.net>
References:  <200707121428.l6CESBSj045007@repoman.freebsd.org> <46965433.6050207@FreeBSD.org> <200707121831.22913.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
> http://perforce.freebsd.org/chv.cgi?CH=123376
>
> Change 123376 by taleks@taleks_th on 2007/07/12 14:27:18
>
> @@ -104,11 +107,11 @@
>       }
>
>       if ( (from == 0) && (size == 0) ) {
> -             sprintf(http_data, "GET /%s HTTP/1.1\r\nHost:
%s\r\nConnection: Close\r\n\r\n",
> +             sprintf(http_data, "GET /%s HTTP/1.1\r\nHost:
%s\r\nConnection: Close\r\nUser-Agent: pxe_http/0\r\n\r\n",
>                   filename, server_name
>               );
>       } else {
> -             sprintf(http_data, "GET /%s HTTP/1.1\r\nHost: %s\r\nRange:
%d-%d\r\nConnection: Close\r\n\r\n",
> +             sprintf(http_data, "GET /%s HTTP/1.1\r\nHost: %s\r\nRange:
bytes=%d-%d\r\nConnection: Close\r\nUser-Agent: pxe_http/0\r\n\r\n",
>                   filename, server_name, from, from + size
>               );
>       }

> You might want to change long lines like these to something as follows:
Ok, I'll make lines shorter.
I've not found strict rule in style(9) for ");" at the end of multiple lines
of parameters in function call, and thought my variant is more simple for
reading. Same intention is in using curly brackets in complex single
statement in if-else block. Well, it's not big problem, I may correct this
on next submits.

> And, don't use "sprintf". Use "snprintf" instead.
As for snprintf(), I'm also wanted to make it safer, but according to man
and header file - libstand have no such function. Same for strnstr().
I'm thinking about skipping sprintf() with many parameters while generating
header and writing directly to socket, in such case will be more function
calls and checks, but only  one of them (Range field, that always has
predictable size smaller then default buffer size) will use sprintf().

Best regards,
Alexey



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?db2194de0707121840i2dc5de1fj614c7b4efad7b9d7>