iHandle errors in fscanf and fread. - energy - measure energy usage Err bitreich.org 70
hgit clone git://bitreich.org/energy git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/energy URL:git://bitreich.org/energy git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/energy bitreich.org 70
1Log /scm/energy/log.gph bitreich.org 70
1Files /scm/energy/files.gph bitreich.org 70
1Refs /scm/energy/refs.gph bitreich.org 70
1Tags /scm/energy/tag bitreich.org 70
1README /scm/energy/file/README.md.gph bitreich.org 70
1LICENSE /scm/energy/file/LICENSE.gph bitreich.org 70
i--- Err bitreich.org 70
1commit 3b9da8cb1c2fcacd4570f25d02194124e526caa2 /scm/energy/commit/3b9da8cb1c2fcacd4570f25d02194124e526caa2.gph bitreich.org 70
1parent 94c96ddd16d2012cdaaef649903e8fcc663a9296 /scm/energy/commit/94c96ddd16d2012cdaaef649903e8fcc663a9296.gph bitreich.org 70
hAuthor: Christoph Lohmann <20h@r-36.net> URL:mailto:20h@r-36.net bitreich.org 70
iDate: Thu, 24 Aug 2023 15:24:43 +0200 Err bitreich.org 70
i Err bitreich.org 70
iHandle errors in fscanf and fread. Err bitreich.org 70
i Err bitreich.org 70
iDiffstat: Err bitreich.org 70
i M energy.c | 10 ++++++++-- Err bitreich.org 70
i Err bitreich.org 70
i1 file changed, 8 insertions(+), 2 deletions(-) Err bitreich.org 70
i--- Err bitreich.org 70
1diff --git a/energy.c b/energy.c /scm/energy/file/energy.c.gph bitreich.org 70
i@@ -55,7 +55,10 @@ long long_from_file(const char *fname) { Err bitreich.org 70
i return -1; Err bitreich.org 70
i } else { Err bitreich.org 70
i long x; Err bitreich.org 70
i- fscanf(f, "%ld", &x); Err bitreich.org 70
i+ if (fscanf(f, "%ld", &x) < 0) { Err bitreich.org 70
i+ fprintf(stderr, "%s: %s\n", fname, strerror(errno)); Err bitreich.org 70
i+ return -1; Err bitreich.org 70
i+ } Err bitreich.org 70
i fclose(f); Err bitreich.org 70
i return x; Err bitreich.org 70
i } Err bitreich.org 70
i@@ -118,7 +121,10 @@ void sensor_battery(void) { Err bitreich.org 70
i } Err bitreich.org 70
i } else { Err bitreich.org 70
i char buf[128]; Err bitreich.org 70
i- fread(buf, 1, sizeof(buf), f); Err bitreich.org 70
i+ if (fread(buf, 1, sizeof(buf), f) < 1) { Err bitreich.org 70
i+ fprintf(stderr, "%s: %s\n", battery_status, strerror(errno)); Err bitreich.org 70
i+ return; Err bitreich.org 70
i+ } Err bitreich.org 70
i const char discharging[] = "Discharging"; Err bitreich.org 70
i // Measurement of battery discharge is only meaningful if the Err bitreich.org 70
i // battery is actually discharging. Err bitreich.org 70
.
Response:
text/plain