Quick note: your syntax usage of sizeof is not 100% accurate.

Use 'sizeof(type)' with brackets but 'sizeof var' without.

BR,
Anselm


On 5 September 2016 at 00:08,  <[email protected]> wrote:
> commit 5ecd11fa3d42d7d474bf08c00e074eac52124d8f
> Author:     FRIGN <[email protected]>
> AuthorDate: Mon Sep 5 00:08:25 2016 +0200
> Commit:     FRIGN <[email protected]>
> CommitDate: Mon Sep 5 00:08:25 2016 +0200
>
>     Use sizeof() instead of magic constants
>
> diff --git a/quark.c b/quark.c
> index b42bba6..2c03271 100644
> --- a/quark.c
> +++ b/quark.c
> @@ -56,7 +56,6 @@ static char *statistr[] = {
>         [S_REQUEST_TOO_LARGE]     = "Request Header Fields Too Large",
>         [S_INTERNAL_SERVER_ERROR] = "Internal Server Error",
>         [S_VERSION_NOT_SUPPORTED] = "HTTP Version not supported",
> -
>  };
>
>  #undef MIN
> @@ -83,52 +82,52 @@ sendstatus(enum stati code, int fd, ...)
>         ssize_t ret;
>         long lower, upper, size;
>
> -       buflen = snprintf(buf, 4096, "HTTP/1.1 %d %s\r\n", code,
> +       buflen = snprintf(buf, sizeof(buf), "HTTP/1.1 %d %s\r\n", code,
>                           statistr[code]);
>
> -       buflen += snprintf(buf + buflen, 4096 - buflen, "Date: %s\r\n",
> -                          timestamp(0));
> +       buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
> +                          "Date: %s\r\n", timestamp(0));
>         va_start(ap, fd);
>         switch (code) {
>         case S_OK: /* arg-list: mime, size */
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "Content-Type: %s\r\n",
>                                    va_arg(ap, char *));
>                 if ((size = va_arg(ap, long)) >= 0) {
> -                       buflen += snprintf(buf + buflen, 4096 - buflen,
> +                       buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                            "Content-Length: %ld\r\n",
>                                            size);
>                 }
>                 break;
>         case S_PARTIAL_CONTENT: /* arg-list: mime, lower, upper, size */
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "Content-Type: %s\r\n",
>                                    va_arg(ap, char *));
>                 lower = va_arg(ap, long);
>                 upper = va_arg(ap, long);
>                 size = va_arg(ap, long);
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "Content-Range: bytes %ld-%ld/%ld\r\n",
>                                    lower, upper, size);
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "Content-Length: %ld\r\n",
>                                    (upper - lower) + 1);
>                 break;
>         case S_MOVED_PERMANENTLY: /* arg-list: host, url */
>                 if (!strcmp(port, "80")) {
> -                       buflen += snprintf(buf + buflen, 4096 - buflen,
> +                       buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                            "Location: http://%s%s\r\n";,
>                                            va_arg(ap, char *),
>                                            va_arg(ap, char *));
>                 } else {
> -                       buflen += snprintf(buf + buflen, 4096 - buflen,
> +                       buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                            "Location: http://%s:%s%s\r\n";,
>                                            va_arg(ap, char *), port,
>                                            va_arg(ap, char *));
>                 }
>                 break;
>         case S_METHOD_NOT_ALLOWED: /* arg-list: none */
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "Allow: GET\r\n");
>                 break;
>         default:
> @@ -136,20 +135,20 @@ sendstatus(enum stati code, int fd, ...)
>         }
>         va_end(ap);
>
> -       buflen += snprintf(buf + buflen, 4096 - buflen,
> +       buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                            "Connection: close\r\n");
>
>         if (code != S_OK && code != S_PARTIAL_CONTENT) {
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "Content-Type: text/html\r\n");
> -               buflen += snprintf(buf + buflen, 4096 - buflen,
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen,
>                                    "\r\n<!DOCTYPE html>\r\n<html>\r\n"
>                                    "\t<head><title>%d %s</title></head>"
>                                    "\r\n\t<body><h1>%d %s</h1></body>\r\n"
>                                    "</html>\r\n", code, statistr[code],
>                                    code, statistr[code]);
>         } else {
> -               buflen += snprintf(buf + buflen, 4096 - buflen, "\r\n");
> +               buflen += snprintf(buf + buflen, sizeof(buf) - buflen, 
> "\r\n");
>         }
>
>         for (written = 0; buflen > 0; written += ret, buflen -= ret) {
>

Reply via email to