library: provide ref and unref for diskstat

While procps_diskstat_ref and procps_diskstat_unref were declared
they actually weren't implemented in the library. Linking some
binary that used these functions gave the following errors:

  CCLD     vmstat
vmstat.o: In function `disksum_format':
vmstat.c:719: undefined reference to `procps_diskstat_unref'
vmstat.o: In function `diskformat':
vmstat.c:591: undefined reference to `procps_diskstat_unref'
This commit is contained in:
Craig Small 2016-05-01 16:15:49 +10:00
parent 2dfab56755
commit 222945c672

View File

@ -226,6 +226,29 @@ PROCPS_EXPORT int procps_diskstat_read (
return 0;
}
PROCPS_EXPORT int procps_diskstat_ref (
struct procps_diskstat *info)
{
if (info == NULL)
return -EINVAL;
info->refcount++;
return info->refcount;
}
PROCPS_EXPORT int procps_diskstat_unref (
struct procps_diskstat **info)
{
if (info == NULL || *info == NULL)
return -EINVAL;
(*info)->refcount--;
if ((*info)->refcount == 0) {
free(*info);
*info = NULL;
return 0;
}
return (*info)->refcount;
}
/*
* procps_diskstat_dev_count:
*