--- cacti-0.8.6a/lib/rrd.php	2004-10-03 22:57:14.000000000 -0400
+++ cacti-0.8.7/lib/rrd.php	2004-10-05 22:50:48.000000000 -0400
@@ -96,12 +96,18 @@
 		case RRDTOOL_OUTPUT_NULL:
 			return; break;
 		case RRDTOOL_OUTPUT_STDOUT:
-			return; break;
-		case RRDTOOL_OUTPUT_STDERR:
-			if (rrd_get_fd($rrd_struc, RRDTOOL_PIPE_CHILD_WRITE) != 0) {
-				$fp = rrd_get_fd($rrd_struc, RRDTOOL_PIPE_CHILD_WRITE);
+			if (isset($fp)) {
+				$line = "";
+				while (!feof($fp)) {
+					$line .= fgets($fp, 4096);
+				}
+
+				return $line;
 			}
 
+			break;
+		case RRDTOOL_OUTPUT_STDERR:
+			if (isset($fp)) {
 			$output = fgets($fp, 1000000);
 
 			if (substr($output, 1, 3) == "PNG") {
@@ -113,13 +119,14 @@
 			}
 
 			print $output;
+			}
+
 			break;
 		case RRDTOOL_OUTPUT_GRAPH_DATA:
-			if (rrd_get_fd($rrd_struc, RRDTOOL_PIPE_CHILD_WRITE) != 0) {
-				$fp = rrd_get_fd($rrd_struc, RRDTOOL_PIPE_CHILD_WRITE);
+			if (isset($fp)) {
+				return fpassthru($fp);
 			}
 
-			return fpassthru($fp);
 			break;
 	}
 }
