MT#55283 use g_auto for FILE and DIR

Change-Id: I716a272e044141ed21babcfbab4b1bbb08f78a22
pull/1770/head
Richard Fuchs 1 year ago
parent 734ef1f6b7
commit a75a828b4e

@ -207,6 +207,9 @@ static bool do_cpu_stats = false;
static bool do_thread_stats = false;
G_DEFINE_AUTOPTR_CLEANUP_FUNC(FILE, fclose)
G_DEFINE_AUTOPTR_CLEANUP_FUNC(DIR, closedir)
static pthread_t thread_new(const char *name, void *(*fn)(void *), void *p) {
@ -988,19 +991,6 @@ static void time_bar(const struct stats *stats, int line, int x, int breadth, in
}
static void fclose_p(FILE **p) {
if (!*p)
return;
fclose(*p);
}
static void closedir_p(DIR **p) {
if (!*p)
return;
closedir(*p);
}
static bool thread_collect(pid_t pid, struct stats *outp, struct stats_sample *sample,
char comm_out[COMM_SIZE])
{
@ -1009,7 +999,7 @@ static bool thread_collect(pid_t pid, struct stats *outp, struct stats_sample *s
g_autoptr(char) fn
= g_strdup_printf("/proc/%i/task/%i/stat", (int) pid, (int) pid);
AUTO_CLEANUP(FILE *fp, fclose_p) = fopen(fn, "r");
g_autoptr(FILE) fp = fopen(fn, "r");
if (!fp)
return false;
@ -1107,7 +1097,7 @@ static void worker_stats(struct worker *w, int idx, int starty, int height, int
static bool cpu_collect(GQueue *outp, struct stats *totals) {
AUTO_CLEANUP(FILE *fp, fclose_p) = fopen("/proc/stat", "r");
g_autoptr(FILE) fp = fopen("/proc/stat", "r");
if (!fp)
return false;
@ -1213,7 +1203,7 @@ static int other_threads_collect(const bool do_output, int starty, int maxy, int
struct stats *totals)
{
g_autoptr(char) dn = g_strdup_printf("/proc/%u/task", getpid());
AUTO_CLEANUP(DIR *dp, closedir_p) = opendir(dn);
g_autoptr(DIR) dp = opendir(dn);
if (!dp)
return starty;
@ -1653,7 +1643,7 @@ static void *cpu_freq_monitor(void *p) {
struct freq_stats iter_stats = {0};
{
AUTO_CLEANUP(DIR *dp, closedir_p) = opendir("/sys/devices/system/cpu/cpufreq");
g_autoptr(DIR) dp = opendir("/sys/devices/system/cpu/cpufreq");
if (!dp)
break; // bail out
@ -1666,7 +1656,7 @@ static void *cpu_freq_monitor(void *p) {
g_autoptr(char) fn
= g_strdup_printf("/sys/devices/system/cpu/cpufreq/%s/scaling_cur_freq",
ent->d_name);
AUTO_CLEANUP(FILE *fp, fclose_p) = fopen(fn, "r");
g_autoptr(FILE) fp = fopen(fn, "r");
if (!fp)
continue; // ignore

Loading…
Cancel
Save