updated copyrigh dates
[rrdtool.git] / src / rrd_rpncalc.c
index 3c7ccb8..9bb35d2 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "rrd_tool.h"
 #include "rrd_rpncalc.h"
+#include "rrd_graph.h"
 #include <limits.h>
 
 short addop2str(enum op_en op, enum op_en op_type, char *op_str, 
@@ -221,7 +222,7 @@ void parseCDEF_DS(char *def,rrd_t *rrd, int ds_idx)
  */
 long lookup_DS(void *rrd_vptr,char *ds_name)
 {
-    int i;
+    unsigned int i;
     rrd_t *rrd; 
     
     rrd = (rrd_t *) rrd_vptr;
@@ -271,7 +272,7 @@ rpn_parse(void *key_hash,char *expr,long (*lookup)(void *,char*)){
 
 
 #define match_op_param(VV,VVV) \
-        else if (sscanf(expr, #VVV "(%[a-z0-9]s)",vname) == 1) { \
+        else if (sscanf(expr, #VVV "(" DEF_NAM_FMT ")",vname) == 1) { \
           int length = 0; \
           if ((length = strlen(#VVV)+strlen(vname)+2, \
               expr[length] == ',' || expr[length] == '\0') ) { \
@@ -323,7 +324,7 @@ rpn_parse(void *key_hash,char *expr,long (*lookup)(void *,char*)){
 #undef match_op
 
 
-            else if ((sscanf(expr,"%29[_A-Za-z0-9]%n",
+            else if ((sscanf(expr, DEF_NAM_FMT "%n",
                              vname,&pos) == 1) 
                      && ((rpnp[steps].ptr = (*lookup)(key_hash,vname)) != -1)){
                 rpnp[steps].op = OP_VARIABLE;
@@ -669,20 +670,20 @@ int
 tzoffset( time_t now ){
     int gm_sec, gm_min, gm_hour, gm_yday, gm_year,
         l_sec, l_min, l_hour, l_yday, l_year;
-    struct tm *t;
+    struct tm t;
     int off;
-    t = gmtime(&now);
-    gm_sec = t->tm_sec;
-    gm_min = t->tm_min;
-    gm_hour = t->tm_hour;
-    gm_yday = t->tm_yday;
-    gm_year = t->tm_year;
-    t = localtime(&now);
-    l_sec = t->tm_sec;
-    l_min = t->tm_min;
-    l_hour = t->tm_hour;
-    l_yday = t->tm_yday;
-    l_year = t->tm_year;
+    gmtime_r(&now, &t);
+    gm_sec = t.tm_sec;
+    gm_min = t.tm_min;
+    gm_hour = t.tm_hour;
+    gm_yday = t.tm_yday;
+    gm_year = t.tm_year;
+    localtime_r(&now, &t);
+    l_sec = t.tm_sec;
+    l_min = t.tm_min;
+    l_hour = t.tm_hour;
+    l_yday = t.tm_yday;
+    l_year = t.tm_year;
     off = (l_sec-gm_sec)+(l_min-gm_min)*60+(l_hour-gm_hour)*3600; 
     if ( l_yday > gm_yday || l_year > gm_year){
         off += 24*3600;