[PATCH] rrd_fetch_libdbi: Fixed some compiler warnings.

View: New views
2 Messages — Rating Filter:   Alert me  

[PATCH] rrd_fetch_libdbi: Fixed some compiler warnings.

by Sebastian Harl :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

While at it, declared some private helper functions as static.
---
 program/src/rrd_fetch_libdbi.c |   50 ++++++++++++++++++++++-----------------
 program/src/rrd_tool.h         |    2 +-
 2 files changed, 29 insertions(+), 23 deletions(-)

diff --git a/program/src/rrd_fetch_libdbi.c b/program/src/rrd_fetch_libdbi.c
index ad9a766..0e8bc93 100644
--- a/program/src/rrd_fetch_libdbi.c
+++ b/program/src/rrd_fetch_libdbi.c
@@ -17,20 +17,20 @@ struct sql_table_helper {
 };
 
 /* the prototypes */
-void _sql_close(struct sql_table_helper* th);
-int _sql_setparam(struct sql_table_helper* th,char* key, char* value);
-int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered);
-char* _find_next_separator(char* start,char separator);
-char* _find_next_separator_twice(char*start,char separator);
-char _hexcharhelper(char c);
-int _inline_unescape (char* string);
-double rrd_fetch_dbi_double(dbi_result *result,int idx);
-long rrd_fetch_dbi_long(dbi_result *result,int idx);
+static void _sql_close(struct sql_table_helper* th);
+static int _sql_setparam(struct sql_table_helper* th,char* key, char* value);
+static int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered);
+static char* _find_next_separator(char* start,char separator);
+static char* _find_next_separator_twice(char*start,char separator);
+static char _hexcharhelper(char c);
+static int _inline_unescape (char* string);
+static double rrd_fetch_dbi_double(dbi_result *result,int idx);
+static long rrd_fetch_dbi_long(dbi_result *result,int idx);
 
 /* the real code */
 
 /* helpers to get correctly converted values from DB*/
-long rrd_fetch_dbi_long(dbi_result *result,int idx) {
+static long rrd_fetch_dbi_long(dbi_result *result,int idx) {
   char *ptmp="";
   long value=DNAN;
   /* get the attributes for this filed */
@@ -87,7 +87,7 @@ long rrd_fetch_dbi_long(dbi_result *result,int idx) {
   return value;
 }
 
-double rrd_fetch_dbi_double(dbi_result *result,int idx) {
+static double rrd_fetch_dbi_double(dbi_result *result,int idx) {
   char *ptmp="";
   double value=DNAN;
   /* get the attributes for this filed */
@@ -144,7 +144,7 @@ double rrd_fetch_dbi_double(dbi_result *result,int idx) {
   return value;
 }
 
-void _sql_close(struct sql_table_helper* th) {
+static void _sql_close(struct sql_table_helper* th) {
   /* close only if connected */
   if (th->conn) {
     if (getenv("RRDDEBUGSQL")) { fprintf(stderr,"RRDDEBUGSQL: %li: close connection\n",time(NULL) ); }
@@ -158,7 +158,7 @@ void _sql_close(struct sql_table_helper* th) {
   }
 }
 
-int _sql_setparam(struct sql_table_helper* th,char* key, char* value) {
+static int _sql_setparam(struct sql_table_helper* th,char* key, char* value) {
   char* dbi_errstr=NULL;
   dbi_driver driver;
   /* if not connected */
@@ -200,7 +200,7 @@ int _sql_setparam(struct sql_table_helper* th,char* key, char* value) {
   return 0;
 }
 
-int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered) {
+static int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered) {
   char* dbi_errstr=NULL;
   char sql[10240];
   time_t startt=0,endt=0;
@@ -269,7 +269,7 @@ int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *va
   return 1;
 }
 
-char* _find_next_separator(char* start,char separator) {
+static char* _find_next_separator(char* start,char separator) {
   char* found=strchr(start,separator);
   /* have we found it */
   if (found) {
@@ -282,7 +282,7 @@ char* _find_next_separator(char* start,char separator) {
   return NULL;
 }
 
-char* _find_next_separator_twice(char*start,char separator) {
+static char* _find_next_separator_twice(char*start,char separator) {
   char *found=start;
   /* find next separator in string*/
   while (found) {
@@ -300,7 +300,7 @@ char* _find_next_separator_twice(char*start,char separator) {
   return NULL;
 }
 
-char _hexcharhelper(char c) {
+static char _hexcharhelper(char c) {
   switch (c) {
   case '0': return 0 ; break;
   case '1': return 1 ; break;
@@ -328,7 +328,7 @@ char _hexcharhelper(char c) {
   return -1;
 }
 
-int _inline_unescape (char* string) {
+static int _inline_unescape (char* string) {
   char *src=string;
   char *dst=string;
   char c,h1,h2;
@@ -341,9 +341,15 @@ int _inline_unescape (char* string) {
       } else {
  /* try to calculate hex value from the next 2 values*/
  h1=_hexcharhelper(*src);
- if (h1<0) { rrd_set_error( "string escape error at: %s\n",string);return(1); }
+ if (h1 == (char)-1) {
+  rrd_set_error("string escape error at: %s\n",string);
+  return(1);
+ }
  h2=_hexcharhelper(*(src+1));
- if (h2<0) { rrd_set_error( "string escape error at: %s\n",string);return(1); }
+ if (h1 == (char)-1) {
+  rrd_set_error("string escape error at: %s\n",string);
+  return(1);
+ }
  c=h2+(h1<<4);
  /* increase src pointer by 2 skiping 2 chars */
  src+=2;
@@ -358,8 +364,8 @@ int _inline_unescape (char* string) {
 
 int
 rrd_fetch_fn_libdbi(
-    char           *filename,  /* name of the rrd */
-    enum cf_en     cf_idx,     /* which consolidation function ?*/
+    const char     *filename,  /* name of the rrd */
+    enum cf_en     cf_idx __attribute__((unused)), /* consolidation function */
     time_t         *start,
     time_t         *end,       /* which time frame do you want ?
         * will be changed to represent reality */
diff --git a/program/src/rrd_tool.h b/program/src/rrd_tool.h
index c1c9728..47d231d 100644
--- a/program/src/rrd_tool.h
+++ b/program/src/rrd_tool.h
@@ -94,7 +94,7 @@ extern    "C" {
 
 
 #ifdef HAVE_LIBDBI
-int rrd_fetch_fn_libdbi(char *filename, enum cf_en cf_idx,
+int rrd_fetch_fn_libdbi(const char *filename, enum cf_en cf_idx,
  time_t *start,time_t *end,
  unsigned long *step,
  unsigned long *ds_cnt,
--
1.6.4.rc1



_______________________________________________
rrd-developers mailing list
rrd-developers@...
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers

signature.asc (204 bytes) Download Attachment

Re: [PATCH] rrd_fetch_libdbi: Fixed some compiler warnings.

by Tobias Oetiker-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Sebastian,

it's in. thanks tobi

Friday Sebastian Harl wrote:

> While at it, declared some private helper functions as static.
> ---
>  program/src/rrd_fetch_libdbi.c |   50 ++++++++++++++++++++++-----------------
>  program/src/rrd_tool.h         |    2 +-
>  2 files changed, 29 insertions(+), 23 deletions(-)
>
> diff --git a/program/src/rrd_fetch_libdbi.c b/program/src/rrd_fetch_libdbi.c
> index ad9a766..0e8bc93 100644
> --- a/program/src/rrd_fetch_libdbi.c
> +++ b/program/src/rrd_fetch_libdbi.c
> @@ -17,20 +17,20 @@ struct sql_table_helper {
>  };
>
>  /* the prototypes */
> -void _sql_close(struct sql_table_helper* th);
> -int _sql_setparam(struct sql_table_helper* th,char* key, char* value);
> -int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered);
> -char* _find_next_separator(char* start,char separator);
> -char* _find_next_separator_twice(char*start,char separator);
> -char _hexcharhelper(char c);
> -int _inline_unescape (char* string);
> -double rrd_fetch_dbi_double(dbi_result *result,int idx);
> -long rrd_fetch_dbi_long(dbi_result *result,int idx);
> +static void _sql_close(struct sql_table_helper* th);
> +static int _sql_setparam(struct sql_table_helper* th,char* key, char* value);
> +static int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered);
> +static char* _find_next_separator(char* start,char separator);
> +static char* _find_next_separator_twice(char*start,char separator);
> +static char _hexcharhelper(char c);
> +static int _inline_unescape (char* string);
> +static double rrd_fetch_dbi_double(dbi_result *result,int idx);
> +static long rrd_fetch_dbi_long(dbi_result *result,int idx);
>
>  /* the real code */
>
>  /* helpers to get correctly converted values from DB*/
> -long rrd_fetch_dbi_long(dbi_result *result,int idx) {
> +static long rrd_fetch_dbi_long(dbi_result *result,int idx) {
>    char *ptmp="";
>    long value=DNAN;
>    /* get the attributes for this filed */
> @@ -87,7 +87,7 @@ long rrd_fetch_dbi_long(dbi_result *result,int idx) {
>    return value;
>  }
>
> -double rrd_fetch_dbi_double(dbi_result *result,int idx) {
> +static double rrd_fetch_dbi_double(dbi_result *result,int idx) {
>    char *ptmp="";
>    double value=DNAN;
>    /* get the attributes for this filed */
> @@ -144,7 +144,7 @@ double rrd_fetch_dbi_double(dbi_result *result,int idx) {
>    return value;
>  }
>
> -void _sql_close(struct sql_table_helper* th) {
> +static void _sql_close(struct sql_table_helper* th) {
>    /* close only if connected */
>    if (th->conn) {
>      if (getenv("RRDDEBUGSQL")) { fprintf(stderr,"RRDDEBUGSQL: %li: close connection\n",time(NULL) ); }
> @@ -158,7 +158,7 @@ void _sql_close(struct sql_table_helper* th) {
>    }
>  }
>
> -int _sql_setparam(struct sql_table_helper* th,char* key, char* value) {
> +static int _sql_setparam(struct sql_table_helper* th,char* key, char* value) {
>    char* dbi_errstr=NULL;
>    dbi_driver driver;
>    /* if not connected */
> @@ -200,7 +200,7 @@ int _sql_setparam(struct sql_table_helper* th,char* key, char* value) {
>    return 0;
>  }
>
> -int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered) {
> +static int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *value,int ordered) {
>    char* dbi_errstr=NULL;
>    char sql[10240];
>    time_t startt=0,endt=0;
> @@ -269,7 +269,7 @@ int _sql_fetchrow(struct sql_table_helper* th,time_t *timestamp, rrd_value_t *va
>    return 1;
>  }
>
> -char* _find_next_separator(char* start,char separator) {
> +static char* _find_next_separator(char* start,char separator) {
>    char* found=strchr(start,separator);
>    /* have we found it */
>    if (found) {
> @@ -282,7 +282,7 @@ char* _find_next_separator(char* start,char separator) {
>    return NULL;
>  }
>
> -char* _find_next_separator_twice(char*start,char separator) {
> +static char* _find_next_separator_twice(char*start,char separator) {
>    char *found=start;
>    /* find next separator in string*/
>    while (found) {
> @@ -300,7 +300,7 @@ char* _find_next_separator_twice(char*start,char separator) {
>    return NULL;
>  }
>
> -char _hexcharhelper(char c) {
> +static char _hexcharhelper(char c) {
>    switch (c) {
>    case '0': return 0 ; break;
>    case '1': return 1 ; break;
> @@ -328,7 +328,7 @@ char _hexcharhelper(char c) {
>    return -1;
>  }
>
> -int _inline_unescape (char* string) {
> +static int _inline_unescape (char* string) {
>    char *src=string;
>    char *dst=string;
>    char c,h1,h2;
> @@ -341,9 +341,15 @@ int _inline_unescape (char* string) {
>        } else {
>   /* try to calculate hex value from the next 2 values*/
>   h1=_hexcharhelper(*src);
> - if (h1<0) { rrd_set_error( "string escape error at: %s\n",string);return(1); }
> + if (h1 == (char)-1) {
> +  rrd_set_error("string escape error at: %s\n",string);
> +  return(1);
> + }
>   h2=_hexcharhelper(*(src+1));
> - if (h2<0) { rrd_set_error( "string escape error at: %s\n",string);return(1); }
> + if (h1 == (char)-1) {
> +  rrd_set_error("string escape error at: %s\n",string);
> +  return(1);
> + }
>   c=h2+(h1<<4);
>   /* increase src pointer by 2 skiping 2 chars */
>   src+=2;
> @@ -358,8 +364,8 @@ int _inline_unescape (char* string) {
>
>  int
>  rrd_fetch_fn_libdbi(
> -    char           *filename,  /* name of the rrd */
> -    enum cf_en     cf_idx,     /* which consolidation function ?*/
> +    const char     *filename,  /* name of the rrd */
> +    enum cf_en     cf_idx __attribute__((unused)), /* consolidation function */
>      time_t         *start,
>      time_t         *end,       /* which time frame do you want ?
>          * will be changed to represent reality */
> diff --git a/program/src/rrd_tool.h b/program/src/rrd_tool.h
> index c1c9728..47d231d 100644
> --- a/program/src/rrd_tool.h
> +++ b/program/src/rrd_tool.h
> @@ -94,7 +94,7 @@ extern    "C" {
>
>
>  #ifdef HAVE_LIBDBI
> -int rrd_fetch_fn_libdbi(char *filename, enum cf_en cf_idx,
> +int rrd_fetch_fn_libdbi(const char *filename, enum cf_en cf_idx,
>   time_t *start,time_t *end,
>   unsigned long *step,
>   unsigned long *ds_cnt,
>

--
Tobi Oetiker, OETIKER+PARTNER AG, Aarweg 15 CH-4600 Olten, Switzerland
http://it.oetiker.ch tobi@... ++41 62 775 9902 / sb: -9900

_______________________________________________
rrd-developers mailing list
rrd-developers@...
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-developers