diff options
Diffstat (limited to 'net-analyzer/rrdtool/files/rrdtool-1.2.15-mem-usage.patch')
-rw-r--r-- | net-analyzer/rrdtool/files/rrdtool-1.2.15-mem-usage.patch | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/net-analyzer/rrdtool/files/rrdtool-1.2.15-mem-usage.patch b/net-analyzer/rrdtool/files/rrdtool-1.2.15-mem-usage.patch deleted file mode 100644 index e6f2f7d3761f..000000000000 --- a/net-analyzer/rrdtool/files/rrdtool-1.2.15-mem-usage.patch +++ /dev/null @@ -1,133 +0,0 @@ -diff -ru rrdtool-1.2.15~/src/rrd_graph.c rrdtool-1.2.15/src/rrd_graph.c ---- rrdtool-1.2.15~/src/rrd_graph.c 2007-01-09 23:40:14.000000000 +0100 -+++ rrdtool-1.2.15/src/rrd_graph.c 2007-01-09 23:48:03.000000000 +0100 -@@ -1060,8 +1060,9 @@ - ** relevant for min and max - */ - if (finite(paintval) && im->gdes[ii].gf != GF_TICK ) { -- if (isnan(minval) || paintval < minval) -- minval = paintval; -+ if ((isnan(minval) || paintval < minval ) && -+ ! (im->logarithmic && paintval <= 0.0)) -+ minval = paintval; - if (isnan(maxval) || paintval > maxval) - maxval = paintval; - } -@@ -1710,6 +1711,35 @@ - return mnt; - } - -+static int AlmostEqual2sComplement (float A, float B, int maxUlps) -+{ -+ -+ int aInt = *(int*)&A; -+ int bInt = *(int*)&B; -+ int intDiff; -+ /* Make sure maxUlps is non-negative and small enough that the -+ default NAN won't compare as equal to anything. */ -+ -+ /* assert(maxUlps > 0 && maxUlps < 4 * 1024 * 1024); */ -+ -+ /* Make aInt lexicographically ordered as a twos-complement int */ -+ -+ if (aInt < 0) -+ aInt = 0x80000000l - aInt; -+ -+ /* Make bInt lexicographically ordered as a twos-complement int */ -+ -+ if (bInt < 0) -+ bInt = 0x80000000l - bInt; -+ -+ intDiff = abs(aInt - bInt); -+ -+ if (intDiff <= maxUlps) -+ return 1; -+ -+ return 0; -+} -+ - /* logaritmic horizontal grid */ - int - horizontal_log_grid(image_desc_t *im) -@@ -1719,7 +1749,9 @@ - {1.0, 5.0, 10., 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0}, - {1.0, 2.0, 5.0, 7.0, 10., 0.0, 0.0, 0.0, 0.0, 0.0}, - {1.0, 2.0, 4.0, 6.0, 8.0, 10., 0.0, 0.0, 0.0, 0.0}, -- {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.}}; -+ {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.}, -+ {0,0,0,0,0, 0,0,0,0,0} /* last line */ }; -+ - - int i, j, val_exp, min_exp; - double nex; /* number of decades in data */ -@@ -1728,7 +1760,7 @@ - int mid = -1; /* row in yloglab for major grid */ - double mspac; /* smallest major grid spacing (pixels) */ - int flab; /* first value in yloglab to use */ -- double value, tmp; -+ double value, tmp, pre_value; - double X0,X1,Y0; - char graph_label[100]; - -@@ -1747,11 +1779,11 @@ - mid++; - for(i = 0; yloglab[mid][i + 1] < 10.0; i++); - mspac = logscale * log10(10.0 / yloglab[mid][i]); -- } while(mspac > 2 * im->text_prop[TEXT_PROP_LEGEND].size && mid < 5); -+ } while(mspac > 2 * im->text_prop[TEXT_PROP_LEGEND].size && yloglab[mid][0] > 0); - if(mid) mid--; - - /* find first value in yloglab */ -- for(flab = 0; frexp10(im->minval, &tmp) > yloglab[mid][flab]; flab++); -+ for(flab = 0; yloglab[mid][flab] < 10 && frexp10(im->minval, &tmp) > yloglab[mid][flab] ; flab++); - if(yloglab[mid][flab] == 10.0) { - tmp += 1.0; - flab = 0; -@@ -1763,8 +1795,12 @@ - X1=im->xorigin+im->xsize; - - /* draw grid */ -+ pre_value = DNAN; - while(1) { - value = yloglab[mid][flab] * pow(10.0, val_exp); -+ if ( AlmostEqual2sComplement(value,pre_value,4) ) break; /* it seems we are not converging */ -+ -+ pre_value = value; - - Y0 = ytr(im, value); - if(Y0 <= im->yorigin - im->ysize) break; -@@ -2484,34 +2520,6 @@ - /* yes we are loosing precision by doing tos with floats instead of doubles - but it seems more stable this way. */ - --static int AlmostEqual2sComplement (float A, float B, int maxUlps) --{ -- -- int aInt = *(int*)&A; -- int bInt = *(int*)&B; -- int intDiff; -- /* Make sure maxUlps is non-negative and small enough that the -- default NAN won't compare as equal to anything. */ -- -- /* assert(maxUlps > 0 && maxUlps < 4 * 1024 * 1024); */ -- -- /* Make aInt lexicographically ordered as a twos-complement int */ -- -- if (aInt < 0) -- aInt = 0x80000000l - aInt; -- -- /* Make bInt lexicographically ordered as a twos-complement int */ -- -- if (bInt < 0) -- bInt = 0x80000000l - bInt; -- -- intDiff = abs(aInt - bInt); -- -- if (intDiff <= maxUlps) -- return 1; -- -- return 0; --} - - /* draw that picture thing ... */ - int |