On Sat, May 23, 2009 at 01:04:25PM +0200, Florian Forster wrote:
> From: Florian Forster <o...@leeloo.lan.home.verplant.org>
> 
> The `FETCH' command can be used to execute a `rrd_fetch_r' on the server
> and will return the data via the network connection.

> +static int handle_request_fetch (listen_socket_t *sock, /* {{{ */
> +    char *buffer, size_t buffer_size)

For all handler functions, we should use HANDLER_PROTO in the
declaration.  See the other handlers.

>   * Authors:
>   *   Florian octo Forster <octo at verplant.org>
> - *   kevin brintnall <kbr...@rufus.net>
> + *   Kevin Brintnall <kbrint at rufus.net>

Please leave as-is.

> +static int handle_request_fetch (listen_socket_t *sock, /* {{{ */
> +    char *buffer, size_t buffer_size)
> +{
>
> ...
>
> +  status = flush_file (file);

Maybe we should check the start/end times, compared to the
cache_item->last_flush_time.  When calling "FETCH" on really old values,
flush would be unnecessary.  Can we do it without knowing each file's rrd
step value?

> +#define SSTRCAT(buffer,str,buffer_fill) do { \
> +    size_t str_len = strlen (str); \
> +    if ((buffer_fill + str_len) > sizeof (buffer)) \
> +      str_len = sizeof (buffer) - buffer_fill; \
> + ...

Why not strlcat?

> +    for (i = 0; i < ds_cnt; i++)
> +    {
> +      snprintf (tmp, sizeof (tmp), " %0.10e", *data_ptr);
> +      tmp[sizeof (tmp) - 1] = 0;

snprintf always NULL terminates, the tmp[]=0 is superfluous.

Docs patch for the "FLUSH" command?

-- 
 kevin brintnall =~ /kbr...@rufus.net/

_______________________________________________
rrd-developers mailing list
rrd-developers@lists.oetiker.ch
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

Reply via email to