Merge branch 'master' into ff/rrdd
authorFlorian Forster <octo@verplant.org>
Mon, 8 Sep 2008 07:52:30 +0000 (09:52 +0200)
committerFlorian Forster <octo@verplant.org>
Mon, 8 Sep 2008 07:52:30 +0000 (09:52 +0200)
Conflicts:

doc/rrdgraph.pod
src/librrd.sym.in
src/rrd_lastupdate.c
src/rrd_update.c

50 files changed:
bindings/perl-piped/RRDp.pm
bindings/perl-shared/RRDs.pm
configure.ac
doc/cdeftutorial.pod
doc/rrdbuild.pod
doc/rrdgraph.pod
doc/rrdgraph_graph.pod
doc/rrdtool.pod
rrdtool.spec
src/Makefile.am
src/librrd.sym [deleted file]
src/librrd.sym.in [new file with mode: 0644]
src/pngsize.c
src/rrd.h
src/rrd_cgi.c
src/rrd_create.c
src/rrd_datalang.c
src/rrd_diff.c
src/rrd_dump.c
src/rrd_error.c
src/rrd_fetch.c
src/rrd_first.c
src/rrd_format.c
src/rrd_format.h
src/rrd_gfx.c
src/rrd_graph.c
src/rrd_graph_helper.c
src/rrd_hw.c
src/rrd_hw.h
src/rrd_i18n.h
src/rrd_info.c
src/rrd_is_thread_safe.h
src/rrd_last.c
src/rrd_lastupdate.c
src/rrd_not_thread_safe.c
src/rrd_open.c
src/rrd_resize.c
src/rrd_restore.c
src/rrd_rpncalc.c
src/rrd_rpncalc.h
src/rrd_thread_safe.c
src/rrd_thread_safe_nt.c
src/rrd_tool.c
src/rrd_tool.h
src/rrd_tune.c
src/rrd_update.c
src/rrd_version.c
src/rrd_xport.c
src/rrd_xport.h
src/rrdupdate.c

index 0a28506..31e1043 100644 (file)
@@ -102,6 +102,7 @@ For more information on how to use RRDtool, check the manpages.
 Tobias Oetiker <tobi@oetiker.ch>
 
 =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"
index fbd9c96..3531a27 100644 (file)
@@ -7,7 +7,7 @@ use vars qw(@ISA $VERSION);
 
 require DynaLoader;
 
-$VERSION=1.3001;
+$VERSION=1.3002;
 
 bootstrap RRDs $VERSION;
 
index 2689075..01cb808 100644 (file)
@@ -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"
index 6a45ef4..cced74a 100644 (file)
@@ -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" \
index bb9e024..1c48c75 100644 (file)
@@ -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</tmp> 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
index a96ecff..1d6081d 100644 (file)
@@ -43,7 +43,7 @@ it. For instance, you might be collecting B<bytes> per second, but
 want to display B<bits> per second. This is what the B<L<data
 calculation|rrdgraph_data/CDEF>> command is designed for. After
 B<consolidating> the data, a copy is made and this copy is modified
-using a rather powerful B<L<RPN|rrdgraph_rpn/>> command set.
+using a rather powerful B<L<RPN|rrdgraph_rpn>> command set.
 
 When you are done fetching and processing the data, it is time to
 graph it (or print it).  This ends the B<rrdtool graph> sequence.
@@ -77,7 +77,7 @@ The start and end of the time series you would like to display, and which
 B<RRA> the data should come from.  Defaults are: 1 day ago until
 now, with the best possible resolution. B<Start> and B<end> can
 be specified in several formats, see
-L<AT-STYLE TIME SPECIFICATION|rrdfetch/> and L<rrdgraph_examples>.
+L<AT-STYLE TIME SPECIFICATION|rrdfetch> and L<rrdgraph_examples>.
 By default, B<rrdtool graph> calculates the width of one pixel in
 the time domain and tries to get data from an B<RRA> with that
 resolution.  With the B<step> 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 
+
  <span key="value">text</span>
 
 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 <span size="smaller">
  tt    Monospace font
  u     Underline 
+
 More details on L<http://developer.gnome.org/doc/API/2.0/pango/PangoMarkupFormat.html>.
 
 [B<-G>|B<--graph-render-mode> {B<normal>,B<mono>}]
@@ -445,13 +445,12 @@ You need at least one B<DEF> statement to generate anything. The
 other statements are useful but optional.
 See L<rrdgraph_data> and L<rrdgraph_rpn> for the exact format.
 
-=head2 Graph and print elements
+NOTE: B<Graph and print elements>
 
 You need at least one graph element to generate an image and/or
 at least one print statement to generate a report.
 See L<rrdgraph_graph> for the exact format.
 
-
 =head2 graphv
 
 Calling rrdtool with the graphv option will return information in the
index 19a732b..a932fa0 100644 (file)
@@ -312,9 +312,7 @@ argument list.
 
 =head3 B<STACK>B<:>I<vname>B<#>I<color>[B<:>I<legend>]
 
-I<Deprecated.  Use the B<STACK> modifiers on the other commands.>
-
-=back
+I<Deprecated.  Use the B<STACK> modifiers on the other commands instead!>
 
 B<Some notes on stacking>
 
index 1175abc..835f64b 100644 (file)
@@ -34,8 +34,8 @@ While the man pages talk of command line switches you have to set in
 order to make B<RRDtool> work it is important to note that
 B<RRDtool> can be remotely controlled through a set of pipes. This
 saves a considerable amount of startup time when you plan to make
-B<RRDtool> do a lot of things quickly. Check the section on L<"Remote
-Control"> further down. There is also a number of language bindings
+B<RRDtool> do a lot of things quickly. Check the section on L<Remote_Control>
+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.
 
index d71d3e1..6208ff1 100644 (file)
@@ -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
index b11031c..663d1a1 100644 (file)
@@ -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 (file)
index de94fa1..0000000
+++ /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 (file)
index 0000000..22afc86
--- /dev/null
@@ -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@
index f74a718..6e55238 100644 (file)
@@ -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
  *****************************************************************************/
index fc01687..ad7e15c 100644 (file)
--- 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
  *****************************************************************************
index adbd91f..b535541 100644 (file)
@@ -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
  *****************************************************************************/
index b87d2be..9ee6896 100644 (file)
@@ -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
  *****************************************************************************/
index a7c5e1c..0f25dee 100644 (file)
@@ -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
index a00d119..093a293 100644 (file)
@@ -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
index ea28245..552c636 100644 (file)
@@ -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
  *****************************************************************************
index e1fabd5..d8c6eed 100644 (file)
@@ -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
  *****************************************************************************
index b555bf9..563e76b 100644 (file)
@@ -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
  *****************************************************************************
index fe5d174..07c5a44 100644 (file)
@@ -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
  *****************************************************************************
index 3b5baad..55653a5 100644 (file)
@@ -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
  *****************************************************************************
index e457a7a..dd07f51 100644 (file)
@@ -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
  *****************************************************************************/
index df3ebcb..fa93861 100644 (file)
@@ -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
   **************************************************************************/
index e445cad..4f8c0d1 100644 (file)
@@ -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);
index be85b9f..b5be2ef 100644 (file)
@@ -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
index 263b3f9..e563926 100644 (file)
@@ -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
  *****************************************************************************
index df1bf07..2d2112d 100644 (file)
@@ -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
  *****************************************************************************/
index 09e455f..9f640ef 100644 (file)
@@ -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
  *****************************************************************************/
index 1ee1442..50aab72 100644 (file)
@@ -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
  *****************************************************************************/
index 85768b8..a56a624 100644 (file)
@@ -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 <peter@stamfest.at> 
  *                             & Tobias Oetiker
  * Distributed under the GPL
index d3e4b4c..aa9b917 100644 (file)
@@ -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
  *****************************************************************************
index 37bdf74..120cf17 100644 (file)
@@ -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
index 5a100b2..2b1d00c 100644 (file)
@@ -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 <peter@stamfest.at> 
  *                             & Tobias Oetiker
  * Distributed under the GPL
index aa9350e..51b621f 100644 (file)
@@ -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) {
index e6ccaa4..ac85318 100644 (file)
@@ -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
  *****************************************************************************
index 57eb82e..ab8b138 100644 (file)
@@ -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
  *****************************************************************************
index 005048f..5bb5e40 100644 (file)
@@ -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
  ****************************************************************************/
index d23b4dd..6f91e99 100644 (file)
@@ -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
  ****************************************************************************/
index ac363f7..c910b98 100644 (file)
@@ -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 <peter@stamfest.at> 
  *                             & Tobias Oetiker
  * Distributed under the GPL
index b427a37..eee5543 100644 (file)
@@ -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 <peter@stamfest.at> 
  *                             & Tobias Oetiker
  * Distributed under the GPL
index 5e44b30..d054386 100644 (file)
@@ -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
  *****************************************************************************/
index 8e0718f..4cfe07e 100644 (file)
@@ -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 <getopt.h>
+#else
 #include "rrd_getopt.h"
+#endif
+
 #include "rrd_format.h"
 
 #ifndef max
index 01d9ec5..4975d21 100644 (file)
@@ -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
  *****************************************************************************
index b4466e1..04d81cc 100644 (file)
@@ -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,
                         &current_time, &current_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;
 }
index 199929e..5b773ba 100644 (file)
@@ -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
  *****************************************************************************
index c5ff70c..2d0233d 100644 (file)
@@ -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 
  ****************************************************************************/
index 759e440..e517f6c 100644 (file)
@@ -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
  ****************************************************************************/
index 96c98a0..2e97eda 100644 (file)
@@ -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
  *****************************************************************************