From: Florian Forster Date: Mon, 8 Sep 2008 07:52:30 +0000 (+0200) Subject: Merge branch 'master' into ff/rrdd X-Git-Url: https://git.octo.it/?p=rrdtool.git;a=commitdiff_plain;h=8fdbf4660969f9bde7f0f434f2d1002028d36814;hp=210e991460e82d01d086f853e65485040eb2fffb Merge branch 'master' into ff/rrdd Conflicts: doc/rrdgraph.pod src/librrd.sym.in src/rrd_lastupdate.c src/rrd_update.c --- diff --git a/bindings/perl-piped/RRDp.pm b/bindings/perl-piped/RRDp.pm index 0a28506..31e1043 100644 --- a/bindings/perl-piped/RRDp.pm +++ b/bindings/perl-piped/RRDp.pm @@ -102,6 +102,7 @@ For more information on how to use RRDtool, check the manpages. Tobias Oetiker =cut + #' this is to make cperl.el happy use strict; @@ -120,7 +121,7 @@ sub cmd (@); sub end (); sub read (); -$VERSION=1.3001; +$VERSION=1.3002; sub start ($){ croak "rrdtool is already running" diff --git a/bindings/perl-shared/RRDs.pm b/bindings/perl-shared/RRDs.pm index fbd9c96..3531a27 100644 --- a/bindings/perl-shared/RRDs.pm +++ b/bindings/perl-shared/RRDs.pm @@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION); require DynaLoader; -$VERSION=1.3001; +$VERSION=1.3002; bootstrap RRDs $VERSION; diff --git a/configure.ac b/configure.ac index 2689075..01cb808 100644 --- a/configure.ac +++ b/configure.ac @@ -9,25 +9,25 @@ dnl tell automake the this script is for rrdtool dnl the official version number is dnl a.b.c -AC_INIT([rrdtool],[1.3.1]) +AC_INIT([rrdtool],[1.3.2]) dnl for testing a numberical version number comes handy dnl the released version are dnl a.bccc dnl the devel versions will be something like dnl a.b999yymmddhh -NUMVERS=1.3001 +NUMVERS=1.3002 AC_SUBST(NUMVERS) -dnl for the linker to understand which version the library is compatible with -dnl we must keep a separate library version cout of the format c:r:a if any -dnl if only implementation changed but all interfaces are kept, do r++ -dnl when only functionality was added do c++,r=0,a++ -dnl if any functionality was removed do c++,r=0,a=0. +dnl for the linker to understand which versions the library are compatible with +dnl each other we must keep a separate library version cout of the format c:r:a. +dnl - if only implementation changed but all interfaces are kept, do r++ +dnl - if only functionality was added do c++,r=0,a++ +dnl - if any functionality was removed do c++,r=0,a=0. dnl dnl see http://sourceware.org/autobook/autobook/autobook_91.html dnl -LIBVERS=4:0:0 +LIBVERS=4:1:0 AC_SUBST(LIBVERS) AC_CANONICAL_TARGET @@ -399,7 +399,6 @@ dnl Checks for libraries. AC_CHECK_FUNC(acos, , AC_CHECK_LIB(m, acos)) - dnl add pic flag in any case this makes sure all our code is relocatable eval `./libtool --config | grep pic_flag` CFLAGS="$CFLAGS $pic_flag" @@ -550,7 +549,7 @@ return 0; have_broken_isfinite=no],have_broken_isfinite=yes,[ case "${target}" in hppa*-*-hpux*) have_broken_isfinite=yes ;; - sparc-sun-solaris2.8) have_broken_isfinite=yes ;; + *-sun-solaris2.8) have_broken_isfinite=yes ;; *) have_broken_isfinite=no ;; esac]) ]) @@ -569,6 +568,17 @@ AC_FULL_IEEE CONFIGURE_PART(Resolve Portability Issues) +dnl Do we need getopt_long + +build_getopt=no +RRD_GETOPT_LONG="#" +AC_CHECK_FUNC(getopt_long,[],[ +RRD_GETOPT_LONG="getopt_long" +build_getopt=yes +]) +AC_SUBST(RRD_GETOPT_LONG) +AM_CONDITIONAL(BUILD_GETOPT,[test $build_getopt = yes]) + dnl what does realloc do if it gets called with a NULL pointer AC_CACHE_CHECK([if realloc can deal with NULL], rd_cv_null_realloc, @@ -918,6 +928,7 @@ AC_CONFIG_FILES([examples/Makefile]) AC_CONFIG_FILES([doc/Makefile]) AC_CONFIG_FILES([po/Makefile.in]) AC_CONFIG_FILES([src/Makefile]) +AC_CONFIG_FILES([src/librrd.sym]) AC_CONFIG_FILES([bindings/Makefile]) AC_CONFIG_FILES([bindings/tcl/Makefile]) AC_CONFIG_FILES([bindings/tcl/ifOctets.tcl]) @@ -945,6 +956,7 @@ echo "----------------------------------------------------------------" echo "Config is DONE!" echo echo " With MMAP IO: $enable_mmap" +echo " Build rrd_getopt: $build_getopt" echo " Static programs: $staticprogs" echo " Perl Modules: $COMP_PERL" echo " Perl Binary: $PERL" diff --git a/doc/cdeftutorial.pod b/doc/cdeftutorial.pod index 6a45ef4..cced74a 100644 --- a/doc/cdeftutorial.pod +++ b/doc/cdeftutorial.pod @@ -749,7 +749,7 @@ as follows: 5. push 32 6. push function "plus" and process it the stack contains now the temperature in Fahrenheit - + =head2 Changing unknown into zero rrdtool graph demo.png --title="Demo Graph" \ diff --git a/doc/rrdbuild.pod b/doc/rrdbuild.pod index bb9e024..1c48c75 100644 --- a/doc/rrdbuild.pod +++ b/doc/rrdbuild.pod @@ -41,7 +41,7 @@ Where you want to install the software. Once you have decided. Save the two locations into environment variables. BUILD_DIR=/tmp/rrdbuild - INSTALL_DIR=/usr/local/rrdtool-1.3.1 + INSTALL_DIR=/usr/local/rrdtool-1.3.2 If your F is mounted with the option noexec (RHEL seems todo that) you have to choose @@ -55,9 +55,9 @@ Now make sure the BUILD_DIR exists and go there: Lets first assume you already have all the necessary libraries pre-installed. - wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.1.tar.gz - gunzip -c rrdtool-1.3.1.tar.gz | tar xf - - cd rrdtool-1.3.1 + wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.2.tar.gz + gunzip -c rrdtool-1.3.2.tar.gz | tar xf - + cd rrdtool-1.3.2 ./configure --prefix=$INSTALL_DIR && make && make install Ok, this was very optimistic. This try will probably have ended with @@ -86,6 +86,17 @@ fix this: perl -i~ -p -e 's/(Requires.*?)\s*xrender.*/$1/' /usr/lib/pkgconfig/cairo.pc +Make sure rrdtool finds your new compiler + + export PATH=/opt/SunStudioExpress/bin + +Since there does not seem to ba a viable msgfmt tool on opensolaris (short +of installing it yourself). You have to call configure with the + + --disable-libintl + +option. + =head2 Debian / Ubuntu Use apt-get to make sure you have all that is required. A number @@ -334,7 +345,7 @@ because it seems that a fair number of people have ill configured python and tcl setups that would prevent rrdtool from building if they are included in their current state. - cd $BUILD_DIR/rrdtool-1.3.1 + cd $BUILD_DIR/rrdtool-1.3.2 ./configure --prefix=$INSTALL_DIR --disable-tcl --disable-python $MAKE clean $MAKE diff --git a/doc/rrdgraph.pod b/doc/rrdgraph.pod index a96ecff..1d6081d 100644 --- a/doc/rrdgraph.pod +++ b/doc/rrdgraph.pod @@ -43,7 +43,7 @@ it. For instance, you might be collecting B per second, but want to display B per second. This is what the B> command is designed for. After B the data, a copy is made and this copy is modified -using a rather powerful B> command set. +using a rather powerful B> command set. When you are done fetching and processing the data, it is time to graph it (or print it). This ends the B sequence. @@ -77,7 +77,7 @@ The start and end of the time series you would like to display, and which B the data should come from. Defaults are: 1 day ago until now, with the best possible resolution. B and B can be specified in several formats, see -L and L. +L and L. By default, B calculates the width of one pixel in the time domain and tries to get data from an B with that resolution. With the B option you can alter this behaviour. @@ -363,7 +363,7 @@ no text is rendered bitmapped. All text in rrdtool is rendered using Pango. With the B<--pango-markup> option, all text will be processed by pango markup. This allows to embed some simple html like markup tags using - + text Apart from the verbose syntax, there are also the following short tags available. @@ -377,7 +377,7 @@ Apart from the verbose syntax, there are also the following short tags available small Makes font relatively smaller, equivalent to tt Monospace font u Underline - + More details on L. [B<-G>|B<--graph-render-mode> {B,B}] @@ -445,13 +445,12 @@ You need at least one B statement to generate anything. The other statements are useful but optional. See L and L for the exact format. -=head2 Graph and print elements +NOTE: B You need at least one graph element to generate an image and/or at least one print statement to generate a report. See L for the exact format. - =head2 graphv Calling rrdtool with the graphv option will return information in the diff --git a/doc/rrdgraph_graph.pod b/doc/rrdgraph_graph.pod index 19a732b..a932fa0 100644 --- a/doc/rrdgraph_graph.pod +++ b/doc/rrdgraph_graph.pod @@ -312,9 +312,7 @@ argument list. =head3 BB<:>IB<#>I[B<:>I] -I modifiers on the other commands.> - -=back +I modifiers on the other commands instead!> B diff --git a/doc/rrdtool.pod b/doc/rrdtool.pod index 1175abc..835f64b 100644 --- a/doc/rrdtool.pod +++ b/doc/rrdtool.pod @@ -34,8 +34,8 @@ While the man pages talk of command line switches you have to set in order to make B work it is important to note that B can be remotely controlled through a set of pipes. This saves a considerable amount of startup time when you plan to make -B do a lot of things quickly. Check the section on L<"Remote -Control"> further down. There is also a number of language bindings +B do a lot of things quickly. Check the section on L +further down. There is also a number of language bindings for RRDtool which allow you to use it directly from perl, python, tcl, php, etc. diff --git a/rrdtool.spec b/rrdtool.spec index d71d3e1..6208ff1 100644 --- a/rrdtool.spec +++ b/rrdtool.spec @@ -9,7 +9,7 @@ Summary: Round Robin Database Tool to store and display time-series data Name: rrdtool -Version: 1.3.1 +Version: 1.3.2 Release: 0.20%{?pre:.%{pre}}%{?dist} License: GPLv2+ with exceptions Group: Applications/Databases diff --git a/src/Makefile.am b/src/Makefile.am index b11031c..663d1a1 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -14,8 +14,6 @@ RRD_DEFAULT_FONT=@RRD_DEFAULT_FONT@ AM_CPPFLAGS = -DRRD_DEFAULT_FONT=\"$(RRD_DEFAULT_FONT)\" -DNUMVERS=@NUMVERS@ UPD_C_FILES = \ - rrd_getopt.c \ - rrd_getopt1.c \ rrd_parsetime.c \ rrd_hw.c \ rrd_hw_math.c \ @@ -58,6 +56,11 @@ noinst_HEADERS = \ fnv.h rrd_graph.h \ rrd_is_thread_safe.h +if BUILD_GETOPT +noinst_HEADERS += rrd_getopt.h +UPD_C_FILES += rrd_getopt.c rrd_getopt1.c +endif + noinst_LTLIBRARIES = librrdupd.la lib_LTLIBRARIES = librrd.la @@ -106,6 +109,6 @@ rrdcached_LDADD = librrd.la # strftime is here because we do not usually need it. unices have propper # iso date support -EXTRA_DIST= strftime.c strftime.h \ +EXTRA_DIST= strftime.c strftime.h rrd_getopt.c rrd_getopt1.c rrd_getopt.h \ win32comp.c rrd_thread_safe_nt.c get_ver.awk librrd.sym diff --git a/src/librrd.sym b/src/librrd.sym deleted file mode 100644 index de94fa1..0000000 --- a/src/librrd.sym +++ /dev/null @@ -1,56 +0,0 @@ -rrd_clear_error -rrd_close -rrd_cmd_flush -rrd_create -rrd_create_r -rrd_dontneed -rrd_dump -rrd_dump_r -rrd_fetch -rrd_fetch_r -rrd_first -rrd_first_r -rrd_flush -rrd_free -rrd_free_context -rrd_freemem -rrd_get_context -rrd_get_error -rrd_graph -rrd_graph_v -rrd_info -rrd_info_free -rrd_info_print -rrd_info_push -rrd_init -rrd_last -rrd_last_r -rrd_lastupdate -rrd_lastupdate_r -rrd_lock -rrd_new_context -rrd_open -rrd_parsetime -rrd_proc_start_end -rrd_read -rrd_resize -rrd_restore -rrd_seek -rrd_set_error -rrd_set_to_DINF -rrd_set_to_DNAN -rrd_strerror -rrd_strversion -rrd_tell -rrd_test_error -rrd_tune -rrd_update -rrd_update_r -rrd_update_v -rrd_version -rrd_write -rrd_xport -rrdc_connect -rrdc_disconnect -rrdc_flush -rrdc_update diff --git a/src/librrd.sym.in b/src/librrd.sym.in new file mode 100644 index 0000000..22afc86 --- /dev/null +++ b/src/librrd.sym.in @@ -0,0 +1,57 @@ +rrd_clear_error +rrd_close +rrd_cmd_flush +rrd_create +rrd_create_r +rrd_dontneed +rrd_dump +rrd_dump_r +rrd_fetch +rrd_fetch_r +rrd_first +rrd_first_r +rrd_flush +rrd_free +rrd_free_context +rrd_freemem +rrd_get_context +rrd_get_error +rrd_graph +rrd_graph_v +rrd_info +rrd_info_free +rrd_info_print +rrd_info_push +rrd_init +rrd_last +rrd_last_r +rrd_lastupdate +rrd_lastupdate_r +rrd_lock +rrd_new_context +rrd_open +rrd_parsetime +rrd_proc_start_end +rrd_read +rrd_resize +rrd_restore +rrd_seek +rrd_set_error +rrd_set_to_DINF +rrd_set_to_DNAN +rrd_strerror +rrd_strversion +rrd_tell +rrd_test_error +rrd_tune +rrd_update +rrd_update_r +rrd_update_v +rrd_version +rrd_write +rrd_xport +rrdc_connect +rrdc_disconnect +rrdc_flush +rrdc_update +@RRD_GETOPT_LONG@ diff --git a/src/pngsize.c b/src/pngsize.c index f74a718..6e55238 100644 --- a/src/pngsize.c +++ b/src/pngsize.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * pngsize.c determine the size of a PNG image *****************************************************************************/ diff --git a/src/rrd.h b/src/rrd.h index fc01687..ad7e15c 100644 --- a/src/rrd.h +++ b/src/rrd.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrdlib.h Public header file for librrd ***************************************************************************** diff --git a/src/rrd_cgi.c b/src/rrd_cgi.c index adbd91f..b535541 100644 --- a/src/rrd_cgi.c +++ b/src/rrd_cgi.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_cgi.c RRD Web Page Generator *****************************************************************************/ diff --git a/src/rrd_create.c b/src/rrd_create.c index b87d2be..9ee6896 100644 --- a/src/rrd_create.c +++ b/src/rrd_create.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_create.c creates new rrds *****************************************************************************/ diff --git a/src/rrd_datalang.c b/src/rrd_datalang.c index a7c5e1c..0f25dee 100644 --- a/src/rrd_datalang.c +++ b/src/rrd_datalang.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_datalang A system for passing named and typed parameters between * the different parts of rrdtool diff --git a/src/rrd_diff.c b/src/rrd_diff.c index a00d119..093a293 100644 --- a/src/rrd_diff.c +++ b/src/rrd_diff.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * This code is stolen from rateup (mrtg-2.x) by Dave Rand ***************************************************************************** * diff calculate the difference between two very long integers available as diff --git a/src/rrd_dump.c b/src/rrd_dump.c index ea28245..552c636 100644 --- a/src/rrd_dump.c +++ b/src/rrd_dump.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_dump Display a RRD ***************************************************************************** diff --git a/src/rrd_error.c b/src/rrd_error.c index e1fabd5..d8c6eed 100644 --- a/src/rrd_error.c +++ b/src/rrd_error.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_error.c Common Header File ***************************************************************************** diff --git a/src/rrd_fetch.c b/src/rrd_fetch.c index b555bf9..563e76b 100644 --- a/src/rrd_fetch.c +++ b/src/rrd_fetch.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_fetch.c read date from an rrd to use for further processing ***************************************************************************** diff --git a/src/rrd_first.c b/src/rrd_first.c index fe5d174..07c5a44 100644 --- a/src/rrd_first.c +++ b/src/rrd_first.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_first Return ***************************************************************************** diff --git a/src/rrd_format.c b/src/rrd_format.c index 3b5baad..55653a5 100644 --- a/src/rrd_format.c +++ b/src/rrd_format.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_format.c RRD Database Format helper functions ***************************************************************************** diff --git a/src/rrd_format.h b/src/rrd_format.h index e457a7a..dd07f51 100644 --- a/src/rrd_format.h +++ b/src/rrd_format.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_format.h RRD Database Format header *****************************************************************************/ diff --git a/src/rrd_gfx.c b/src/rrd_gfx.c index df3ebcb..fa93861 100644 --- a/src/rrd_gfx.c +++ b/src/rrd_gfx.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_gfx.c graphics wrapper for rrdtool **************************************************************************/ diff --git a/src/rrd_graph.c b/src/rrd_graph.c index e445cad..4f8c0d1 100644 --- a/src/rrd_graph.c +++ b/src/rrd_graph.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd__graph.c produce graphs from data in rrdfiles ****************************************************************************/ @@ -3716,41 +3716,11 @@ rrd_info_t *rrd_graph_v( static void rrd_set_font_desc ( image_desc_t *im,int prop,char *font, double size ){ - static text_prop_t tp_cache[] = { {-1,"",NULL}, {-1,"",NULL}, {-1,"",NULL}, {-1,"",NULL}, {-1,"",NULL}, {-1,"",NULL}}; - - if (tp_cache[prop].font_desc == NULL){ - if (prop > 0 && tp_cache[0].font_desc != NULL){ - tp_cache[prop].font_desc = pango_font_description_copy (tp_cache[0].font_desc); - strcpy(tp_cache[prop].font,tp_cache[0].font); - tp_cache[prop].size = tp_cache[0].size; - } - else { - tp_cache[prop].font_desc = pango_font_description_new(); - } - im->text_prop[prop].font_desc = pango_font_description_copy (tp_cache[prop].font_desc); - } - - if (font != NULL && strcmp(tp_cache[prop].font,font) != 0){ - pango_font_description_free(tp_cache[prop].font_desc); - pango_font_description_free(im->text_prop[prop].font_desc); - tp_cache[prop].font_desc = pango_font_description_from_string( font ); - im->text_prop[prop].font_desc = pango_font_description_copy( tp_cache[prop].font_desc ); - strncpy(tp_cache[prop].font, font, sizeof(text_prop[prop].font) - 1); - tp_cache[prop].font[sizeof(text_prop[prop].font) - 1] = '\0'; - strcpy(im->text_prop[prop].font,tp_cache[prop].font); - } - if (size != 0 && size != (tp_cache[prop].size)){ - pango_font_description_set_size(tp_cache[prop].font_desc, size * PANGO_SCALE); - pango_font_description_set_size(im->text_prop[prop].font_desc, size * PANGO_SCALE); - im->text_prop[prop].size = size; - tp_cache[prop].size = size; - } - if (im->text_prop[prop].size < 0){ - im->text_prop[prop].size = tp_cache[prop].size; - im->text_prop[prop].font_desc = pango_font_description_copy( tp_cache[prop].font_desc ); - strcpy(im->text_prop[prop].font,tp_cache[prop].font); - } - // fprintf(stderr,"%d %s\n",prop,pango_font_description_to_string(im->text_prop[prop].font_desc)); + strncpy(im->text_prop[prop].font, font, sizeof(text_prop[prop].font) - 1); + im->text_prop[prop].font[sizeof(text_prop[prop].font) - 1] = '\0'; + im->text_prop[prop].size = size; + im->text_prop[prop].font_desc = pango_font_description_from_string( font ); + pango_font_description_set_size(im->text_prop[prop].font_desc, size * PANGO_SCALE); } void rrd_graph_init( @@ -3759,6 +3729,8 @@ void rrd_graph_init( { unsigned int i; char *deffont = getenv("RRD_DEFAULT_FONT"); + static PangoFontMap *fontmap = NULL; + PangoContext *context; #ifdef HAVE_TZSET tzset(); @@ -3824,8 +3796,20 @@ void rrd_graph_init( rrd_set_font_desc(im,i, deffont ? deffont : text_prop[i].font,text_prop[i].size); } - im->layout = pango_cairo_create_layout(im->cr); - pango_cairo_context_set_resolution(pango_layout_get_context(im->layout), 100); + if (fontmap == NULL){ + fontmap = pango_cairo_font_map_get_default(); + } + + context = pango_cairo_font_map_create_context((PangoCairoFontMap*)fontmap); + + pango_cairo_context_set_resolution(context, 100); + + pango_cairo_update_context(im->cr,context); + + im->layout = pango_layout_new(context); + +// im->layout = pango_cairo_create_layout(im->cr); + cairo_font_options_set_hint_style (im->font_options, CAIRO_HINT_STYLE_FULL); diff --git a/src/rrd_graph_helper.c b/src/rrd_graph_helper.c index be85b9f..b5be2ef 100644 --- a/src/rrd_graph_helper.c +++ b/src/rrd_graph_helper.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_graph_helper.c commandline parser functions * this code initially written by Alex van den Bogaerdt diff --git a/src/rrd_hw.c b/src/rrd_hw.c index 263b3f9..e563926 100644 --- a/src/rrd_hw.c +++ b/src/rrd_hw.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_hw.c : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection ***************************************************************************** diff --git a/src/rrd_hw.h b/src/rrd_hw.h index df1bf07..2d2112d 100644 --- a/src/rrd_hw.h +++ b/src/rrd_hw.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_hw.h : Support for Holt-Winters Smoothing/ Aberrant Behavior Detection *****************************************************************************/ diff --git a/src/rrd_i18n.h b/src/rrd_i18n.h index 09e455f..9f640ef 100644 --- a/src/rrd_i18n.h +++ b/src/rrd_i18n.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Takao Fujiwara, 2008 + * RRDtool 1.3.2 Copyright by Takao Fujiwara, 2008 ***************************************************************************** * rrd_i18n.h Common Header File *****************************************************************************/ diff --git a/src/rrd_info.c b/src/rrd_info.c index 1ee1442..50aab72 100644 --- a/src/rrd_info.c +++ b/src/rrd_info.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_info Get Information about the configuration of an RRD *****************************************************************************/ diff --git a/src/rrd_is_thread_safe.h b/src/rrd_is_thread_safe.h index 85768b8..a56a624 100644 --- a/src/rrd_is_thread_safe.h +++ b/src/rrd_is_thread_safe.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL diff --git a/src/rrd_last.c b/src/rrd_last.c index d3e4b4c..aa9b917 100644 --- a/src/rrd_last.c +++ b/src/rrd_last.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_last.c ***************************************************************************** diff --git a/src/rrd_lastupdate.c b/src/rrd_lastupdate.c index 37bdf74..120cf17 100644 --- a/src/rrd_lastupdate.c +++ b/src/rrd_lastupdate.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * Copyright by Florian Forster, 2008 ***************************************************************************** * rrd_lastupdate Get the last datum entered for each DS diff --git a/src/rrd_not_thread_safe.c b/src/rrd_not_thread_safe.c index 5a100b2..2b1d00c 100644 --- a/src/rrd_not_thread_safe.c +++ b/src/rrd_not_thread_safe.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL diff --git a/src/rrd_open.c b/src/rrd_open.c index aa9350e..51b621f 100644 --- a/src/rrd_open.c +++ b/src/rrd_open.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_open.c Open an RRD File ***************************************************************************** @@ -432,7 +432,7 @@ off_t rrd_seek( /* Get current position in rrd_file. */ -inline off_t rrd_tell( +off_t rrd_tell( rrd_file_t *rrd_file) { return rrd_file->pos; @@ -442,7 +442,7 @@ inline off_t rrd_tell( /* Read count bytes into buffer buf, starting at rrd_file->pos. * Returns the number of bytes read or <0 on error. */ -inline ssize_t rrd_read( +ssize_t rrd_read( rrd_file_t *rrd_file, void *buf, size_t count) @@ -480,7 +480,7 @@ inline ssize_t rrd_read( * rrd_file->pos of rrd_file->fd. * Returns the number of bytes written or <0 on error. */ -inline ssize_t rrd_write( +ssize_t rrd_write( rrd_file_t *rrd_file, const void *buf, size_t count) @@ -505,7 +505,7 @@ inline ssize_t rrd_write( /* flush all data pending to be written to FD. */ -inline void rrd_flush( +void rrd_flush( rrd_file_t *rrd_file) { if (fdatasync(rrd_file->fd) != 0) { diff --git a/src/rrd_resize.c b/src/rrd_resize.c index e6ccaa4..ac85318 100644 --- a/src/rrd_resize.c +++ b/src/rrd_resize.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_resize.c Alters size of an RRA ***************************************************************************** diff --git a/src/rrd_restore.c b/src/rrd_restore.c index 57eb82e..ab8b138 100644 --- a/src/rrd_restore.c +++ b/src/rrd_restore.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2008 Florian octo Forster * Distributed under the GPL ***************************************************************************** diff --git a/src/rrd_rpncalc.c b/src/rrd_rpncalc.c index 005048f..5bb5e40 100644 --- a/src/rrd_rpncalc.c +++ b/src/rrd_rpncalc.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_rpncalc.c RPN calculator functions ****************************************************************************/ diff --git a/src/rrd_rpncalc.h b/src/rrd_rpncalc.h index d23b4dd..6f91e99 100644 --- a/src/rrd_rpncalc.h +++ b/src/rrd_rpncalc.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_rpncalc.h RPN calculator functions ****************************************************************************/ diff --git a/src/rrd_thread_safe.c b/src/rrd_thread_safe.c index ac363f7..c910b98 100644 --- a/src/rrd_thread_safe.c +++ b/src/rrd_thread_safe.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL diff --git a/src/rrd_thread_safe_nt.c b/src/rrd_thread_safe_nt.c index b427a37..eee5543 100644 --- a/src/rrd_thread_safe_nt.c +++ b/src/rrd_thread_safe_nt.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * This file: Copyright 2003 Peter Stamfest * & Tobias Oetiker * Distributed under the GPL diff --git a/src/rrd_tool.c b/src/rrd_tool.c index 5e44b30..d054386 100644 --- a/src/rrd_tool.c +++ b/src/rrd_tool.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_tool.c Startup wrapper *****************************************************************************/ diff --git a/src/rrd_tool.h b/src/rrd_tool.h index 8e0718f..4cfe07e 100644 --- a/src/rrd_tool.h +++ b/src/rrd_tool.h @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_tool.h Common Header File *****************************************************************************/ @@ -50,7 +50,13 @@ extern "C" { #endif /* local include files -- need to be after the system ones */ +#ifdef HAVE_GETOPT_LONG +#define _GNU_SOURCE +#include +#else #include "rrd_getopt.h" +#endif + #include "rrd_format.h" #ifndef max diff --git a/src/rrd_tune.c b/src/rrd_tune.c index 01d9ec5..4975d21 100644 --- a/src/rrd_tune.c +++ b/src/rrd_tune.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * change header parameters of an rrd ***************************************************************************** diff --git a/src/rrd_update.c b/src/rrd_update.c index b4466e1..04d81cc 100644 --- a/src/rrd_update.c +++ b/src/rrd_update.c @@ -1,6 +1,6 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 * Copyright by Florian Forster, 2008 ***************************************************************************** * rrd_update.c RRD Update Function @@ -98,7 +98,6 @@ static int process_arg( rrd_t *rrd, rrd_file_t *rrd_file, unsigned long rra_begin, - unsigned long *rra_current, time_t *current_time, unsigned long *current_time_usec, rrd_value_t *pdp_temp, @@ -179,7 +178,6 @@ static int update_all_cdp_prep( rrd_value_t **last_seasonal_coef, rrd_value_t **seasonal_coef, rrd_value_t *pdp_temp, - unsigned long *rra_current, unsigned long *skip_update, int *schedule_smooth); @@ -248,7 +246,6 @@ static int update_aberrant_cdps( rrd_t *rrd, rrd_file_t *rrd_file, unsigned long rra_begin, - unsigned long *rra_current, unsigned long elapsed_pdp_st, rrd_value_t *pdp_temp, rrd_value_t **seasonal_coef); @@ -258,7 +255,6 @@ static int write_to_rras( rrd_file_t *rrd_file, unsigned long *rra_step_cnt, unsigned long rra_begin, - unsigned long *rra_current, time_t current_time, unsigned long *skip_update, rrd_info_t ** pcdp_summary); @@ -267,7 +263,6 @@ static int write_RRA_row( rrd_file_t *rrd_file, rrd_t *rrd, unsigned long rra_idx, - unsigned long *rra_current, unsigned short CDP_scratch_idx, rrd_info_t ** pcdp_summary, time_t rra_time); @@ -517,8 +512,6 @@ int _rrd_update( unsigned long rra_begin; /* byte pointer to the rra * area in the rrd file. this * pointer never changes value */ - unsigned long rra_current; /* byte pointer to the current write - * spot in the rrd file. */ rrd_value_t *pdp_new; /* prepare the incoming data to be added * to the existing entry */ rrd_value_t *pdp_temp; /* prepare the pdp values to be added @@ -551,7 +544,7 @@ int _rrd_update( goto err_free; } /* We are now at the beginning of the rra's */ - rra_current = rra_begin = rrd_file->header_len; + rra_begin = rrd_file->header_len; version = atoi(rrd.stat_head->version); @@ -578,7 +571,7 @@ int _rrd_update( rrd_set_error("failed duplication argv entry"); break; } - if (process_arg(arg_copy, &rrd, rrd_file, rra_begin, &rra_current, + if (process_arg(arg_copy, &rrd, rrd_file, rra_begin, ¤t_time, ¤t_time_usec, pdp_temp, pdp_new, rra_step_cnt, updvals, tmpl_idx, tmpl_cnt, &pcdp_summary, version, skip_update, @@ -831,7 +824,6 @@ static int process_arg( rrd_t *rrd, rrd_file_t *rrd_file, unsigned long rra_begin, - unsigned long *rra_current, time_t *current_time, unsigned long *current_time_usec, rrd_value_t *pdp_temp, @@ -853,23 +845,11 @@ static int process_arg( double interval, pre_int, post_int; /* interval between this and * the last run */ unsigned long proc_pdp_cnt; - unsigned long rra_start; if (parse_ds(rrd, updvals, tmpl_idx, step_start, tmpl_cnt, current_time, current_time_usec, version) == -1) { return -1; } - /* seek to the beginning of the rra's */ - if (*rra_current != rra_begin) { -#ifndef HAVE_MMAP - if (rrd_seek(rrd_file, rra_begin, SEEK_SET) != 0) { - rrd_set_error("seek error in rrd"); - return -1; - } -#endif - *rra_current = rra_begin; - } - rra_start = rra_begin; interval = (double) (*current_time - rrd->live_head->last_up) + (double) ((long) *current_time_usec - @@ -904,17 +884,17 @@ static int process_arg( proc_pdp_cnt, &last_seasonal_coef, &seasonal_coef, - pdp_temp, rra_current, + pdp_temp, skip_update, schedule_smooth) == -1) { goto err_free_coefficients; } - if (update_aberrant_cdps(rrd, rrd_file, rra_begin, rra_current, + if (update_aberrant_cdps(rrd, rrd_file, rra_begin, elapsed_pdp_st, pdp_temp, &seasonal_coef) == -1) { goto err_free_coefficients; } if (write_to_rras(rrd, rrd_file, rra_step_cnt, rra_begin, - rra_current, *current_time, skip_update, + *current_time, skip_update, pcdp_summary) == -1) { goto err_free_coefficients; } @@ -1456,7 +1436,6 @@ static int update_all_cdp_prep( rrd_value_t **last_seasonal_coef, rrd_value_t **seasonal_coef, rrd_value_t *pdp_temp, - unsigned long *rra_current, unsigned long *skip_update, int *schedule_smooth) { @@ -1506,7 +1485,6 @@ static int update_all_cdp_prep( #endif *schedule_smooth = 1; } - *rra_current = rrd_tell(rrd_file); } if (rrd_test_error()) return -1; @@ -1882,7 +1860,6 @@ static int update_aberrant_cdps( rrd_t *rrd, rrd_file_t *rrd_file, unsigned long rra_begin, - unsigned long *rra_current, unsigned long elapsed_pdp_st, rrd_value_t *pdp_temp, rrd_value_t **seasonal_coef) @@ -1911,7 +1888,6 @@ static int update_aberrant_cdps( lookup_seasonal(rrd, rra_idx, rra_start, rrd_file, elapsed_pdp_st + 2, seasonal_coef); } - *rra_current = rrd_tell(rrd_file); } if (rrd_test_error()) return -1; @@ -1942,102 +1918,75 @@ static int write_to_rras( rrd_file_t *rrd_file, unsigned long *rra_step_cnt, unsigned long rra_begin, - unsigned long *rra_current, time_t current_time, unsigned long *skip_update, rrd_info_t ** pcdp_summary) { unsigned long rra_idx; unsigned long rra_start; - unsigned long rra_pos_tmp; /* temporary byte pointer. */ time_t rra_time = 0; /* time of update for a RRA */ + unsigned long ds_cnt = rrd->stat_head->ds_cnt; + /* Ready to write to disk */ rra_start = rra_begin; + for (rra_idx = 0; rra_idx < rrd->stat_head->rra_cnt; rra_idx++) { - /* skip unless there's something to write */ - if (rra_step_cnt[rra_idx]) { - /* write the first row */ + rra_def_t *rra_def = &rrd->rra_def[rra_idx]; + rra_ptr_t *rra_ptr = &rrd->rra_ptr[rra_idx]; + + /* for cdp_prep */ + unsigned short scratch_idx; + unsigned long step_subtract; + + for (scratch_idx = CDP_primary_val, + step_subtract = 1; + rra_step_cnt[rra_idx] > 0; + rra_step_cnt[rra_idx]--, + scratch_idx = CDP_secondary_val, + step_subtract = 2) { + + off_t rra_pos_new; #ifdef DEBUG fprintf(stderr, " -- RRA Preseek %ld\n", rrd_file->pos); #endif - rrd->rra_ptr[rra_idx].cur_row++; - if (rrd->rra_ptr[rra_idx].cur_row >= - rrd->rra_def[rra_idx].row_cnt) - rrd->rra_ptr[rra_idx].cur_row = 0; /* wrap around */ - /* position on the first row */ - rra_pos_tmp = rra_start + - (rrd->stat_head->ds_cnt) * (rrd->rra_ptr[rra_idx].cur_row) * - sizeof(rrd_value_t); - if (rra_pos_tmp != *rra_current) { - if (rrd_seek(rrd_file, rra_pos_tmp, SEEK_SET) != 0) { + /* increment, with wrap-around */ + if (++rra_ptr->cur_row >= rra_def->row_cnt) + rra_ptr->cur_row = 0; + + /* we know what our position should be */ + rra_pos_new = rra_start + + ds_cnt * rra_ptr->cur_row * sizeof(rrd_value_t); + + /* re-seek if the position is wrong or we wrapped around */ + if (rra_pos_new != rrd_file->pos) { + if (rrd_seek(rrd_file, rra_pos_new, SEEK_SET) != 0) { rrd_set_error("seek error in rrd"); return -1; } - *rra_current = rra_pos_tmp; } #ifdef DEBUG fprintf(stderr, " -- RRA Postseek %ld\n", rrd_file->pos); #endif - if (!skip_update[rra_idx]) { - if (*pcdp_summary != NULL) { - rra_time = (current_time - current_time - % (rrd->rra_def[rra_idx].pdp_cnt * - rrd->stat_head->pdp_step)) - - - ((rra_step_cnt[rra_idx] - - 1) * rrd->rra_def[rra_idx].pdp_cnt * - rrd->stat_head->pdp_step); - } - if (write_RRA_row - (rrd_file, rrd, rra_idx, rra_current, CDP_primary_val, - pcdp_summary, rra_time) == -1) - return -1; - } - /* write other rows of the bulk update, if any */ - for (; rra_step_cnt[rra_idx] > 1; rra_step_cnt[rra_idx]--) { - if (++rrd->rra_ptr[rra_idx].cur_row == - rrd->rra_def[rra_idx].row_cnt) { -#ifdef DEBUG - fprintf(stderr, - "Wraparound for RRA %s, %lu updates left\n", - rrd->rra_def[rra_idx].cf_nam, - rra_step_cnt[rra_idx] - 1); -#endif - /* wrap */ - rrd->rra_ptr[rra_idx].cur_row = 0; - /* seek back to beginning of current rra */ - if (rrd_seek(rrd_file, rra_start, SEEK_SET) != 0) { - rrd_set_error("seek error in rrd"); - return -1; - } -#ifdef DEBUG - fprintf(stderr, " -- Wraparound Postseek %ld\n", - rrd_file->pos); -#endif - *rra_current = rra_start; - } - if (!skip_update[rra_idx]) { - if (*pcdp_summary != NULL) { - rra_time = (current_time - current_time - % (rrd->rra_def[rra_idx].pdp_cnt * - rrd->stat_head->pdp_step)) - - - ((rra_step_cnt[rra_idx] - - 2) * rrd->rra_def[rra_idx].pdp_cnt * - rrd->stat_head->pdp_step); - } - if (write_RRA_row(rrd_file, rrd, rra_idx, rra_current, - CDP_secondary_val, pcdp_summary, - rra_time) == -1) - return -1; - } + if (skip_update[rra_idx]) + continue; + + if (*pcdp_summary != NULL) { + unsigned long step_time = rra_def->pdp_cnt * rrd->stat_head->pdp_step; + + rra_time = (current_time - current_time % step_time) + - ((rra_step_cnt[rra_idx] - step_subtract) * step_time); } + + if (write_RRA_row + (rrd_file, rrd, rra_idx, scratch_idx, + pcdp_summary, rra_time) == -1) + return -1; } - rra_start += rrd->rra_def[rra_idx].row_cnt * rrd->stat_head->ds_cnt * - sizeof(rrd_value_t); - } /* RRA LOOP */ + + rra_start += rra_def->row_cnt * ds_cnt * sizeof(rrd_value_t); + } /* RRA LOOP */ return 0; } @@ -2051,7 +2000,6 @@ static int write_RRA_row( rrd_file_t *rrd_file, rrd_t *rrd, unsigned long rra_idx, - unsigned long *rra_current, unsigned short CDP_scratch_idx, rrd_info_t ** pcdp_summary, time_t rra_time) @@ -2084,7 +2032,6 @@ static int write_RRA_row( rrd_set_error("writing rrd: %s", rrd_strerror(errno)); return -1; } - *rra_current += sizeof(rrd_value_t); } return 0; } diff --git a/src/rrd_version.c b/src/rrd_version.c index 199929e..5b773ba 100644 --- a/src/rrd_version.c +++ b/src/rrd_version.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrd_version Return ***************************************************************************** diff --git a/src/rrd_xport.c b/src/rrd_xport.c index c5ff70c..2d0233d 100644 --- a/src/rrd_xport.c +++ b/src/rrd_xport.c @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_xport.c export RRD data ****************************************************************************/ diff --git a/src/rrd_xport.h b/src/rrd_xport.h index 759e440..e517f6c 100644 --- a/src/rrd_xport.h +++ b/src/rrd_xport.h @@ -1,5 +1,5 @@ /**************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 **************************************************************************** * rrd_xport.h contains XML related constants ****************************************************************************/ diff --git a/src/rrdupdate.c b/src/rrdupdate.c index 96c98a0..2e97eda 100644 --- a/src/rrdupdate.c +++ b/src/rrdupdate.c @@ -1,5 +1,5 @@ /***************************************************************************** - * RRDtool 1.3.1 Copyright by Tobi Oetiker, 1997-2008 + * RRDtool 1.3.2 Copyright by Tobi Oetiker, 1997-2008 ***************************************************************************** * rrdupdate.c Main program for the (standalone) rrdupdate utility *****************************************************************************