* Bharata B Rao <[email protected]> [2009-04-06 13:13:14]:
> Fix a few compilation warnings in api.c
>
> gcc -DHAVE_CONFIG_H -I. -I.. -I../include -g -O2 -Wall -MT api.lo -MD -MP -MF
> .deps/api.Tpo -c api.c -fPIC -DPIC -o .libs/api.o
> api.c:52:1: warning: "VERSION" redefined
> In file included from ./libcgroup-internal.h:21,
> from api.c:31:
> ../config.h:129:1: warning: this is the location of the previous definition
> api.c: In function 'cgroup_parse_rules':
> api.c:353: warning: implicit declaration of function 'isblank'
> api.c: In function 'cgroup_modify_cgroup':
> api.c:1073: warning: implicit declaration of function 'asprintf'
> api.c: In function 'cg_read_stat':
> api.c:2340: warning: implicit declaration of function 'getline'
> api.c:2338: warning: 'saveptr' may be used uninitialized in this function
>
> This patch fixes the warning arising due to isblank, asprintf, getline
> and saveptr above.
>
> Signed-off-by: Bharata B Rao <[email protected]>
> ---
> src/api.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> --- a/src/api.c
> +++ b/src/api.c
> @@ -25,6 +25,10 @@
> * for mistakes in APIs for reading statistics.
> */
>
> +#ifndef _GNU_SOURCE
> +#define _GNU_SOURCE
> +#endif
> +
> #include <dirent.h>
> #include <errno.h>
> #include <libcgroup.h>
> @@ -2335,7 +2339,7 @@ int cg_read_stat(FILE *fp, struct cgroup
> char *line = NULL;
> size_t len = 0;
> ssize_t read;
> - char *token, *saveptr;
> + char *token, *saveptr = NULL;
>
I am not convinced about this part? Why do we need to initialize
saveptr to NULL? Look at another place where we use savedptr for
strtok_r and get no warnings. It could mean one of two things
1. gcc is confused
2. The code has a subtle problem
I would doubt (1), but I have no way of proving it at the moment.
> read = getline(&line, &len, fp);
> if (read == -1)
>
--
Balbir
------------------------------------------------------------------------------
_______________________________________________
Libcg-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libcg-devel