- $update_cmd = 'rrdtool update '.$this->rrd_file.' N:'.implode(':', $upvals);
- $output = array(); $return_var = null;
- exec($update_cmd, $output, $return_var);
- if ($return_var) { trigger_error('rrd update returned with value '.$return_var, E_USER_WARNING); }
+ $return = null;
+ if (count($upvals)) {
+ $update_cmd = 'rrdtool update '.$this->rrd_file.' N:'.implode(':', $upvals);
+ $return = `$update_cmd 2>&1`;
+ }
+
+ if (strpos($return, 'ERROR') !== false) {
+ trigger_error($this->rrd_file.' - rrd update error: '.$return, E_USER_WARNING);
+ $success = false;
+ }
+ else { $success = true; }