[systemd-devel] [PATCH 3/3] bootchart: use _cleanup_fclose_

Lennart Poettering lennart at poettering.net
Thu Mar 7 07:10:26 PST 2013


On Thu, 07.03.13 08:52, harald at redhat.com (harald at redhat.com) wrote:

> From: Harald Hoyer <harald at redhat.com>

Applied all three! Thanks!
> 
> ---
>  src/bootchart/log.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/src/bootchart/log.c b/src/bootchart/log.c
> index 43999f2..ccec03f 100644
> --- a/src/bootchart/log.c
> +++ b/src/bootchart/log.c
> @@ -57,7 +57,7 @@ double gettime_ns(void)
>  
>  void log_uptime(void)
>  {
> -        FILE *f;
> +        FILE _cleanup_fclose_ *f = NULL;
>          char str[32];
>          double uptime;
>  
> @@ -65,11 +65,9 @@ void log_uptime(void)
>  
>          if (!f)
>                  return;
> -        if (!fscanf(f, "%s %*s", str)) {
> -                fclose(f);
> +        if (!fscanf(f, "%s %*s", str))
>                  return;
> -        }
> -        fclose(f);
> +
>          uptime = strtod(str, NULL);
>  
>          log_start = gettime_ns();
> @@ -120,7 +118,6 @@ void log_sample(int sample)
>  {
>          static int vmstat;
>          static int schedstat;
> -        FILE *st;
>          char buf[4095];
>          char key[256];
>          char val[256];
> @@ -253,6 +250,7 @@ schedstat_next:
>  
>                  /* end of our LL? then append a new record */
>                  if (ps->pid != pid) {
> +                        FILE _cleanup_fclose_ *st = NULL;
>                          char t[32];
>                          struct ps_struct *parent;
>  
> @@ -320,10 +318,8 @@ schedstat_next:
>                          if (!st)
>                                  continue;
>                          if (!fscanf(st, "%*s %*s %*s %i", &p)) {
> -                                fclose(st);
>                                  continue;
>                          }
> -                        fclose(st);
>                          ps->ppid = p;
>  
>                          /*


Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list