+ /* make sure update time is always moving forward */
+ stamp = strtol(value, &eostamp, 10);
+ if (eostamp == value || eostamp == NULL || *eostamp != ':')
+ {
+ pthread_mutex_unlock(&cache_lock);
+ return send_response(sock, RESP_ERR,
+ "Cannot find timestamp in '%s'!\n", value);
+ }
+ else if (stamp <= ci->last_update_stamp)
+ {
+ pthread_mutex_unlock(&cache_lock);
+ return send_response(sock, RESP_ERR,
+ "illegal attempt to update using time %ld when last"
+ " update time is %ld (minimum one second step)\n",
+ stamp, ci->last_update_stamp);
+ }
+ else
+ ci->last_update_stamp = stamp;
+
+ temp = (char **) rrd_realloc (ci->values,