Avoid unnecessary string handling for UPDATE commands in rrd_deaemon for 20x
authoroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 28 Oct 2009 05:14:03 +0000 (05:14 +0000)
committeroetiker <oetiker@a5681a0c-68f1-0310-ab6d-d61299d08faa>
Wed, 28 Oct 2009 05:14:03 +0000 (05:14 +0000)
speed increasse. Only copy as many bytes as necessary. During journal
replay, avoid unnecessary copy (string is discarded). Bug reported by
Thorsten von Eicken Patched by kevin brintnall

git-svn-id: svn://svn.oetiker.ch/rrdtool/trunk/program@1961 a5681a0c-68f1-0310-ab6d-d61299d08faa

src/rrd_daemon.c

index 0ca1818..1946003 100644 (file)
@@ -1312,7 +1312,8 @@ static int handle_request_update (HANDLER_PROTO) /* {{{ */
   cache_item_t *ci;
 
   /* save it for the journal later */
   cache_item_t *ci;
 
   /* save it for the journal later */
-  strncpy(orig_buf, buffer, sizeof(orig_buf)-1);
+  if (sock != NULL)
+    strncpy(orig_buf, buffer, buffer_size);
 
   status = buffer_get_field (&buffer, &buffer_size, &file);
   if (status != 0)
 
   status = buffer_get_field (&buffer, &buffer_size, &file);
   if (status != 0)